!How do I declare/create a hypergraph applet in a tiddler? \nBy entering the following html code into your tiddler.\n\n{{{<html><div><h1>Loading tiddlerMap.xml in menuApplet</h1><applet class="sitemap" align="baseline" code="hypergraph.applications.hexplorer.HExplorerApplet.class" name = "menuApplet" archive="./common/hyperapplet-0.6.3.jar" width="500" height="200"><param name="file" value="tiddlerMap.xml"></applet></div></html>}}}|\n----\n!!Details\nDeclare the Java Applet object.\n{{{\n<applet ...></applet>\n}}}\nThere are a number of properties that can be set for a Java Applet. See [[HTML 4.01 Applet Tag|http://www.w3schools.com/tags/tag_applet.asp]]. \n\n!!!Applet tag attributes\nDefines ?\n{{{\nclass="sitemap"\n}}}\n----\nDefines the text alignment around the applet.\n{{{\nalign="baseline"\n}}}\n----\nDefines the applet class to use. This example is for hypergraph 0.6.3.\n{{{\ncode="hypergraph.applications.hexplorer.HExplorerApplet.class"\n}}}\n----\nDefines the unique name of the applet within the document. It is used as a reference within the hypergraph macros.\n{{{\nname = "menuApplet"\n}}}\n----\nDefines the relative or absolute path to hyperapplet jar file. This is used to create hypergraph object in the browser. The browser must have Java enabled.\n{{{\narchive="./common/hyperapplet-0.6.3.jar"\n}}}\n----\nDisplay width and height of resulting hypergraph object.\n{{{\nwidth="500" height="200"\n}}}\n----\nFile parameter for hypergraph object. This is the graph XML file that is loaded in the applet.\n{{{\n<param name="file" value="tiddlerMap.xml">\n}}}
!!Download Information\nDownload package [[hypergraph-213.zip|/download/hypergraph-213.zip]] including TiddlyWiki 2.1.3, hypergraph jar files and xml files.\nPackage contents consists of the following files and directories\n|-twhypergraph.html\n|\n|-''common'' \n| |-GraphXML.dtd\n| |-hyperapplet-0.6.3.jar\n|\n|-''graphs'' \n| |-DemoGraph.xml\n| |-hypergraphSitemap.xml\n| |-hypergraphSitemapModified.xml\n| |-orga-rub.xml\n| |-tiddlerMap.xml\n| |-tiddlerMapDefault.xml\n| |-tiddlerMapReal.xml\n|\n|-''images'' \n| |-point.gif\n| |-tab_b.gif\n| |-tab_l.gif\n| |-tab_r.gif
List of extensions:\n|!Macros |<<list tagged .macro>>|\n|!Plug-ins |<<list tagged .plugin>>|\n\n!Macros\n!![[_GetPluginInfo]]\n''Version:'' <<getPlugin _GetPluginInfo>> (<<getPlugin _GetPluginInfo date>>) \n''Author:'' <<getPlugin _GetPluginInfo author>>\n''Source:'' <<getPlugin _GetPluginInfo code>>\n''Documentation:'' <<getPlugin _GetPluginInfo doc>>\n''Summary:'' <<getPlugin _GetPluginInfo summary>>\n!!!Description\n<<getPlugin _GetPluginInfo description>>\n----\n!![[_ListMacroExtension]]\n''Version:'' <<getPlugin _ListMacroExtension>> (<<getPlugin _ListMacroExtension date>>) \n''Author:'' <<getPlugin _ListMacroExtension author>>\n''Source:'' <<getPlugin _ListMacroExtension code>>\n''Documentation:'' <<getPlugin _ListMacroExtension doc>>\n''Summary:'' <<getPlugin _ListMacroExtension summary>>\n!!!Description\n<<getPlugin _ListMacroExtension description>> \n----\n!![[_MessageLibrary]]\n''Version:'' <<getPlugin _MessageLibrary>> (<<getPlugin _MessageLibrary date>>) \n''Author:'' <<getPlugin _MessageLibrary author>>\n''Source:'' <<getPlugin _MessageLibrary code>>\n''Documentation:'' <<getPlugin _MessageLibrary doc>>\n''Summary:'' <<getPlugin _MessageLibrary summary>>\n!!!Description\n<<getPlugin _MessageLibrary description>>\n----\n!Plug-ins\n!![[hypergraph]]\n''Version:'' <<getPlugin hypergraph>> (<<getPlugin hypergraph date>>) \n''Author:'' <<getPlugin hypergraph author>>\n''Source:'' <<getPlugin hypergraph code>>\n''Documentation:'' <<getPlugin hypergraph doc>>\n''Summary:'' <<getPlugin hypergraph summary>>\n!!!Description\n<<getPlugin hypergraph description>> \nDownload the following packages including relevant Tiddlywiki version file, jar files and xml files.\n|TiddlyWiki Version |Download Package |h\n|2.0.6 |[[hypergraph.zip|/download/hypergraph.zip]] |\n|2.1.3 |[[hypergraph-213.zip|/download/hypergraph-213.zip]]|\n
!Tips\n* Once the hypergraph applet has loaded, select it by clicking the left mouse button and drag it around to see what tiddlers the tiddly wiki contains.\n* Left click on a node to either bring it to the center or open the relevant tiddler.\n* If you lose your hypergraph, then click on the <<hypergraph centre>> button to centre on the "Home" node.\n\n!How do I ...\n|Question |Answer |h\n|How do I reload an applet in a tiddler? |Close and re-open the tiddler that contains the applet.|\n|How do I ensure an applet has been loaded before trying to use the hypergraph macros? |Apart from applets loaded used in PageTemplate like the ''mainMenuApplet'' in [[menuGraph]], put the relevant hypergraph macros (centre, info etc) in same tiddler as the applet otherwise it causes an applet error. See HypergraphSamples for examples. |\n|How do I declare/create a hypergraph applet in a tiddler? |See CreateHypergraphTiddler for details. |\n|How do I disable the date, tiddler, tag and/or author nodes in the map? |Select the nodes you want to generate in [[hyperGraphOptions]] and save new XML file. |\n|How do I update the navigation map on a remote server? |In progress ... |\n|How do I load an applet from a macro? |In progress ... |\n|How do I display tiddler details in a hypergraph? |In progress ... |
<html><div><applet class='sitemap' align='baseline' code='hypergraph.applications.hexplorer.HExplorerApplet.class' name = 'mainMenuApplet' archive='./common/hyperapplet-0.6.3.jar' width='400' height='200'> <param name='file' value='./graphs/tiddlerMapReal.xml'></applet></div></html>\n|Hypergraph xml file | Description |h\n|./graphs/tiddlerMap.xml |Default Tiddler Hypergraph map |\n|./graphs/DemoGraph.xml |Demo hypergraph map that shows most features. |\n|./graphs/hypergraphSitemap.xml |Hypergraph site map. |\n|./graphs/hypergraphSitemapModified.xml |Modified Hypergraph site map. |\n|./graphs/orga-rub.xml |Demo hypergraph map for an organsition structure. |\n|./graphs/tiddlerMapDefault.xml |Starter Tiddler Hypergraph map |\n|./graphs/tiddlerMapReal.xml |Tiddler Hypergraph map example |
!Summary\nConsists of the tiddlers listed in the tagging box. All these need to be imported to use the ''Hypergraph'' mapping extension.\n[img[../images/hypergraph1.gif][HyperTiddlyWiki]]\n\n!Details\n* [[hypergraph]] for the code to reduce the amount of text imported.\n* [[hypergraphDoc]] installation and configuration details.\n* [[hypergraphFull]] has the code, installation and configuration details in one tiddler.\n* PageTemplate contains [[menuGraph]] div.\n* HypergraphInfo shows the main menu graph and details the graph XML files in the graphs directory.\n* HypergraphFAQ for information.\n* HypergraphSamples for examples of defining applets and using the macros.\n\n!Download\nDownloadHyperGraph contains the link to the download package and details the contents of the package.\n
<html>\n<div>\n <h1>Loading tiddlerMap.xml in menuApplet</h1>\n <applet \n class="sitemap"\n align="baseline"\n code="hypergraph.applications.hexplorer.HExplorerApplet.class"\n name = "menuApplet"\n archive="./common/hyperapplet-0.6.3.jar"\n width="500" \n height="200">\n <param name="file" value="./graphs/tiddlerMap.xml">\n </applet>\n</div>\n</html>\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph info menuApplet>>}}} |<<hypergraph info menuApplet>> |Displays the number of nodes and graphs the loaded ''menuApplet'' hypergraph applet |\n|{{{<<hypergraph centre menuApplet>>}}} |<<hypergraph centre menuApplet>> | Centres the loaded ''menuApplet'' hypergraph applet to root node(Home). You may notice this is the same graph XML that is used for the main menu graph. Try moving the graph around and then click on the centre button and watch it move. |\n----\n<html>\n<div>\n <h1>Loading hypergraphSitemap.xml in hyperApplet</h1>\n <applet \n class="sitemap"\n align="baseline"\n code="hypergraph.applications.hexplorer.HExplorerApplet.class"\n name = "hyperApplet"\n archive="./common/hyperapplet-0.6.3.jar"\n width="400" \n height="400">\n <param name="file" value="./graphs/hypergraphSitemap.xml">\n </applet>\n</div>\n<div>\n <h1>Loading DemoGraph.xml in demoApplet</h1>\n <applet \n class="sitemap"\n align="baseline"\n code="hypergraph.applications.hexplorer.HExplorerApplet.class"\n name = "demoApplet"\n archive="./common/hyperapplet-0.6.3.jar"\n width="400" \n height="400">\n <param name="file" value="./graphs/DemoGraph.xml">\n </applet>\n</div>\n<div>\n <h1>Loading orga-rub.xml in orgApplet</h1>\n <applet \n class="sitemap"\n align="baseline"\n code="hypergraph.applications.hexplorer.HExplorerApplet.class"\n name = "orgApplet"\n archive="./common/hyperapplet-0.6.3.jar"\n width="400" \n height="400">\n <param name="file" value="./graphs/orga-rub.xml">\n </applet>\n</div>\n</html>\n----\n!Centre macro\nCreates a button that can be used in menus e.g. MainMenu or SideBarOptions\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph centre>>}}} |<<hypergraph centre>> |Centres the loaded ''mainMenuGraph'' hypergraph applet to root node(Home) |\n|{{{<<hypergraph centre hyperApplet>>}}} |<<hypergraph centre hyperApplet>> |Centres the loaded ''hyperApplet'' hypergraph applet to root node |\n|{{{<<hypergraph centre demoApplet>>}}} |<<hypergraph centre demoApplet>> |Centres the loaded ''demoApplet'' hypergraph applet to root node |\n|{{{<<hypergraph centre orgApplet>>}}} |<<hypergraph centre orgApplet>> |Centres the loaded ''orgApplet'' hypergraph applet to root node |\n----\n!Info macro\nOutputs results into the current tiddler.\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph info>>}}} |<<hypergraph info>> |Displays the number of nodes and graphs the loaded ''mainMenuGraph'' hypergraph applet |\n|{{{<<hypergraph info hyperApplet>>}}} |<<hypergraph info hyperApplet>> |Displays the number of nodes and graphs the loaded ''hyperApplet'' hypergraph applet |\n|{{{<<hypergraph info demoApplet>>}}} |<<hypergraph info demoApplet>> |Displays the number of nodes and graphs the loaded ''demoApplet'' hypergraph applet |\n|{{{<<hypergraph info orgApplet>>}}} |<<hypergraph info orgApplet>> |Displays the number of nodes and graphs the loaded ''orgApplet'' hypergraph applet |\n----\n!Save hypergraph XML macro\nCreates a button that can be used in menus e.g. MainMenu or SideBarOptions\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph saveXML>>}}} |<<hypergraph saveXML>> |Generate and save the hypergraph XML that maps the current TiddlyWiki document. Refresh browser page to load generated file. |
!19 Feb 2007\nReleased hypergraph 2.1.1 - \n* Fixed xml generation issue where tiddler title has an apostrophe '' ' ''.\n* Changed tag line colour to green.\n* Added tiddlers to tags.\n\n!25 Jan 2007\nUpdated and released updated versions of macros and plugins for TiddlyWiki 2.1.3. See ExtensionDetails for summary.\nSee demo of [[HyperTiddlyWiki|./hypertiddlywiki/index.htm]] and DownloadHyperGraph.\n[img[../images/hypergraph1.gif][./hypertiddlywiki/index.htm]]
<script language="JavaScript">\n//document.write(displayCounter());\n</script>\n<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">\n</script>\n<script type="text/javascript">\n_uacct = "UA-1254577-1";\n_udn="dahukanna.net"; \nurchinTracker();\n</script>
<script language="JavaScript" type="text/JavaScript" src="/common/site.js">\n</script>
!Definition\nVisually map information in order to "navigate" through it.\n\nIt is a ''visual'' means that assists in efficiently \n1. Making abstract ideas and information tangible.\n2. Finding information within one or more relevant contexts(tags) in way that reflects my thoughts and ideas.\n3. Understanding the relationships (explicit and implied) between the pieces of information.\n\n!Background\nI got hooked on TiddlyWiki in Dec 2005 and have been playing with it ever since. I very quickly ended up with 8 different TiddlyWiki files (due to size and loading performance limitations) and got frustrated having to remember which file contained what I needed or spend time searching for information spread across these files. I usually use TiddlyWiki as a repository/map for my thoughts and ideas as opposed to just an information store.\n\nI have used Personal Brain mindmaps almost daily and have used hypergraph to visualise exported mindmaps in a browser to share with clients, as documentation for developers etc. So it was a natural progression to apply this visualisation concept to TiddlyWiki. Hence the concept of “navigation graphs” was born. \n\nThis is quite powerful for me as this is now moving into understanding and knowledge, not just collating, retaining and retrieving information. I can visually understand the meaning of the information without even having read the actual detail.\n\nMy ultimate goal would be the ability to visualise and easily share ideas in a simple and effective way.
TiddlyWiki is published under a BSD OpenSourceLicense that gives you the freedom to use it pretty much however you want, including for commercial purposes, as long as you keep my copyright notice. (You can see the full license text by doing a 'view source' in your browser). If you do use TiddlyWiki I'd appreciate a link back to http://www.tiddlywiki.com.
<div class='header' macro='gradient vert #8888ff #ddddff #ffffff'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n<!-- Added following div for [[headerOptions]] custom shadow tiddler -->\n<span id='headerOptions' refresh='content' tiddler='headerOptions'></span>\n<!-- Added following div for [[menuButtons]] tiddler with tabbed buttons -->\n<div id='menuButtons' refresh='content' tiddler='menuButtons'></div>\n</div>\n\n</div>\n</div>\n<!-- Added following div for hypergraph applet [[menuGraph]] custom shadow tiddler -->\n<div id='menuGraph' refresh='content' tiddler='menuGraph'></div>\n\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<!-- Added following div for [[contentFooter]] custom shadow tiddler with tabbed buttons -->\n<div id='contentFooter' refresh='content' tiddler='contentFooter'></div>
<!--{{{-->\n<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n\n<!-- Added following div for hypergraph applet [[menuGraph]] custom shadow tiddler -->\n<div id='menuGraph' refresh='content' tiddler='menuGraph'></div>\n\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<!--}}}-->
!!Page Layout\nCurrent page layout/grid controlled by PageTemplate.\nThe [[menuGraph]] ''shadow'' tiddler is created in the [[hypergraph]] plug-in and contains the hypergraph applet for the current TiddlyWiki.\n|>|header[headerShadow(SiteTitle), headerForeground(SiteSubtitle)], headerOptions([[headerOptions]]) messageArea|\n|>|menuButtons[([[menuButtons]])] |\n|>|menuGraph[([[menuGraph]])] |\n|displayArea [Bookmarks, tiddlerDisplay] |sidebar [sidebarOptions(SideBarOptions)] |\n|~|sidebar [sidebarTabs([[SideBarTabs]])] |\n\n!PageTemplate\n<<tiddler PageTemplate>>
!!Page Layout\nCurrent page layout/grid controlled by PageTemplate.\nThe [[menuGraph]] tiddler is created in the [[hypergraph]] plug-in and contains the hypergraph applet for the current TiddlyWiki.\n|>|>|header[headerShadow(SiteTitle), headerForeground(SiteSubtitle)} messageArea|\n|>|>|menuGraph[([[menuGraph]])] |\n|mainMenu(MainMenu) |displayArea[tiddlerDisplay] |sidebar [sidebarOptions(SideBarOptions)] |\n|~|~|sidebar [sidebarTabs([[SideBarTabs]])] |\n\n!PageTemplate\n<<tiddler PageTemplate>>
Welcome to [[TiddlyWiki|http://www.tiddlywiki.com/#TiddlyWiki]], a free [[MicroContent |http://www.tiddlywiki.com/#MicroContent]] [[WikiWikiWeb |http://www.tiddlywiki.com/#WikiWikiWeb]] created by JeremyRuston and a busy Community of independent developers. It's written in HTML, CSS and JavaScript to run on any modern browser without needing any [[ServerSide |http://www.tiddlywiki.com/#ServerSide]]logic. It allows anyone to create personal [[SelfContained |http://www.tiddlywiki.com/#SelfContained]] hypertext documents that can be posted to a WebServer, sent by email or kept on a USB thumb drive to make a WikiOnAStick. Because it doesn't need to be installed and configured it makes a great [[GuerillaWiki |http://www.tiddlywiki.com/#GuerillaWiki]]. This is revision <<version>> of TiddlyWiki and is published under an OpenSourceLicense.\n\n
/*\nYou can specify where you want the breadcrumbs to appear in your\nPageTemplate by adding this line:\n<div id='breadCrumbs'></div>\nOtherwise the plugin will create it for you as the first child of\ndisplayArea.\n*/\n//{{{\nvar crumbsToShow = 7;\nvar breadCrumbs = [];\n\nonClickTiddlerLink_orig_breadCrumbs = onClickTiddlerLink;\nonClickTiddlerLink = function(e)\n{\n onClickTiddlerLink_orig_breadCrumbs(e);\n breadcrumbsAdd(e);\n}\n\nfunction breadcrumbsAdd(e)\n{\n var uniqueCrumb = true;\n var crumbIndex = 0;\n if (!e) var e = window.event;\n var target = resolveTarget(e);\n var thisCrumb = "[[" + target.getAttribute("tiddlyLink") + "]]";\n var lastInactiveCrumb = breadCrumbs.length -(breadCrumbs.length <\ncrumbsToShow ? breadCrumbs.length : crumbsToShow);\n for(t=lastInactiveCrumb; t<breadCrumbs.length; t++)\n if(breadCrumbs[t] == thisCrumb) {\n uniqueCrumb = false;\n crumbIndex = t+1;\n }\n if(uniqueCrumb)\n breadCrumbs.push(thisCrumb);\n else\n breadCrumbs = breadCrumbs.slice(0,crumbIndex);\n breadcrumbsRefresh();\n}\n\nfunction breadcrumbsRefresh() {\n\n if (!document.getElementById("breadCrumbs")) {\n // Create breadCrumbs div\n var ca = document.createElement("div");\n ca.id = "breadCrumbs";\n ca.style.visibility= "hidden";\n var targetArea = document.getElementById("tiddlerDisplay");\n targetArea.parentNode.insertBefore(ca,targetArea);\n }\n\n var crumbArea = document.getElementById("breadCrumbs");\n crumbArea.style.visibility = "visible";\n removeChildren(crumbArea);\n createTiddlyButton(crumbArea,"Home",null,breadcrumbsClear);\n crumbArea.appendChild(document.createTextNode(" > "));\n\n var crumbLine = "";\n var crumbCount = breadCrumbs.length;\n var firstCrumb = crumbCount -(crumbCount < crumbsToShow ? crumbCount :\ncrumbsToShow);\n for(t=firstCrumb; t<crumbCount; t++) {\n if(t != firstCrumb)\n crumbLine += " > ";\n crumbLine += breadCrumbs[t];\n }\n wikify(crumbLine,crumbArea)\n}\n\nfunction breadcrumbsClear() {\n story.closeAllTiddlers();\n restart()\n breadCrumbs = [];\n breadcrumbsRefresh();\n}\n\n//}}}
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_getPluginInfo.js 435 2007-01-04 20:49:17Z dahukanna $\n===============================================================================\n----\n''Name:'' _GetPluginInfo\n''Summary:'' <<getPlugin _GetPluginInfo summary>>\n''Description:'' <<getPlugin _GetPluginInfo description>>\n''Version:'' <<getPlugin _GetPluginInfo>> \n''Date:'' <<getPlugin _GetPluginInfo date>>\n''Author:'' <<getPlugin _GetPluginInfo author>>\n''Source:'' <<getPlugin _GetPluginInfo code>>\n''Documentation:'' <<getPlugin _GetPluginInfo doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin _GetPluginInfo coreVersion>>\n----\n!Code\n***/\n//{{{\nversion.extensions._GetPluginInfo= {major: 2, minor: 1, revision: 0, date: new Date("Jan 2, 2007"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_GetPluginInfo", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_GetPluginInfoDoc", author: "DawnAhukanna dawn[at]dahukanna[dot]net", summary: "_GetPluginInfo for TiddlyWiki version 2.1.3 or above.", description: "Displays the following information - version, date, source and author about plugins in this collection using the ''version.extensions.[pluginName]'' attributes. All other plugins use this macro to display plugin details.", coreVersion: "2.1.0"};\nconfig.macros.getPlugin = {dateFormat: "DD MMM YYYY"}\nconfig.macros.getPlugin.handler = function(place,macroName,params){\n var pluginName = params[0]; //params[0]: pluginName (string) that matches with version.extensions.[pluginName] declaration.\n var pluginAttributeName = params[1]; //params[1]: Plugin info to retrieve e.g "date". If not supplied then "version" is supplied by default.\n var pluginAttribute="";\n \n switch (pluginAttributeName){\n case "author" :\n pluginAttribute = version.extensions[pluginName][pluginAttributeName];\n createTiddlyLink(createTiddlyElement(place,"span",null,null,null),pluginAttribute,true); \n break;\n case "code" :\n case "doc" :\n pluginAttribute = version.extensions[pluginName][pluginAttributeName];\n createTiddlyElement(place,"span",null,null,pluginAttribute);\n break;\n case "date" :\n pluginAttribute = version.extensions[pluginName][pluginAttributeName].formatString(this.dateFormat);\n case "summary" :\n case "description" :\n case "coreVersion" :\n if(pluginAttribute == ""){\n pluginAttribute = version.extensions[pluginName][pluginAttributeName];\n }\n createTiddlyElement(place,"span",null,null,pluginAttribute);\n break;\n default ://Display plugin version attribute\n pluginAttribute = version.extensions[pluginName].major + "." + version.extensions[pluginName].minor + "." + version.extensions[pluginName].revision;\n createTiddlyElement(place,"span",null,null,pluginAttribute);\n }\n}\n//}}}\n//----
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_getPluginInfo.js 435 2007-01-04 20:49:17Z dahukanna $\n===============================================================================\n----\n''Name:'' _GetPluginInfo\n''Summary:'' <<getPlugin _GetPluginInfo summary>>\n''Description:'' <<getPlugin _GetPluginInfo description>>\n''Version:'' <<getPlugin _GetPluginInfo>> \n''Date:'' <<getPlugin _GetPluginInfo date>>\n''Author:'' <<getPlugin _GetPluginInfo author>>\n''Source:'' <<getPlugin _GetPluginInfo code>>\n''Documentation:'' <<getPlugin _GetPluginInfo doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin _GetPluginInfo coreVersion>>\n----\n!Dependencies\n<<<\nNone\n<<<\n\n!Usage\n<<<\nDisplays the following information from plugins in this collection using the ''version.extensions.[pluginName]'' attributes: Currently all plugins have the following attributes:\n#version\n#date\n#code\n#doc\n#author.\n#summary.\n#description.\n#coreVersion.\n<<<\n\n!Installation\n<<<\nImport (or copy/paste) the following tiddler into your document:\n''_GetPluginInfo'' (tagged with <<tag systemConfig>>)\n<<<\n\n!Configuration\n<<<\n''Syntax''\n{{{\n<<getPlugin [pluginName] [attribute]>>\n}}}\nWhere ''[attribute]'' is the name of a plugin attribute. If none or an incorrect attribute is supplied, the ''version'' attribute is returned as default. The follwing are valid attributes: \n|Plugin attribute name |Description |h\n|''version'' |Version of plugin and also default attribute. |\n|''author'' |Author's name (in camel case) of plugin. |\n|''date'' |Release date of plugin. |\n|''code'' |URL for plugin code. |\n|''doc'' |URL for plugin documentation. |\n|''summary'' |Short description of plugin functionality. |\n|''description'' |Long description of plugin functionality. |\n|''coreVersion'' |TiddlyWiki version required. Interacts with plugin manager for dependencies. |\n\n''Examples''\n|Code |Result |h\n|{{{<<getPlugin _GetPluginInfo>>}}} |<<getPlugin _GetPluginInfo>>|\n|{{{<<getPlugin _GetPluginInfo code>>}}} |<<getPlugin _GetPluginInfo code>> |\n|{{{<<getPlugin _GetPluginInfo doc>>}}} |<<getPlugin _GetPluginInfo doc>> |\n|{{{<<getPlugin _GetPluginInfo date>>}}} |<<getPlugin _GetPluginInfo date>> |\n|{{{<<getPlugin _GetPluginInfo author>>}}} |<<getPlugin _GetPluginInfo author>> |\n|{{{<<getPlugin _GetPluginInfo version>>}}} |<<getPlugin _GetPluginInfo version>> |\n|{{{<<getPlugin _GetPluginInfo summary>>}}} |<<getPlugin _GetPluginInfo summary>> |\n|{{{<<getPlugin _GetPluginInfo description>>}}} |<<getPlugin _GetPluginInfo description>> |\n|{{{<<getPlugin _GetPluginInfo coreVersion>>}}} |<<getPlugin _GetPluginInfo coreVersion>> |\n<<<\n\n!Revision History\n<<<\n|Release |Date |Comments|h\n|2.1.0 |2 Jan 2007 |Updated and tested with version 2.1.3. Added ''code'', ''doc'', ''summary'', ''description'' and ''coreVersion'' attributes. Refactored the switch statment to use one code block for multiple cases.|\n|1.0.1 |12 Mar 2006 |Refactored the code to have one macro with multiple parameters. |\n|1.0.0 |12 Mar 2006 |Initial release |\n<<<\n\n!Known Issues\n<<<\nThis line of js code does not work - \n{{{\ndate: new Date(2007,1,2)\n}}}\n, had to use this instead - \n{{{\ndate: new Date("Jan 2, 2007")\n}}}\n<<<\n\n!To Do\n<<<\n#Sort out Javascript date issue. Update all dependent macros to use new date format.\n#Create wikified urls for code and doc attributes.\n<<<\n\n!Credits\n<<<\nThis extension was produced by DawnAhukanna.\n<<<
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_getPluginInfo.js 435 2007-01-04 20:49:17Z dahukanna $\n===============================================================================\n----\n''Name:'' _GetPluginInfo\n''Summary:'' <<getPlugin _GetPluginInfo summary>>\n''Description:'' <<getPlugin _GetPluginInfo description>>\n''Version:'' <<getPlugin _GetPluginInfo>> \n''Date:'' <<getPlugin _GetPluginInfo date>>\n''Author:'' <<getPlugin _GetPluginInfo author>>\n''Source:'' <<getPlugin _GetPluginInfo code>>\n''Documentation:'' <<getPlugin _GetPluginInfo doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin _GetPluginInfo coreVersion>>\n----\n!Dependencies\n<<<\nNone\n<<<\n\n!Usage\n<<<\nDisplays the following information from plugins in this collection using the ''version.extensions.[pluginName]'' attributes: Currently all plugins have the following attributes:\n#version\n#date\n#code\n#doc\n#author.\n#summary.\n#description.\n#coreVersion.\n<<<\n\n!Installation\n<<<\nImport (or copy/paste) the following tiddler into your document:\n''_GetPluginInfo'' (tagged with <<tag systemConfig>>)\n<<<\n\n!Configuration\n<<<\n''Syntax''\n{{{\n<<getPlugin [pluginName] [attribute]>>\n}}}\nWhere ''[attribute]'' is the name of a plugin attribute. If none or an incorrect attribute is supplied, the ''version'' attribute is returned as default. The follwing are valid attributes: \n|Plugin attribute name |Description |h\n|''version'' |Version of plugin and also default attribute. |\n|''author'' |Author's name (in camel case) of plugin. |\n|''date'' |Release date of plugin. |\n|''code'' |URL for plugin code. |\n|''doc'' |URL for plugin documentation. |\n|''summary'' |Short description of plugin functionality. |\n|''description'' |Long description of plugin functionality. |\n|''coreVersion'' |TiddlyWiki version required. Interacts with plugin manager for dependencies. |\n\n''Examples''\n|Code |Result |h\n|{{{<<getPlugin _GetPluginInfo>>}}} |<<getPlugin _GetPluginInfo>>|\n|{{{<<getPlugin _GetPluginInfo code>>}}} |<<getPlugin _GetPluginInfo code>> |\n|{{{<<getPlugin _GetPluginInfo doc>>}}} |<<getPlugin _GetPluginInfo doc>> |\n|{{{<<getPlugin _GetPluginInfo date>>}}} |<<getPlugin _GetPluginInfo date>> |\n|{{{<<getPlugin _GetPluginInfo author>>}}} |<<getPlugin _GetPluginInfo author>> |\n|{{{<<getPlugin _GetPluginInfo version>>}}} |<<getPlugin _GetPluginInfo version>> |\n|{{{<<getPlugin _GetPluginInfo summary>>}}} |<<getPlugin _GetPluginInfo summary>> |\n|{{{<<getPlugin _GetPluginInfo description>>}}} |<<getPlugin _GetPluginInfo description>> |\n|{{{<<getPlugin _GetPluginInfo coreVersion>>}}} |<<getPlugin _GetPluginInfo coreVersion>> |\n<<<\n\n!Revision History\n<<<\n|Release |Date |Comments|h\n|2.1.0 |2 Jan 2007 |Updated and tested with version 2.1.3. Added ''code'', ''doc'', ''summary'', ''description'' and ''coreVersion'' attributes. Refactored the switch statment to use one code block for multiple cases.|\n|1.0.1 |12 Mar 2006 |Refactored the code to have one macro with multiple parameters. |\n|1.0.0 |12 Mar 2006 |Initial release |\n<<<\n\n!Known Issues\n<<<\nThis line of js code does not work - \n{{{\ndate: new Date(2007,1,2)\n}}}\n, had to use this instead - \n{{{\ndate: new Date("Jan 2, 2007")\n}}}\n<<<\n\n!To Do\n<<<\n#Sort out Javascript date issue. Update all dependent macros to use new date format.\n#Create wikified urls for code and doc attributes.\n<<<\n\n!Credits\n<<<\nThis extension was produced by DawnAhukanna.\n<<<\n----\n!Code\n***/\n//{{{\nversion.extensions._GetPluginInfo= {major: 2, minor: 1, revision: 0, date: new Date("Jan 2, 2007"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_GetPluginInfo", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_GetPluginInfoDoc", author: "DawnAhukanna dawn[at]dahukanna[dot]net", summary: "_GetPluginInfo for TiddlyWiki version 2.1.3 or above.", description: "Displays the following information - version, date, source and author about plugins in this collection using the ''version.extensions.[pluginName]'' attributes. All other plugins use this macro to display plugin details.", coreVersion: "2.1.0"};\nconfig.macros.getPlugin = {dateFormat: "DD MMM YYYY"}\nconfig.macros.getPlugin.handler = function(place,macroName,params){\n var pluginName = params[0]; //params[0]: pluginName (string) that matches with version.extensions.[pluginName] declaration.\n var pluginAttributeName = params[1]; //params[1]: Plugin info to retrieve e.g "date". If not supplied then "version" is supplied by default.\n var pluginAttribute="";\n \n switch (pluginAttributeName){\n case "author" :\n pluginAttribute = version.extensions[pluginName][pluginAttributeName];\n createTiddlyLink(createTiddlyElement(place,"span",null,null,null),pluginAttribute,true); \n break;\n case "code" :\n case "doc" :\n pluginAttribute = version.extensions[pluginName][pluginAttributeName];\n createTiddlyElement(place,"span",null,null,pluginAttribute);\n break;\n case "date" :\n pluginAttribute = version.extensions[pluginName][pluginAttributeName].formatString(this.dateFormat);\n case "summary" :\n case "description" :\n case "coreVersion" :\n if(pluginAttribute == ""){\n pluginAttribute = version.extensions[pluginName][pluginAttributeName];\n }\n createTiddlyElement(place,"span",null,null,pluginAttribute);\n break;\n default ://Display plugin version attribute\n pluginAttribute = version.extensions[pluginName].major + "." + version.extensions[pluginName].minor + "." + version.extensions[pluginName].revision;\n createTiddlyElement(place,"span",null,null,pluginAttribute);\n }\n}\n//}}}\n//----
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_listExtension.js 435 2007-01-04 20:49:17Z dahukanna $\n===============================================================================\n----\n''Name:'' _ListMacroExtension\n''Summary:'' <<getPlugin _ListMacroExtension summary>>\n''Description:'' <<getPlugin _ListMacroExtension description>>\n''Version:'' <<getPlugin _ListMacroExtension>> \n''Date:'' <<getPlugin _ListMacroExtension date>>\n''Author:'' <<getPlugin _ListMacroExtension author>>\n''Source:'' <<getPlugin _ListMacroExtension code>>\n''Documentation:'' <<getPlugin _ListMacroExtension doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin _ListMacroExtension coreVersion>>\n----\n!Code\n***/\n//{{{\nversion.extensions._ListMacroExtension= {major: 2, minor: 1, revision: 0, date: new Date("Jan 2, 2007"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_ListMacroExtension", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_ListMacroExtensionDoc", author:"DawnAhukanna dawn[at]dahukanna[dot]net", summary:"_ListMacroExtension for TiddlyWiki version 2.1.3 or above.", description: "Creates an ordered list, sorted by tiddler attribute, of tiddlers tagged with a specific tag.", coreVersion: "2.0.4"};\n\nconfig.macros.list["tagged"] = {prompt: ""};\nconfig.macros.list.tagged.handler = function(params){\n/*\nparams[1]: tag (string)\nparams[2]: sortField (string) e.g "title". If not supplied then "title" is used by default.\n*/\n //This is displayed in the next call, URGH!!!!\n //this.prompt = "Tagged with "+ params[1]; \n return getTiddlersByTag(params[1], params[2] );\n}\n\nfunction getTiddlersByTag (tag,sortField) {\n var tagged = store.getTaggedTiddlers(tag,sortField); //Get all tiddlers with this tag.\n return tagged;\n}\n//}}}\n//----
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_listExtension.js 435 2007-01-04 20:49:17Z dahukanna $\n===============================================================================\n----\n''Name:'' _ListMacroExtension\n''Summary:'' <<getPlugin _ListMacroExtension summary>>\n''Description:'' <<getPlugin _ListMacroExtension description>>\n''Version:'' <<getPlugin _ListMacroExtension>> \n''Date:'' <<getPlugin _ListMacroExtension date>>\n''Author:'' <<getPlugin _ListMacroExtension author>>\n''Source:'' <<getPlugin _ListMacroExtension code>>\n''Documentation:'' <<getPlugin _ListMacroExtension doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin _ListMacroExtension coreVersion>>\n----\n!Dependencies\n<<<\n|Dependency |Author |Type |Version |Code URL |Comments |h\n|GetPluginInfo |DawnAhukanna |Macro |2.1.0 |<<getPlugin _GetPluginInfo code>> |<<getPlugin _GetPluginInfo description>> |\n<<<\n\n!Usage\n<<<\nUse this to create an ordered list of tiddlers tagged with a specific tag. It extends the existing core list Macro.\n<<<\n\n!Installation\n<<<\nImport (or copy/paste) the following tiddler into your document:\n''_ListMacroExtension'' (tagged with <<tag systemConfig>>)\n<<<\n\n!Configuration\n<<<\n''Syntax'' \n{{{\n<<list tagged [existingTag] [sortField]>>\n}}}\nWhere ''[existingTag]'' is the name of an existing tag present and being used in your TiddlyWiki.\nWhere ''[sortField]'' is the name of a tiddler attribute. If none or incorrect attribute supplied, ''title'' is used as the default.\n*title\n*text\n*modifier\n*modified\n*created\n*links\n*tags\n\nExamples : \n{{{<<list tagged systemConfig>>}}}: uses modified title, which is the default case, to sort results for tiddlers tagged as ''systemConfig''.\n<<list tagged systemConfig>>\n{{{<<list tagged systemConfig modified>>}}}: uses modified date to sort results for tiddlers tagged as ''systemConfig''.\n<<list tagged systemConfig modified>>\n<<<\n\n!Revision History\n<<<\n|Release |Date |Description |h\n|2.1.0 |2 Jan 2007 |Updated and tested with version 2.1.3. |\n|1.0.2 |3 Mar 2006 |Added sortField as a parameter. |\n|1.0.1 |3 Mar 2006 |Fixed alphabetical listing by adding sort field to getTaggedTiddlers() and removing the tagged.sort() call. |\n|1.0.0 |26 Jan 2006 |Tested with TW 2.0.4 |\n<<<\n\n!Known Issues\n<<<\nNone.\n<<<\n\n!To Do\n<<<\nSort out List title using the "prompt" attribute.\n<<<\n\n!Credits\n<<<\nThis extension was produced by DawnAhukanna.\n<<<
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_listExtension.js 435 2007-01-04 20:49:17Z dahukanna $\n===============================================================================\n----\n''Name:'' _ListMacroExtension\n''Summary:'' <<getPlugin _ListMacroExtension summary>>\n''Description:'' <<getPlugin _ListMacroExtension description>>\n''Version:'' <<getPlugin _ListMacroExtension>> \n''Date:'' <<getPlugin _ListMacroExtension date>>\n''Author:'' <<getPlugin _ListMacroExtension author>>\n''Source:'' <<getPlugin _ListMacroExtension code>>\n''Documentation:'' <<getPlugin _ListMacroExtension doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin _ListMacroExtension coreVersion>>\n----\n!Dependencies\n<<<\n|Dependency |Author |Type |Version |Code URL |Comments |h\n|GetPluginInfo |DawnAhukanna |Macro |2.1.0 |<<getPlugin _GetPluginInfo code>> |<<getPlugin _GetPluginInfo description>> |\n<<<\n\n!Usage\n<<<\nUse this to create an ordered list of tiddlers tagged with a specific tag. It extends the existing core list Macro.\n<<<\n\n!Installation\n<<<\nImport (or copy/paste) the following tiddler into your document:\n''_ListMacroExtension'' (tagged with <<tag systemConfig>>)\n<<<\n\n!Configuration\n<<<\n''Syntax'' \n{{{\n<<list tagged [existingTag] [sortField]>>\n}}}\nWhere ''[existingTag]'' is the name of an existing tag present and being used in your TiddlyWiki.\nWhere ''[sortField]'' is the name of a tiddler attribute. If none or incorrect attribute supplied, ''title'' is used as the default.\n*title\n*text\n*modifier\n*modified\n*created\n*links\n*tags\n\nExamples : \n{{{<<list tagged systemConfig>>}}}: uses modified title, which is the default case, to sort results for tiddlers tagged as ''systemConfig''.\n<<list tagged systemConfig>>\n{{{<<list tagged systemConfig modified>>}}}: uses modified date to sort results for tiddlers tagged as ''systemConfig''.\n<<list tagged systemConfig modified>>\n<<<\n\n!Revision History\n<<<\n|Release |Date |Description |h\n|2.1.0 |2 Jan 2007 |Updated and tested with version 2.1.3. |\n|1.0.2 |3 Mar 2006 |Added sortField as a parameter. |\n|1.0.1 |3 Mar 2006 |Fixed alphabetical listing by adding sort field to getTaggedTiddlers() and removing the tagged.sort() call. |\n|1.0.0 |26 Jan 2006 |Tested with TW 2.0.4 |\n<<<\n\n!Known Issues\n<<<\nNone.\n<<<\n\n!To Do\n<<<\nSort out List title using the "prompt" attribute.\n<<<\n\n!Credits\n<<<\nThis extension was produced by DawnAhukanna.\n<<<\n----\n!Code\n***/\n//{{{\nversion.extensions._ListMacroExtension= {major: 2, minor: 1, revision: 0, date: new Date("Jan 2, 2007"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_ListMacroExtension", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_ListMacroExtensionDoc", author:"DawnAhukanna dawn[at]dahukanna[dot]net", summary:"_ListMacroExtension for TiddlyWiki version 2.1.3 or above.", description: "Creates an ordered list, sorted by tiddler attribute, of tiddlers tagged with a specific tag.", coreVersion: "2.0.4"};\n\nconfig.macros.list["tagged"] = {prompt: ""};\nconfig.macros.list.tagged.handler = function(params){\n/*\nparams[1]: tag (string)\nparams[2]: sortField (string) e.g "title". If not supplied then "title" is used by default.\n*/\n //This is displayed in the next call, URGH!!!!\n //this.prompt = "Tagged with "+ params[1]; \n return getTiddlersByTag(params[1], params[2] );\n}\n\nfunction getTiddlersByTag (tag,sortField) {\n var tagged = store.getTaggedTiddlers(tag,sortField); //Get all tiddlers with this tag.\n return tagged;\n}\n//}}}\n//----
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_messageLib.js 444 2007-01-25 12:17:46Z dahukanna $\n===============================================================================\n----\n''Name:'' _MessageLibrary\n''Summary:'' <<getPlugin _MessageLibrary summary>>\n''Description:'' <<getPlugin _MessageLibrary description>>\n''Version:'' <<getPlugin _MessageLibrary>> \n''Date:'' <<getPlugin _MessageLibrary date>>\n''Author:'' <<getPlugin _MessageLibrary author>>\n''Source:'' <<getPlugin _MessageLibrary code>>\n''Documentation:'' <<getPlugin _MessageLibrary doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''TiddlyWiki:'' 2.1.x\n''Browsers:'' IE 6.0, FF 1.5.x, FF 2.0.x\n''~CoreVersion:'' <<getPlugin _MessageLibrary coreVersion>>\n----\n!Code\n***/\n//{{{\nversion.extensions._MessageLibrary= {major: 2, minor: 1, revision: 0, date: new Date("Jan 2, 2007"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_MessageLibrary", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_MessageLibraryDoc", author:"DawnAhukanna dawn[at]dahukanna[dot]net", summary:"_MessageLibrary for TiddlyWiki version 2.1.3 or above.", description: "Message library uses variables so that you can change the word tiddler to an alternative word like 'thought', 'note' or whatever you want your tiddlers to be called.\sn This is done once defining the alternative names in the 'messageType' object and replacing the target words throughout the TiddlyWiki document. (e.g. 'This tiddler doesn't exist' would be changed to 'This thought doesn't exist').", coreVersion: "2.1.0"};\nvar messageType = {lower: "thought", lowerPlural: "thoughts", mixed: "Thought", mixedPlural: "Thoughts", wikiName: "ThoughtBook", downloadURL: "#"};\n//Override messages in config.message text. \n// Messages\nconfig.messages.customConfigError="Error in systemConfig " + messageType.lower + " '%1' - %0";\nconfig.messages.savedSnapshotError="It appears that this " + messageType.wikiName + " has been incorrectly saved. Please see http:// " + messageType.downloadURL + " for details";\nconfig.messages.undefinedTiddlerToolTip="The " + messageType.lower + " '%0' doesn't yet exist";\nconfig.messages.shadowedTiddlerToolTip="The " + messageType.lower + " '%0' doesn't yet exist, but has a pre-defined shadow value";\nconfig.messages.noTags="There are no tagged " + messageType.lowerPlural;\nconfig.messages.notFileUrlError="You need to save this " + messageType.wikiName + " to a file before you can save changes";\nconfig.messages.cantSaveError="It's not possible to save changes. This could be because your browser doesn't support saving (instead, use FireFox if you can), or because the pathname to your " + messageType.wikiName + " file contains illegal characters";\nconfig.messages.invalidFileError="The original file '%0' does not appear to be a valid " + messageType.wikiName;\nconfig.messages.mainSaved="Main " + messageType.wikiName + " file saved";\nconfig.messages.mainFailed="Failed to save main " + messageType.wikiName + " file. Your changes have not been saved";\nconfig.messages.overwriteWarning="A " + messageType.lower + " named '%0' already exists. Choose OK to overwrite it";\nconfig.messages.unsavedChangesWarning="WARNING! There are unsaved changes in " + messageType.wikiName + "\sn\snChoose OK to save\snChoose CANCEL to discard";\nconfig.messages.confirmExit="--------------------------------\sn\snThere are unsaved changes in " + messageType.wikiName + ". If you continue you will lose those changes\sn\sn--------------------------------";\nconfig.messages.unsupportedTWFormat="Unsupported " + messageType.wikiName + " format '%0'";\nconfig.messages.tiddlerSaveError="Error when saving " + messageType.lower + " '%0'";\nconfig.messages.tiddlerLoadError="Error when loading " + messageType.lower + " '%0'";\n//Override messages in config.views text.\nconfig.views.wikified.tag.tooltip="Show " + messageType.lowerPlural + " tagged with '%0'";\nconfig.views.wikified.tag.openAllText="Open all " + messageType.lowerPlural;\nconfig.views.wikified.tag.openAllTooltip="Open all of these " + messageType.lowerPlural;\nconfig.views.wikified.tag.popupNone="No other " + messageType.lowerPlural + " tagged with '%0'";\nconfig.views.wikified.defaultText="The " + messageType.lower + " '%0' doesn't yet exist. Double-click to create it";\nconfig.views.wikified.shadowModifier="(built-in shadow " + messageType.lower + ")";\nconfig.views.editor.tagChooser.tooltip="Choose existing tags to add to this " + messageType.lower;\n//Override messages in config.commands text.\nconfig.commands.closeTiddler.tooltip="Close this " + messageType.lower;\nconfig.commands.closeOthers.tooltip="Close all other " + messageType.lowerPlural;\nconfig.commands.editTiddler.tooltip="Edit this " + messageType.lower;\nconfig.commands.editTiddler.readOnlyTooltip="View the source of this " + messageType.lower;\nconfig.commands.permalink.tooltip="Permalink for this " + messageType.lower;\nconfig.commands.references.tooltip="Show " + messageType.lowerPlural +" that link to this one";\nconfig.commands.jump.tooltip="Jump to another open " + messageType.lower;\nconfig.commands.saveTiddler.tooltip="Save changes to this " + messageType.lower;\nconfig.commands.cancelTiddler.tooltip="Undo changes to this " + messageType.lower;\nconfig.commands.cancelTiddler.readOnlyTooltip="View this " + messageType.lower + " normally";\nconfig.commands.deleteTiddler.tooltip="Delete this " + messageType.lower;\n//Override messages in config.macros text. \nconfig.macros.search.prompt="Search this " + messageType.wikiName;\nconfig.macros.search.successMsg="%0 " + messageType.lowerPlural + " found matching %1";\nconfig.macros.search.failureMsg="No " + messageType.lowerPlural + " found matching %0";\nconfig.macros.tagging.tooltip="List of " + messageType.lowerPlural + " tagged with '%0'";\nconfig.macros.allTags.tooltip="Show " + messageType.lowerPlural + " tagged with '%0'";\nconfig.macros.allTags.noTags="There are no tagged " + messageType.lowerPlural;\nconfig.macros.list.all.prompt="All " + messageType.lowerPlural + " in alphabetical order";\nconfig.macros.list.missing.prompt=messageType.mixedPlural + " that have links to them but are not defined";\nconfig.macros.list.orphans.prompt=messageType.mixedPlural + " that are not linked to from any other " + messageType.lowerPlural;\nconfig.macros.list.shadowed.prompt=messageType.mixedPlural + " shadowed with default contents";\nconfig.macros.closeAll.prompt="Close all displayed " + messageType.lowerPlural + " (except any that are being edited)";\nconfig.macros.permaview.prompt="Link to an URL that retrieves all the currently displayed " + messageType.lowerPlural;\nconfig.macros.saveChanges.prompt="Save all " + messageType.lowerPlural + " to create a new " + messageType.wikiName;\nconfig.macros.plugins.confirmDeleteText="Are you sure you want to delete these " + messageType.lowerPlural + ":\sn\sn%0";\nconfig.macros.refreshDisplay.prompt="Redraw the entire " + messageType.wikiName + " display";\nconfig.macros.importTiddlers.readOnlyWarning="You cannot import " + messageType.lowerPlural + " into a read-only " + messageType.wikiName + ". Try opening the " + messageType.wikiName + " file from a file:// URL";\nconfig.macros.importTiddlers.confirmOverwriteText="Are you sure you want to overwrite these " + messageType.lowerPlural + ":\sn\sn%0";\nconfig.macros.importTiddlers.wizardTitle="Import "+ messageType.lowerPlural + " from another tiddlywiki file";\nconfig.macros.importTiddlers.step1="Step 1: Locate the tiddlywiki file";\nconfig.macros.importTiddlers.step2="Step 2: Loading the tiddlywiki file";\nconfig.macros.importTiddlers.step3="Step 3: Choose the "+ messageType.lowerPlural + " to import";\nconfig.macros.importTiddlers.step4="%0 "+ messageType.lower + "(s) imported";\nconfig.macros.importTiddlers.listViewTemplate.actions[1].caption="Import these "+ messageType.lowerPlural;\n// Come back for new item.\nconfig.macros.newTiddler.label="new " + messageType.lower;\nconfig.macros.newTiddler.prompt="Create a new " + messageType.lower;\nconfig.macros.newTiddler.title="New " + messageType.mixed;\nconfig.macros.newJournal.label="new journal";\nconfig.macros.newJournal.prompt="Create a new " + messageType.lower + " from the current date and time";\n//Overide config.shadowTiddlers messages.\nconfig.shadowTiddlers.SideBarOptions="<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change " + messageType.wikiName + " advanced options'>>";\nconfig.shadowTiddlers.AdvancedOptions="<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\sn<<option chkOpenInNewWindow>> OpenLinksInNewWindow\sn<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\sn<<option chkToggleLinks>> Clicking on links to " + messageType.lowerPlural + " that are already open causes them to close\sn^^(override with Control or other modifier key)^^\sn<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP\sn<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\sn^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\sn<<option chkConfirmDelete>> ConfirmBeforeDeleting \sn Maximum number of lines in a " + messageType.lower + " edit box: <<option txtMaxEditRows>> \sn Folder name for backup files: <<option txtBackupFolder>> \sn<<option chkInsertTabs>> Use tab key to insert tab characters instead of jumping to next field";\nconfig.shadowTiddlers.OptionsPanel="These InterfaceOptions for customising " + messageType.wikiName + " are saved in your browser\sn\snYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\sn\sn<<option txtUserName>>\sn<<option chkSaveBackups>> SaveBackups\sn<<option chkAutoSave>> AutoSave\sn<<option chkRegExpSearch>> RegExpSearch\sn<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\sn<<option chkAnimate>> EnableAnimations\sn\sn----\snAdvancedOptions\snPluginManager\snImportTiddlers";\nconfig.shadowTiddlers.SideBarTabs="<<tabs txtMainTab Timeline Timeline TabTimeline All 'All " + messageType.lowerPlural + "' TabAll Tags 'All tags' TabTags More 'More lists' TabMore>>";\nconfig.shadowTiddlers.TabMore="<<tabs txtMoreTab Missing 'Missing " + messageType.lowerPlural + "' TabMoreMissing Orphans 'Orphaned " + messageType.lowerPlural + "' TabMoreOrphans Shadowed 'Shadowed " + messageType.lowerPlural + "' TabMoreShadowed>>";\nconfig.shadowTiddlers.GettingStarted="To get started with this blank " + messageType.wikiName + " , you'll need to modify the following " + messageType.lowerPlural + ":\sn* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)\sn* MainMenu: The menu (usually on the left)\sn* DefaultTiddlers: Contains the names of the " + messageType.lowerPlural + " that you want to appear when the " + messageType.wikiName + " is opened\snYou'll also need to enter your username for signing your edits: <<option txtUserName>>";\n//}}}\n//----
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_messageLib.js 444 2007-01-25 12:17:46Z dahukanna $\n===============================================================================\n----\n''Name:'' _MessageLibrary\n''Summary:'' <<getPlugin _MessageLibrary summary>>\n''Description:'' <<getPlugin _MessageLibrary description>>\n''Version:'' <<getPlugin _MessageLibrary>> \n''Date:'' <<getPlugin _MessageLibrary date>>\n''Author:'' <<getPlugin _MessageLibrary author>>\n''Source:'' <<getPlugin _MessageLibrary code>>\n''Documentation:'' <<getPlugin _MessageLibrary doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''TiddlyWiki:'' 2.1.x\n''Browsers:'' IE 6.0, FF 1.5.x, FF 2.0.x\n''~CoreVersion:'' <<getPlugin _MessageLibrary coreVersion>>\n----\n!Dependencies\n<<<\n|Dependency |Author |Type |Version |Code URL |Comments |h\n|GetPluginInfo |DawnAhukanna |Macro |2.1.0 |<<getPlugin _GetPluginInfo code>> |<<getPlugin _GetPluginInfo description>> |\n<<<\n\n!Usage\n<<<\nUse this to rename your ''tiddlers'' to what ever you like. Overrides the default messages that contain the word ''tiddler'' to your specified name. Makes it easy to upgrade and keep your modifications.\nIt uses variables so that you can change the word ''tiddler'' to an alternative word like ''thought'' , ''note'' (or whatever you want your tiddlers to be called) in one place and it is substituted throughout the TiddlyWiki document. (e.g. "This ''tiddler'' doesn't exist" would be changed to "This ''thought'' doesn't exist").\n<<<\n\n!Installation\n<<<\nImport (or copy/paste) the following tiddler into your document:\n''_MessageLibrary'' (tagged with <<tag systemConfig>>)\n<<<\n\n!Configuration\n<<<\nTo change what tiddlers are called, update the ''messageType'' variable to use whatever name you want. The example below has the tiddlers renamed to ''thoughts''.\nvar messageType = {lower: "thought", lowerPlural: "thoughts", mixed: "Thought", mixedPlural: "Thoughts", wikiName: "ThoughtBook", downloadURL: "localhost/tiddly/#DownloadSoftware"};\n\n|Array variable | Description |h\n|''lower'' |The name in lowercase e.g. "tiddler".|\n|''lowerPlural'' |The plural of the name in lowercase e.g. "tiddlers".|\n|''mixed'' |The name with the first letter capitalised e.g. "Tiddler".|\n|''mixedPlural''|The plural of the name with the first letter capitalised e.g. "Tiddlers".|\n|''wikiName''|Name of the wiki. Replaces every default instance of "TiddlyWiki" in the messages.|\n|''downloadURL''|Download URL in the save error message.|\n\n<<<\n!Revision History\n<<<\n|Release |Date |Comments|h\n|2.1.0|2 Jan 2007 |Updated for TW 2.1.3. |\n|1.0.4|19 Mar 2006 |Updated for TW 2.0.6 adding Advanced shadow tiddler options. |\n|1.0.3 |26 Jan 2006 |Updated for TW 2.0.3 adding shadowed tiddlers tab. |\n|1.0.2 |3 Jan 2006 |Added messages for view and edit toolbars using extracts from ToolbarTrans Macro from [[Aiddly Wiki|http://aiddlywiki.sourceforge.net/ToolbarTrans.html]]|\n|1.0.1 |22 Dec 2005 |Added message for shadow tiddlers |\n|1.0.0 |22 Dec 2005 |Initial release |\n<<<\n\n!Known Issues\n<<<\nNone.\n<<<\n!To Do\n<<<\nAdd shadow tiddler to configure ''messageType'' viariable.\n<<<\n\n!Credits\n<<<\nThis extension was produced by DawnAhukanna.\n<<<
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Macro_messageLib.js 444 2007-01-25 12:17:46Z dahukanna $\n===============================================================================\n----\n''Name:'' _MessageLibrary\n''Summary:'' <<getPlugin _MessageLibrary summary>>\n''Description:'' <<getPlugin _MessageLibrary description>>\n''Version:'' <<getPlugin _MessageLibrary>> \n''Date:'' <<getPlugin _MessageLibrary date>>\n''Author:'' <<getPlugin _MessageLibrary author>>\n''Source:'' <<getPlugin _MessageLibrary code>>\n''Documentation:'' <<getPlugin _MessageLibrary doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''TiddlyWiki:'' 2.1.x\n''Browsers:'' IE 6.0, FF 1.5.x, FF 2.0.x\n''~CoreVersion:'' <<getPlugin _MessageLibrary coreVersion>>\n----\n!Dependencies\n<<<\n|Dependency |Author |Type |Version |Code URL |Comments |h\n|GetPluginInfo |DawnAhukanna |Macro |2.1.0 |<<getPlugin _GetPluginInfo code>> |<<getPlugin _GetPluginInfo description>> |\n<<<\n\n!Usage\n<<<\nUse this to rename your ''tiddlers'' to what ever you like. Overrides the default messages that contain the word ''tiddler'' to your specified name. Makes it easy to upgrade and keep your modifications.\nIt uses variables so that you can change the word ''tiddler'' to an alternative word like ''thought'' , ''note'' (or whatever you want your tiddlers to be called) in one place and it is substituted throughout the TiddlyWiki document. (e.g. "This ''tiddler'' doesn't exist" would be changed to "This ''thought'' doesn't exist").\n<<<\n\n!Installation\n<<<\nImport (or copy/paste) the following tiddler into your document:\n''_MessageLibrary'' (tagged with <<tag systemConfig>>)\n<<<\n\n!Configuration\n<<<\nTo change what tiddlers are called, update the ''messageType'' variable to use whatever name you want. The example below has the tiddlers renamed to ''thoughts''.\nvar messageType = {lower: "thought", lowerPlural: "thoughts", mixed: "Thought", mixedPlural: "Thoughts", wikiName: "ThoughtBook", downloadURL: "localhost/tiddly/#DownloadSoftware"};\n\n|Array variable | Description |h\n|''lower'' |The name in lowercase e.g. "tiddler".|\n|''lowerPlural'' |The plural of the name in lowercase e.g. "tiddlers".|\n|''mixed'' |The name with the first letter capitalised e.g. "Tiddler".|\n|''mixedPlural''|The plural of the name with the first letter capitalised e.g. "Tiddlers".|\n|''wikiName''|Name of the wiki. Replaces every default instance of "TiddlyWiki" in the messages.|\n|''downloadURL''|Download URL in the save error message.|\n\n<<<\n!Revision History\n<<<\n|Release |Date |Comments|h\n|2.1.0|2 Jan 2007 |Updated for TW 2.1.3. |\n|1.0.4|19 Mar 2006 |Updated for TW 2.0.6 adding Advanced shadow tiddler options. |\n|1.0.3 |26 Jan 2006 |Updated for TW 2.0.3 adding shadowed tiddlers tab. |\n|1.0.2 |3 Jan 2006 |Added messages for view and edit toolbars using extracts from ToolbarTrans Macro from [[Aiddly Wiki|http://aiddlywiki.sourceforge.net/ToolbarTrans.html]]|\n|1.0.1 |22 Dec 2005 |Added message for shadow tiddlers |\n|1.0.0 |22 Dec 2005 |Initial release |\n<<<\n\n!Known Issues\n<<<\nNone.\n<<<\n!To Do\n<<<\nAdd shadow tiddler to configure ''messageType'' viariable.\n<<<\n\n!Credits\n<<<\nThis extension was produced by DawnAhukanna.\n<<<\n----\n!Code\n***/\n//{{{\nversion.extensions._MessageLibrary= {major: 2, minor: 1, revision: 0, date: new Date("Jan 2, 2007"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_MessageLibrary", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_MessageLibraryDoc", author:"DawnAhukanna dawn[at]dahukanna[dot]net", summary:"_MessageLibrary for TiddlyWiki version 2.1.3 or above.", description: "Message library uses variables so that you can change the word tiddler to an alternative word like 'thought', 'note' or whatever you want your tiddlers to be called.\sn This is done once defining the alternative names in the 'messageType' object and replacing the target words throughout the TiddlyWiki document. (e.g. 'This tiddler doesn't exist' would be changed to 'This thought doesn't exist').", coreVersion: "2.1.0"};\nvar messageType = {lower: "thought", lowerPlural: "thoughts", mixed: "Thought", mixedPlural: "Thoughts", wikiName: "ThoughtBook", downloadURL: "#"};\n//Override messages in config.message text. \n// Messages\nconfig.messages.customConfigError="Error in systemConfig " + messageType.lower + " '%1' - %0";\nconfig.messages.savedSnapshotError="It appears that this " + messageType.wikiName + " has been incorrectly saved. Please see http:// " + messageType.downloadURL + " for details";\nconfig.messages.undefinedTiddlerToolTip="The " + messageType.lower + " '%0' doesn't yet exist";\nconfig.messages.shadowedTiddlerToolTip="The " + messageType.lower + " '%0' doesn't yet exist, but has a pre-defined shadow value";\nconfig.messages.noTags="There are no tagged " + messageType.lowerPlural;\nconfig.messages.notFileUrlError="You need to save this " + messageType.wikiName + " to a file before you can save changes";\nconfig.messages.cantSaveError="It's not possible to save changes. This could be because your browser doesn't support saving (instead, use FireFox if you can), or because the pathname to your " + messageType.wikiName + " file contains illegal characters";\nconfig.messages.invalidFileError="The original file '%0' does not appear to be a valid " + messageType.wikiName;\nconfig.messages.mainSaved="Main " + messageType.wikiName + " file saved";\nconfig.messages.mainFailed="Failed to save main " + messageType.wikiName + " file. Your changes have not been saved";\nconfig.messages.overwriteWarning="A " + messageType.lower + " named '%0' already exists. Choose OK to overwrite it";\nconfig.messages.unsavedChangesWarning="WARNING! There are unsaved changes in " + messageType.wikiName + "\sn\snChoose OK to save\snChoose CANCEL to discard";\nconfig.messages.confirmExit="--------------------------------\sn\snThere are unsaved changes in " + messageType.wikiName + ". If you continue you will lose those changes\sn\sn--------------------------------";\nconfig.messages.unsupportedTWFormat="Unsupported " + messageType.wikiName + " format '%0'";\nconfig.messages.tiddlerSaveError="Error when saving " + messageType.lower + " '%0'";\nconfig.messages.tiddlerLoadError="Error when loading " + messageType.lower + " '%0'";\n//Override messages in config.views text.\nconfig.views.wikified.tag.tooltip="Show " + messageType.lowerPlural + " tagged with '%0'";\nconfig.views.wikified.tag.openAllText="Open all " + messageType.lowerPlural;\nconfig.views.wikified.tag.openAllTooltip="Open all of these " + messageType.lowerPlural;\nconfig.views.wikified.tag.popupNone="No other " + messageType.lowerPlural + " tagged with '%0'";\nconfig.views.wikified.defaultText="The " + messageType.lower + " '%0' doesn't yet exist. Double-click to create it";\nconfig.views.wikified.shadowModifier="(built-in shadow " + messageType.lower + ")";\nconfig.views.editor.tagChooser.tooltip="Choose existing tags to add to this " + messageType.lower;\n//Override messages in config.commands text.\nconfig.commands.closeTiddler.tooltip="Close this " + messageType.lower;\nconfig.commands.closeOthers.tooltip="Close all other " + messageType.lowerPlural;\nconfig.commands.editTiddler.tooltip="Edit this " + messageType.lower;\nconfig.commands.editTiddler.readOnlyTooltip="View the source of this " + messageType.lower;\nconfig.commands.permalink.tooltip="Permalink for this " + messageType.lower;\nconfig.commands.references.tooltip="Show " + messageType.lowerPlural +" that link to this one";\nconfig.commands.jump.tooltip="Jump to another open " + messageType.lower;\nconfig.commands.saveTiddler.tooltip="Save changes to this " + messageType.lower;\nconfig.commands.cancelTiddler.tooltip="Undo changes to this " + messageType.lower;\nconfig.commands.cancelTiddler.readOnlyTooltip="View this " + messageType.lower + " normally";\nconfig.commands.deleteTiddler.tooltip="Delete this " + messageType.lower;\n//Override messages in config.macros text. \nconfig.macros.search.prompt="Search this " + messageType.wikiName;\nconfig.macros.search.successMsg="%0 " + messageType.lowerPlural + " found matching %1";\nconfig.macros.search.failureMsg="No " + messageType.lowerPlural + " found matching %0";\nconfig.macros.tagging.tooltip="List of " + messageType.lowerPlural + " tagged with '%0'";\nconfig.macros.allTags.tooltip="Show " + messageType.lowerPlural + " tagged with '%0'";\nconfig.macros.allTags.noTags="There are no tagged " + messageType.lowerPlural;\nconfig.macros.list.all.prompt="All " + messageType.lowerPlural + " in alphabetical order";\nconfig.macros.list.missing.prompt=messageType.mixedPlural + " that have links to them but are not defined";\nconfig.macros.list.orphans.prompt=messageType.mixedPlural + " that are not linked to from any other " + messageType.lowerPlural;\nconfig.macros.list.shadowed.prompt=messageType.mixedPlural + " shadowed with default contents";\nconfig.macros.closeAll.prompt="Close all displayed " + messageType.lowerPlural + " (except any that are being edited)";\nconfig.macros.permaview.prompt="Link to an URL that retrieves all the currently displayed " + messageType.lowerPlural;\nconfig.macros.saveChanges.prompt="Save all " + messageType.lowerPlural + " to create a new " + messageType.wikiName;\nconfig.macros.plugins.confirmDeleteText="Are you sure you want to delete these " + messageType.lowerPlural + ":\sn\sn%0";\nconfig.macros.refreshDisplay.prompt="Redraw the entire " + messageType.wikiName + " display";\nconfig.macros.importTiddlers.readOnlyWarning="You cannot import " + messageType.lowerPlural + " into a read-only " + messageType.wikiName + ". Try opening the " + messageType.wikiName + " file from a file:// URL";\nconfig.macros.importTiddlers.confirmOverwriteText="Are you sure you want to overwrite these " + messageType.lowerPlural + ":\sn\sn%0";\nconfig.macros.importTiddlers.wizardTitle="Import "+ messageType.lowerPlural + " from another tiddlywiki file";\nconfig.macros.importTiddlers.step1="Step 1: Locate the tiddlywiki file";\nconfig.macros.importTiddlers.step2="Step 2: Loading the tiddlywiki file";\nconfig.macros.importTiddlers.step3="Step 3: Choose the "+ messageType.lowerPlural + " to import";\nconfig.macros.importTiddlers.step4="%0 "+ messageType.lower + "(s) imported";\nconfig.macros.importTiddlers.listViewTemplate.actions[1].caption="Import these "+ messageType.lowerPlural;\n// Come back for new item.\nconfig.macros.newTiddler.label="new " + messageType.lower;\nconfig.macros.newTiddler.prompt="Create a new " + messageType.lower;\nconfig.macros.newTiddler.title="New " + messageType.mixed;\nconfig.macros.newJournal.label="new journal";\nconfig.macros.newJournal.prompt="Create a new " + messageType.lower + " from the current date and time";\n//Overide config.shadowTiddlers messages.\nconfig.shadowTiddlers.SideBarOptions="<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change " + messageType.wikiName + " advanced options'>>";\nconfig.shadowTiddlers.AdvancedOptions="<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\sn<<option chkOpenInNewWindow>> OpenLinksInNewWindow\sn<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\sn<<option chkToggleLinks>> Clicking on links to " + messageType.lowerPlural + " that are already open causes them to close\sn^^(override with Control or other modifier key)^^\sn<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP\sn<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\sn^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\sn<<option chkConfirmDelete>> ConfirmBeforeDeleting \sn Maximum number of lines in a " + messageType.lower + " edit box: <<option txtMaxEditRows>> \sn Folder name for backup files: <<option txtBackupFolder>> \sn<<option chkInsertTabs>> Use tab key to insert tab characters instead of jumping to next field";\nconfig.shadowTiddlers.OptionsPanel="These InterfaceOptions for customising " + messageType.wikiName + " are saved in your browser\sn\snYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\sn\sn<<option txtUserName>>\sn<<option chkSaveBackups>> SaveBackups\sn<<option chkAutoSave>> AutoSave\sn<<option chkRegExpSearch>> RegExpSearch\sn<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\sn<<option chkAnimate>> EnableAnimations\sn\sn----\snAdvancedOptions\snPluginManager\snImportTiddlers";\nconfig.shadowTiddlers.SideBarTabs="<<tabs txtMainTab Timeline Timeline TabTimeline All 'All " + messageType.lowerPlural + "' TabAll Tags 'All tags' TabTags More 'More lists' TabMore>>";\nconfig.shadowTiddlers.TabMore="<<tabs txtMoreTab Missing 'Missing " + messageType.lowerPlural + "' TabMoreMissing Orphans 'Orphaned " + messageType.lowerPlural + "' TabMoreOrphans Shadowed 'Shadowed " + messageType.lowerPlural + "' TabMoreShadowed>>";\nconfig.shadowTiddlers.GettingStarted="To get started with this blank " + messageType.wikiName + " , you'll need to modify the following " + messageType.lowerPlural + ":\sn* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)\sn* MainMenu: The menu (usually on the left)\sn* DefaultTiddlers: Contains the names of the " + messageType.lowerPlural + " that you want to appear when the " + messageType.wikiName + " is opened\snYou'll also need to enter your username for signing your edits: <<option txtUserName>>";\n//}}}\n//----
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Template.js 453 2007-02-19 17:52:51Z dahukanna $\n===============================================================================\n----\n''Name:'' _PluginTemplate\n''Summary:'' <<getPlugin _PluginTemplate summary>>\n''Description:'' <<getPlugin _PluginTemplate description>>\n''Version:'' <<getPlugin _PluginTemplate >>\n''Date:'' <<getPlugin _PluginTemplate date>>\n''Author:'' <<getPlugin _PluginTemplate author>>\n''Source:'' <<getPlugin _PluginTemplate code>>\n''Documentation:'' <<getPlugin _PluginTemplate doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin _PluginTemplate coreVersion>>\n''Based On:''\n----\n!Dependencies\n<<<\n|Dependency |Author |Type |Version |Code URL |Comments |h\n|GetPluginInfo |DawnAhukanna |Macro |2.1.0 |<<getPlugin _GetPluginInfo code>> |<<getPlugin _GetPluginInfo description>>|\n<<<\n\n!Usage\n<<<\n\n<<<\n\n!Installation\n<<<\nImport (or copy/paste) the following tiddler into your document:\n''_PluginTemplate'' (tagged with <<tag systemConfig>>)\n<<<\n\n!Configuration\n<<<\n''Syntax''\n{{{\n<<[macroName] [pluginName] [attribute]>>\n}}}\nWhere ''[attribute]'' is the name of a plugin attribute. If none or an incorrect attribute is supplied, the ''version'' attribute is returned as default. The follwing are valid attributes: \n|Attribute |Description |h\n|''version'' |Version of plugin and also default attribute. |\n\n''Examples''\n<<<\n\n!Revision History\n<<<\n|Release |Date |Comments|h\n|2.0.0 |25 Dec 2006 |Updated for TiddlyWiki 2.1.3 release |\n|1.0.0 |1 Jan 2006 |Initial release |\n<<<\n\n!Known Issues\n<<<\nNone\n<<<\n\n!To Do\n<<<\nNone\n<<<\n\n!Credits\n<<<\nThis extension was produced by DawnAhukanna.\n<<<\n----\n!Code\n***/\n//{{{\n/* sort out the next line */\nif(version.extensions._PluginTemplate==undefined){// Ensure that the plugin is only installed once.\n version.extensions._PluginTemplate= {major: 2, minor: 0, revision: 0, date: new Date("Dec 25, 2006"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_PluginTemplate", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#_PluginTemplateDoc", author:"DawnAhukanna dawn[at]dahukanna[dot]net", summary:"_PluginTemplate for TiddlyWiki version 2.1.3 or above.", description: "Plugin documentation template.", coreVersion: "2.1.0"};\n}\n//}}}\n//----
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Plugin_hypergraph.js 455 2007-02-19 18:48:24Z dahukanna $\n===============================================================================\n----\n''Name:'' hypergraph\n''Summary:'' <<getPlugin hypergraph summary>>\n''Description:'' <<getPlugin hypergraph description>>\n''Version:'' <<getPlugin hypergraph >>\n''Date:'' <<getPlugin hypergraph date>>\n''Author:'' <<getPlugin hypergraph author>>\n''Source:'' <<getPlugin hypergraph code>>\n''Documentation:'' <<getPlugin hypergraph doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin hypergraph coreVersion>>\n''Java Virtual Machine(JVM) Version:'' 1.4+\n''Hypergraph jar version:'' [[hypergraph 0.6.3|http://hypergraph.sourceforge.net/]].\n''Download'': [[hypergraph-213.zip|/download/hypergraph-213.zip]].\n----\n!Code\n***/\n//{{{\nversion.extensions.hypergraph = {major: 2, minor: 1, revision: 1, date: new Date("Feb 19, 2007"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#hypergraph", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#hypergraphDoc", author:"DawnAhukanna dawn[at]dahukanna[dot]net", summary:"_HyperGraph for TiddlyWiki version 2.1.3 or above.", description: "Uses HyperGraph 0.6.3 applet(http://HyperGraph.sourceforge.net/) to create navigation graphs.", coreVersion: "2.1.0"};\n//Options for generating hypergraph XML for current TiddlyWiki document\n\n//txtHypergraphXMLfile - Default xml file for menu hypergraph and saving generated file.\nmerge(config.options,{chkHypergraphMenugraphTiddlers: true, chkHypergraphMenugraphTags: true, chkHypergraphMenugraphTagged: true, chkHypergraphMenugraphDates: true, chkHypergraphMenugraphShadowed: true, chkHypergraphMenugraphModifiers: true, chkHypergraphMenugraphStructured: false, txtHypergraphXMLfile: "./graphs/tiddlerMap.xml"});\n\n//Define macro properties.\nconfig.macros.hypergraph = {\n dateFormat: "DD MMM YYYY",\n applets: {mainMenuApplet:"mainMenuApplet", demoApplet1:"demoApplet", demoApplet2:"menuApplet", demoApplet3:"orgApplet", demoApplet4:"hyperApplet"},\n graphXMLPath:"../common/GraphXML.dtd", \n hypergraphJar:{path:"./common/hyperapplet-0.6.3.jar", width:"100%", height:200, tiddler:"DemoDisplayHypergraphXML"}, \n label:{centre:"Centre %0", saveXML:"Save XML"}, \n prompt:{centre:"Centre %0", saveXML:"Save hypergraph XML %0 for current Tiddlywiki"},\n messages:{saveXMLError:"XML error %0- select xml file", appletError:"Applet error %0- ", hypergraphXMLSaved:"Saved xmlgraph file", hypergraphXMLSavedError:"Failed to save xmlgraph file"},\n node:{main:{colour:"black",fill:"#d0d0ff"}, group:{colour:"black",fill:"#eeeeee"}, child:{colour:"green",fill:"white"}, tiddler:{colour:"blue",fill:"#c0d0f0",shadow:"#eeeeee"}\n },\n edge:{centre:{colour:"green", lineStyle:"solid"}, tiddler:{colour:"blue", lineStyle:"dashed",shadowcolour:"#d0d0ff"}}\n}\n\n//Shadow tiddlers for default main menu hypergraph applet\n//=== Set hypergraph shadow Tiddler.\nconfig.shadowTiddlers.menuGraph = "<html><div><applet class='sitemap' align='baseline' code='hypergraph.applications.hexplorer.HExplorerApplet.class' name = '"+ config.macros.hypergraph.applets.mainMenuApplet +"' archive='"+ config.macros.hypergraph.hypergraphJar.path +"' width='"+ config.macros.hypergraph.hypergraphJar.width +"' height='"+ config.macros.hypergraph.hypergraphJar.height +"'> <param name='file' value='" + config.options.txtHypergraphXMLfile + "'></applet></div></html>";\nconfig.shadowTiddlers.debug = "";\n//=== Set hypergraph menu options shadow Tiddler.\nvar setHyperGraphOptions = true;\nconfig.shadowTiddlers.hyperGraphOptions = "\sn <<option chkHypergraphMenugraphTiddlers>> Add tiddlers to menugraph.\sn <<option chkHypergraphMenugraphShadowed>> Add shadow tiddlers to menugraph.\sn <<option chkHypergraphMenugraphTags>> Add tags to menugraph.\sn <<option chkHypergraphMenugraphTagged>> Add tagged tiddlers to menugraph.\sn <<option chkHypergraphMenugraphDates>> Add dates to menugraph.\sn <<option chkHypergraphMenugraphModifiers>> Add modifiers to menugraph. \sn <<hypergraph saveXML>> Create new XML file with the options selected.";\n\n//=== Set hypergraph menu options in SideBarOptions shadow Tiddler.\nvar oldSideBarOptions = config.shadowTiddlers.SideBarOptions;\nconfig.shadowTiddlers.SideBarOptions = "<<hypergraph saveXML>><<hypergraph centre>> [[hyperGraphOptions]]" + oldSideBarOptions;\n\n//Define macro functions.\nconfig.macros.hypergraph.handler = function(place,macroName,params){\n /* params[0]: Function, params[1]: Applet Name, params[2]: Hypergraph xml file. */\n var applet=null;\n var prompt=null;\n var label=null;\n\n /* Check for valid appletname in param[1]*/\n if ((params[1] == this.applets.demoApplet1) || (params[1] == this.applets.demoApplet2) || (params[1] == this.applets.demoApplet3) || (params[1] == this.applets.demoApplet4)){\n applet=params[1];\n } else {\n applet=this.applets.mainMenuApplet;\n }\n /* Execute instruction in param[0]*/\n switch (params[0]) {\n case "centre":\n prompt = this.prompt.centre.format([applet]);\n label = this.label.centre.format([applet]);\n createTiddlyButton(place,label,prompt,function(){centreTree(applet); return false;});\n break;\n case "saveXML":\n if(!readOnly) {\n prompt = this.prompt.saveXML.format([applet]);\n label = this.label.saveXML.format([applet]);\n createTiddlyButton(place,label,prompt,function(){saveHypergraph(); return false;});\n }\n break;\n default:\n var graphInfo = null;\n graphInfo = showGraphInfo(applet);\n createTiddlyElement(place,"span",null,null,graphInfo);\n }\n //Helper functions\n function valueInDateArray(dateArray,value){\n var key = -1;\n if (!(dateArray == null || dateArray == undefined)){\n for(var i = 0;i<dateArray.length;i++){\n if(dateArray[i][0] == value){\n key = i;\n break;\n }\n if(key >- 1)\n break;\n }\n }\n return key;\n }\n \n //Helper functions for tiddlers.\n function getModifiers(){\n var results = [];\n var tiddlers = store.getTiddlers("modifier","excludeLists");\n for(var i=0; i<tiddlers.length; i++){\n var modifier = tiddlers[i].modifier;\n var f = false;\n for(var j=0; j<results.length; j++){\n if(results[j]==modifier){\n f = true;\n break;\n }\n }\n if(!f)\n results.push(modifier);\n }\n results.sort(function (a,b) {if(a.toLowerCase() == b.toLowerCase()) return(0); else return (a.toLowerCase() < b.toLowerCase()) ? -1 : +1; });\n return results;\n }\n \n function getTimelineArray(){\n var field = "modified";\n var tiddlers = store.getTiddlers(field);\n var dates=[];\n for(var i=0; i<tiddlers.length; i++){\n var tiddler = tiddlers[i];\n var theDate = tiddler[field].convertToYYYYMMDDHHMM().substr(0,8);\n var theDay = tiddler[field].convertToYYYYMMDDHHMM().substr(6,2);\n var theMonth = tiddler[field].convertToYYYYMMDDHHMM().substr(4,2);\n var theYear = tiddler[field].convertToYYYYMMDDHHMM().substr(0,4);\n var yearKey=-1;\n var monthKey=-1;\n var dayKey=-1;\n yearKey=valueInDateArray(dates,theYear);\n if (yearKey==-1){\n dates.push(new Array(theYear,new Array()));\n yearKey = dates.length-1;\n }\n monthKey=valueInDateArray(dates[yearKey][1],theMonth);\n if (monthKey==-1){\n dates[yearKey][1].push(new Array(theMonth,new Array()));\n monthKey = dates[yearKey][1].length-1;\n }\n dayKey=valueInDateArray(dates[yearKey][1][monthKey][1],theDay);\n if (dayKey==-1){\n dates[yearKey][1][monthKey][1].push(new Array(theDay,new Array()));\n dayKey = dates[yearKey][1][monthKey][1].length-1;\n }\n dates[yearKey][1][monthKey][1][dayKey][1].push(tiddler.title); \n }\n return dates;\n }\n \n function getXMLFilePath () {\n var originalPath = document.location.toString();\n // Remove any location part of the URL\n var hashPos = originalPath.indexOf("#");\n if(hashPos != -1)\n originalPath = originalPath.substr(0,hashPos);\n // Convert to a native file format assuming\n // "file:///x:/path/path/path..." - pc local file --> "x:\spath\spath\spath..."\n // "file://///server/share/path/path/path..." - FireFox pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n // "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."\n // "file://server/share/path/path/path..." - pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n var localPath;\n var finalPath;\n if(originalPath.charAt(9) == ":"){ // pc local file\n localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\s\s");\n finalPath = localPath.substr(0,localPath.lastIndexOf("\s\s")) + "\s\s";\n }else if(originalPath.indexOf("file://///") == 0){ // FireFox pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\s\s");\n finalPath = localPath.substr(0,localPath.lastIndexOf("\s\s"))+ "\s\s";\n }else if(originalPath.indexOf("file:///") == 0) {// mac/unix local file\n localPath = unescape(originalPath.substr(7));\n finalPath = localPath.substr(0,localPath.lastIndexOf("/"))+ "/";\n }else if(originalPath.indexOf("file:/") == 0){ // mac/unix local file\n localPath = unescape(originalPath.substr(5));\n finalPath = localPath.substr(0,localPath.lastIndexOf("/"))+ "/";\n }else{ // pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\s\s");\n finalPath = localPath.substr(0,localPath.lastIndexOf("\s\s"))+ "\s\s";\n }\n return finalPath;\n }\n \n function encodeString(str){\n return(str.replace(/\s'/mg,"'").replace(/</mg,"<").replace(/>/mg,">").replace(/\s"/mg,"""));\n //return(escape(str));\n }\n \n //Helper functions for hypergraph object.\n function showGraphInfo(appletName){\n try {\n var graphApplet = document.applets[appletName];\n var graph = graphApplet.getGraphPanel().getGraph();\n return "Graph " + appletName + ": has " + graph.getNodes().size() + " nodes and " + graph.getEdges().size() + " edges." \n }catch (exception) {\n displayMessage(config.macros.hypergraph.messages.appletError.format([applet]) + exception.message);\n }\n }\n \n function centreTree(appletName){\n try {\n var graphApplet = document.applets[appletName];\n var graphPanel = graphApplet.getGraphPanel();\n var graph = graphPanel.getGraph();\n var tree = graph.getSpanningTree();\n var attrManager = tree.getAttributeManager();\n var root = attrManager.getAttribute(attrManager.GRAPH_ROOT, tree);\n graphPanel.centerNode(root);\n }catch (exception) {\n displayMessage(config.macros.hypergraph.messages.appletError.format([applet])+exception.message);\n }\n }\n \n function saveHypergraph() {\n if(!readOnly) {\n var localPath = getXMLFilePath();\n var graphXMLFile = config.options.txtHypergraphXMLfile;\n var localgraphXMLFile = "";\n \n //If config.options.txtHypergraphXMLfile starts with './' remove and use result.\n if (config.options.txtHypergraphXMLfile.indexOf("./") >= 0 ) {\n localgraphXMLFile = config.options.txtHypergraphXMLfile.replace(new RegExp("./","i"),"");\n if (localPath.lastIndexOf("\s\s") >= 0) {\n graphXMLFile = localgraphXMLFile.replace(new RegExp("/","g"),"\s\s");\n } \n }\n var xmlGraphPath = localPath + graphXMLFile;\n var xmlGraphSave = saveFile(xmlGraphPath,convertUnicodeToUTF8(generateHypergraphXML()));\n if(xmlGraphSave){\n displayMessage(config.macros.hypergraph.messages.hypergraphXMLSaved,xmlGraphPath);\n if(!startingUp)\n refreshAll();\n } else {\n alert(this.messages.hypergraphXMLSavedError);\n }\n }\n }\n \n function generateHypergraphXML(){\n var hyperGraph = [];\n var d = new Date();\n var siteUrl = store.getTiddlerText("SiteUrl",null);\n // Assemble the header\n hyperGraph.push("<?xml version='1.0'?>");\n hyperGraph.push("<!DOCTYPE GraphXML SYSTEM '"+ config.macros.hypergraph.graphXMLPath +"'>");\n hyperGraph.push("<GraphXML xmlns:xlink='http://www.w3.org/1999/xlink/namespace/'>");\n hyperGraph.push("<graph id='tiddlymap' version='"+ version.extensions.hypergraph.major + "." + version.extensions.hypergraph.minor + "." + version.extensions.hypergraph.revision+"'>");\n hyperGraph.push("<style>");\n hyperGraph.push("<!-- Node styles -->");\n hyperGraph.push("<line tag='node' class='main' colour='"+ config.macros.hypergraph.node.main.colour +"'/>");\n hyperGraph.push("<line tag='node' class='group' colour='"+ config.macros.hypergraph.node.group.colour +"'/>");\n hyperGraph.push("<line tag='node' class='child' colour='"+ config.macros.hypergraph.node.child.colour +"'/>");\n hyperGraph.push("<line tag='node' class='tiddler' colour='"+ config.macros.hypergraph.node.tiddler.colour +"'/>");\n hyperGraph.push("<!-- Edge styles -->");\n hyperGraph.push("<line tag='edge' class='centre' colour='"+ config.macros.hypergraph.edge.centre.colour +"'/>");\n hyperGraph.push("<line tag='edge' class='tiddler' colour='"+ config.macros.hypergraph.edge.tiddler.colour +"' linestyle='"+ config.macros.hypergraph.edge.tiddler.lineStyle +"'/>");\n hyperGraph.push("<line tag='edge' class='shadowed' colour='"+ config.macros.hypergraph.edge.tiddler.shadowcolour+"' linestyle='"+ config.macros.hypergraph.edge.tiddler.lineStyle +"'/>");\n hyperGraph.push("</style>");\n //Root node\n hyperGraph.push("<node class='main' name='home'><label>Home</label><dataref><ref xlink:href='" + siteUrl +"'/></dataref><style><fill colour='#e0e0ff'/></style></node>");\n hyperGraph.push("<!-- Groups nodes and edges-->");\n \n var groupName=null;\n var groupLabel=null;\n var currentTiddler=null;\n var tiddlers=null;\n \n if (config.options.chkHypergraphMenugraphTiddlers) {\n groupName="tiddlers";\n groupLabel="Tiddlers";\n // generate tiddler nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n tiddlers = store.getTiddlers("title","excludeLists");\n for (var i=0; i<tiddlers.length; i++) {\n currentTiddler = encodeString(tiddlers[i].title);\n hyperGraph.push("<node class='tiddler' name='"+currentTiddler+"'><label>"+currentTiddler+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+currentTiddler+"\s")' xlink:title='"+currentTiddler+"'/></dataref><style><fill colour='"+ config.macros.hypergraph.node.tiddler.fill +"'/></style></node><edge class='tiddler' source='"+ groupName +"' target='"+currentTiddler+"'/>");\n }\n }\n if (config.options.chkHypergraphMenugraphShadowed) {\n groupName="shadowtiddlers";\n groupLabel="Shadow Tiddlers";\n // generate shadow tiddler nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n tiddlers = store.getShadowed();\n for (var i=0; i<tiddlers.length; i++) {\n currentTiddler = encodeString(tiddlers[i]);\n hyperGraph.push("<node class='tiddler' name='"+currentTiddler+"'><label>"+currentTiddler+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+currentTiddler+"\s")' xlink:title='"+currentTiddler+"'/></dataref><style><fill colour='"+ config.macros.hypergraph.node.tiddler.shadow +"'/></style></node><edge class='shadowed' source='"+ groupName +"' target='"+currentTiddler+"'/>");\n }\n }\n if (config.options.chkHypergraphMenugraphTags) {\n groupName="tags";\n groupLabel="Tags";\n // generate tag nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n var tags = store.getTags();\n for (var i=0; i<tags.length; i++) {\n var currentTag = tags[i][0];\n hyperGraph.push("<node class='child' name='"+currentTag+"'><label>"+tags[i]+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+currentTag+"\s")' xlink:title='"+currentTag+"'/></dataref></node><edge class='centre' source='"+ groupName +"' target='"+currentTag+"'/>");\n if (config.options.chkHypergraphMenugraphTagged) {\n var taggedTiddlers;\n taggedTiddlers = store.getTaggedTiddlers(currentTag);\n if (!(taggedTiddlers == null || taggedTiddlers == undefined)) {\n var strTiddlers="";\n taggedTiddlersCount = taggedTiddlers.length-1;\n for (var j=0; j<taggedTiddlers.length; j++) {\n taggedTiddlerTitle = (taggedTiddlers[j].title);\n strTiddlers+=taggedTiddlerTitle;\n if (j<taggedTiddlersCount) {\n strTiddlers+=", ";\n }\n hyperGraph.push("<node class='tiddler' name='tagRef"+currentTag+taggedTiddlerTitle+"'><label>"+taggedTiddlerTitle+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+taggedTiddlerTitle+"\s")' xlink:title='"+taggedTiddlerTitle+"'/></dataref><style><fill colour='"+ config.macros.hypergraph.node.tiddler.fill +"'/></style></node><edge class='tiddler' source='"+currentTag+"' target='tagRef"+currentTag+taggedTiddlerTitle+"'/>");\n }\n }\n }\n }\n }\n if (config.options.chkHypergraphMenugraphDates) {\n groupName="dates";\n groupLabel="Dates";\n // generate date nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n var dated= getTimelineArray();\n for (var years=0; years<dated.length; years++) {\n //create year node and edge.\n currentYear = dated[years][0];\n hyperGraph.push("<node class='group' name='"+currentYear+"'><label>"+currentYear+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='"+groupName+"' target='"+currentYear+"'/>");\n for (var months=0; months<dated[years][1].length; months++) {\n //create month node and edge.\n currentMonth = dated[years][1][months][0];\n hyperGraph.push("<node class='group' name='"+currentYear+currentMonth+"'><label>"+currentMonth+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='"+currentYear+"' target='"+currentYear+currentMonth+"'/>");\n for (var days=0; days<dated[years][1][months][1].length; days++) {\n //create day node and edge.\n currentDay = dated[years][1][months][1][days][0]\n hyperGraph.push("<node class='group' name='"+currentYear+currentMonth+currentDay+"'><label>"+currentDay+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='"+currentYear+currentMonth+"' target='"+currentYear+currentMonth+currentDay+"'/>");\n for (var tiddler=0; tiddler<dated[years][1][months][1][days][1].length; tiddler++) {\n //create tiddler node and edge.\n currentTiddler = encodeString(dated[years][1][months][1][days][1][tiddler]);\n hyperGraph.push("<node class='tiddler' name='dateRef"+currentTiddler+"' isMetanode='true'><label>"+dated[years][1][months][1][days][1][tiddler]+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+currentTiddler+"\s")' xlink:title='"+currentTiddler+"'/></dataref></node><edge class='tiddler' source='"+currentYear+currentMonth+currentDay+"' target='dateRef"+currentTiddler+"'/>");\n }\n }\n }\n }\n }\n if (config.options.chkHypergraphMenugraphModifiers) {\n groupName="modified";\n groupLabel="ModifiedBy";\n // generate tiddler nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n var modifiers= getModifiers();\n for (var i=0; i<modifiers.length; i++) {\n hyperGraph.push("<node class='child' name='"+modifiers[i]+"'><label>"+modifiers[i]+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+modifiers[i]+"\s")' xlink:title='"+modifiers[i]+"'/></dataref></node><edge class='centre' source='"+ groupName +"' target='"+modifiers[i]+"'/>");\n }\n }\n if (config.options.chkHypergraphMenugraphShadowed && config.options.chkHypergraphMenugraphTags) {\n //Metanode\n hyperGraph.push("<node class='child' name='refTabTags1' isMetanode='true'><label>Goto TabTags</label><dataref><ref xlink:href='#TabTags'/></dataref><style><fill xlink:href='./images/point.gif'/></style></node><edge class='centre' source='tags' target='refTabTags1' isDirected='true'/>");\n }\n // Close open tags\n hyperGraph.push("</graph>");\n hyperGraph.push("</GraphXML>");\n \n // Output xml.\n return hyperGraph.join("\sn");\n }\n}\n//}}}
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Plugin_hypergraph.js 455 2007-02-19 18:48:24Z dahukanna $\n===============================================================================\n----\n''Name:'' hypergraph\n''Summary:'' <<getPlugin hypergraph summary>>\n''Description:'' <<getPlugin hypergraph description>>\n''Version:'' <<getPlugin hypergraph >>\n''Date:'' <<getPlugin hypergraph date>>\n''Author:'' <<getPlugin hypergraph author>>\n''Source:'' <<getPlugin hypergraph code>>\n''Documentation:'' <<getPlugin hypergraph doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin hypergraph coreVersion>>\n''Java Virtual Machine(JVM) Version:'' 1.4+\n''Hypergraph jar version:'' [[hypergraph 0.6.3|http://hypergraph.sourceforge.net/]].\n''Download'': [[hypergraph-213.zip|/download/hypergraph-213.zip]].\n----\n!Dependencies\n<<<\n|Dependency |Author |Type |Version |Code URL |Comments |h\n|GetPluginInfo |DawnAhukanna |Macro |2.1.0 |<<getPlugin _GetPluginInfo code>> |<<getPlugin _GetPluginInfo description>>|\n<<<\n\n!Usage\n<<<\nUses the [[hypergraph 0.6.3|http://hypergraph.sourceforge.net/]] applet to create NavigationGraph.\n\n<<<\n!Installation\n<<<\nImport (or copy/paste) the following tiddler(s) into your document listed in the HypergraphPackage tiddler (tagged with <<tag HypergraphPackage>>):\n<<list tagged HypergraphPackage>>\n[[hyperGraph]] plugin declares\n* [[menuGraph]] shadow tiddler that contains default menu ''hypergraph''.\n* configuration settings for generating ''hypergraph'' XML\n* configuration settings for styling fonts, lines and fills for ''hypergraph'' menu.\n* Adds XML generation configuration settings to [[hyperGraphOptions]] shadow tiddler.\nPageTemplate adds the [[menuGraph]] shadow tiddler to the page.\n{{{\n<div id='menuGraph' refresh='content' tiddler='menuGraph'></div>\n}}}\nHypergraphSamples contains sample applet declaration html and ''hypergraph'' macros.\nHypergraphFAQ contains details to queries using Hypergraph TiddlyWiki extension.\n\n!Version macro option\nOutputs ''hypergraph'' version information into the current tiddler.\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph version>>}}} |<<hypergraph version>> |Displays the macroname, version and date in the current tiddler. |\n\n!Centre macro option\nCreates a button that can be used in menus e.g. MainMenu or SideBarOptions\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph centre>>}}} |<<hypergraph centre>> |Centres the loaded ''mainMenuGraph'' hypergraph applet to the ''Home'' node. The ''mainMenuGraph'' hypergraph applet is the default option. |\n|{{{<<hypergraph centre [appletname]>>}}} |<<hypergraph centre hyperApplet>> |Centres the loaded ''hyperApplet'' hypergraph applet to the ''Home'' node. [appletname] is the name attribute of the applet. |\n\n!Info macro option\nOutputs ''hypergraph'' information into the current tiddler.\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph info>>}}} |<<hypergraph info>> |Displays the number of nodes and graphs the loaded ''mainMenuGraph'' hypergraph applet. The ''mainMenuGraph'' hypergraph applet is the default option. |\n|{{{<<hypergraph info [appletname]>>}}} |<<hypergraph info hyperApplet>> |Displays the number of nodes and graphs the loaded ''hyperApplet'' hypergraph applet. [appletname] is the name attribute of the applet. |\n\n!Save HyperGraph XML macro option\nCreates a button that can be used in menus e.g. MainMenu or SideBarOptions\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph saveXML>>}}} |<<hypergraph saveXML>> |Generate and save the hypergraph XML(tiddlerMap.xml). This maps the current TiddlyWiki document. Refresh browser page to load the newly generated XML file.|\n<<<\n!Configuration\n<<<\n!! Applets\nUpto a maximum of ''5 applets'' can be declared and supported by the HyperGraph plugin. To add more applets update the ''config.macros.hypergraph.applets'' array.\n|Configuration Variable |Default Value |Use |h\n|config.macros.hypergraph.applets.mainMenuApplet |mainMenuApplet |Default main menu applet loaded in PageTemplate. |\n|config.macros.hypergraph.applets.demoApplet1 |demoApplet |Demo hypergraph applet |\n|config.macros.hypergraph.applets.demoApplet2 |menuApplet |Demo hypergraph applet loading main menu XML|\n|config.macros.hypergraph.applets.demoApplet3 |orgApplet |Demo hypergraph applet loading organisation XML|\n|config.macros.hypergraph.applets.demoApplet4 |hyperApplet |Demo hypergraph applet |\n!! Generating hypergraph branches using current the Tiddlywiki.\nSet the following configuration variables in [[hyperGraphOptions]] to generate various branches of the hypergraph menu.\n|Configuration Variable |Default Value |Use |h\n|config.options.txtHypergraphXMLfile |./graphs/tiddlerMap.xml |File for saving generated xml output. Always use ''/'' in the path even if on Windows. |\n|config.options.chkHypergraphMenugraphTiddlers |true |Add tiddlers branch to hypergraph menu |\n|config.options.chkHypergraphMenugraphTags |true |Add tags branch to hypergraph menu |\n|config.options.chkHypergraphMenugraphDates |true |Add branch that organises tiddlers within a date structure to hypergraph menu |\n|config.options.chkHypergraphMenugraphShadowed |true |Add shadow tiddlers branch to hypergraph menu |\n|config.options.chkHypergraphMenugraphModifiers |true |Add modifiers (authors) branch to hypergraph menu |\n|config.options.chkHypergraphMenugraphTagged |true |Add tagged tiddler links to hypergraph menu |\n!! Setting colours, linestyles and fills for generated hypergraph.\nSet the following configuration variables to change the font colour, background colour and linestyles for the menu hypergraph.\n|Colour|Use|Configuration Variable|h\n|@@bgcolor(#d0d0ff):color(black): black on light blue@@ |Home node background and font colours |config.macros.hypergraph.node.main.colour, config.macros.hypergraph.node.main.fill |\n|@@bgcolor(#eeeeee):color(black): black on light grey@@ |Group node background and font colours |config.macros.hypergraph.node.group.colour, config.macros.hypergraph.node.group.fill |\n|@@bgcolor(white):color(green): green on white@@ |Child node background and font colours |config.macros.hypergraph.node.child.colour, config.macros.hypergraph.node.child.fill |\n|@@bgcolor(#c0d0f0):color(blue): blue on babyblue@@ |Tiddler node background and font colours |config.macros.hypergraph.node.tiddler.colour, config.macros.hypergraph.node.tiddler.fill |\n|@@bgcolor(green):solid green line@@ |edge to jump point |config.macros.hypergraph.edge.centre.colour, config.macros.hypergraph.edge.centre.lineStyle|\n|@@bgcolor(blue):dashed blue line@@ |edge to tiddler |config.macros.hypergraph.edge.tiddler.colour, config.macros.hypergraph.edge.tiddler.lineStyle |\n|@@bgcolor(#d0d0ff):dashed light blue line@@ |edge to shadow tiddler |config.macros.hypergraph.edge.tiddler.shadowcolour, config.macros.hypergraph.edge.tiddler.lineStyle |\n!! Other configuration settings.\n|Configuration Variable |Default Value |Use |h\n|config.macros.hypergraph.graphXMLPath |../common/GraphXML.dtd |GraphXML DTD path relative to TiddlyWiki. Always use ''/'' in the path even if on Windows. |\n|config.macros.hypergraph.hypergraphJar.path |../common/hyperapplet-0.6.3.jar |Location of hypergraph jar file. Always use ''/'' in the path even if on Windows. |\n|config.macros.hypergraph.hypergraphJar.width |900 |Width of applet |\n|config.macros.hypergraph.hypergraphJar.height |200 |Height of applet |\n|config.macros.hypergraph.hypergraphJar.tiddler |DemoDisplayHypergraphXML |Tiddler that contains the applet html definition|\n|config.macros.hypergraph.label.centre |Centre %0 |Button label for centre macro |\n|config.macros.hypergraph.label.saveXML |Save XML |Button label for saveXML macro |\n|config.macros.hypergraph.prompt.centre |Centre %0 |Button prompt for centre macro |\n|config.macros.hypergraph.prompt.saveXML |Save hypergraph XML %0 for current Tiddlywiki | Button prompt for saveXML macro |\n|config.macros.hypergraph.messages.saveXMLError |XML error %0- select xml file |Reserved Error message |\n|config.macros.hypergraph.messages.appletError |Applet error %0- |Applet error text preceding java exception message |\n|config.macros.hypergraph.messages.hypergraphXMLSaved |Saved xmlgraph file |Successful message for saving hypergraph xml map |\n|config.macros.hypergraph.messages.hypergraphXMLSavedError |Failed to save xmlgraph file |Failure message for saving hypergraph xml map |\n<<<\n!Revision History\n<<<\n|Release |Date |Comments|h\n|2.1.1 |19 Feb 2007 |Fixed bug where tiddler title with an apostrophe broke generation of XML file reported by Daniel Sholler, changed tag line colour to green, added relevant tiddlers to tags.|\n|2.1.0 |22 Jan 2007 |Upgraded for Tiddlywiki 2.1.3|\n|0.9.1 |30 Mar 2006 |Made width of navigation graph 100% of browser window. Added version macro option.|\n|0.9.0 |18 Mar 2006 |Initial release |\n<<<\n!Known Issues\n<<<\n*Does not work in Opera 8.5\n<<<\n!To Do\n<<<\n* Add support for breadcrumbs using on onClickTiddlerLink().\n* Add dynamic updates to hypergraph applet when tiddlers are created, updated and deleted (CRUD cycle).\n* Change the tooltip message to the tiddler title instead of "javascript:story ...".\n* Update xml map on a remote server.\n<<<\n!Credits\n<<<\nThis extension was produced by DawnAhukanna using the [[hypergraph applet|http://hypergraph.sourceforge.net/]].\n<<<
/***\n===============================================================================\nAuthor : Dawn Ahukanna\nVersion : $Id: Plugin_hypergraph.js 455 2007-02-19 18:48:24Z dahukanna $\n===============================================================================\n----\n''Name:'' hypergraph\n''Summary:'' <<getPlugin hypergraph summary>>\n''Description:'' <<getPlugin hypergraph description>>\n''Version:'' <<getPlugin hypergraph >>\n''Date:'' <<getPlugin hypergraph date>>\n''Author:'' <<getPlugin hypergraph author>>\n''Source:'' <<getPlugin hypergraph code>>\n''Documentation:'' <<getPlugin hypergraph doc>>\n''License:'' [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]\n''Browsers:'' InternetExplorer 6.0, FireFox 1.5.x, FireFox 2.0.x\n''~CoreVersion:'' <<getPlugin hypergraph coreVersion>>\n''Java Virtual Machine(JVM) Version:'' 1.4+\n''Hypergraph jar version:'' [[hypergraph 0.6.3|http://hypergraph.sourceforge.net/]].\n''Download'': [[hypergraph-213.zip|/download/hypergraph-213.zip]].\n----\n!Dependencies\n<<<\n|Dependency |Author |Type |Version |Code URL |Comments |h\n|GetPluginInfo |DawnAhukanna |Macro |2.1.0 |<<getPlugin _GetPluginInfo code>> |<<getPlugin _GetPluginInfo description>>|\n<<<\n\n!Usage\n<<<\nUses the [[hypergraph 0.6.3|http://hypergraph.sourceforge.net/]] applet to create NavigationGraph.\n\n<<<\n!Installation\n<<<\nImport (or copy/paste) the following tiddler(s) into your document listed in the HypergraphPackage tiddler (tagged with <<tag HypergraphPackage>>):\n<<list tagged HypergraphPackage>>\n[[hyperGraph]] plugin declares\n* [[menuGraph]] shadow tiddler that contains default menu ''hypergraph''.\n* configuration settings for generating ''hypergraph'' XML\n* configuration settings for styling fonts, lines and fills for ''hypergraph'' menu.\n* Adds XML generation configuration settings to [[hyperGraphOptions]] shadow tiddler.\nPageTemplate adds the [[menuGraph]] shadow tiddler to the page.\n{{{\n<div id='menuGraph' refresh='content' tiddler='menuGraph'></div>\n}}}\nHypergraphSamples contains sample applet declaration html and ''hypergraph'' macros.\nHypergraphFAQ contains details to queries using Hypergraph TiddlyWiki extension.\n\n!Version macro option\nOutputs ''hypergraph'' version information into the current tiddler.\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph version>>}}} |<<hypergraph version>> |Displays the macroname, version and date in the current tiddler. |\n\n!Centre macro option\nCreates a button that can be used in menus e.g. MainMenu or SideBarOptions\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph centre>>}}} |<<hypergraph centre>> |Centres the loaded ''mainMenuGraph'' hypergraph applet to the ''Home'' node. The ''mainMenuGraph'' hypergraph applet is the default option. |\n|{{{<<hypergraph centre [appletname]>>}}} |<<hypergraph centre hyperApplet>> |Centres the loaded ''hyperApplet'' hypergraph applet to the ''Home'' node. [appletname] is the name attribute of the applet. |\n\n!Info macro option\nOutputs ''hypergraph'' information into the current tiddler.\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph info>>}}} |<<hypergraph info>> |Displays the number of nodes and graphs the loaded ''mainMenuGraph'' hypergraph applet. The ''mainMenuGraph'' hypergraph applet is the default option. |\n|{{{<<hypergraph info [appletname]>>}}} |<<hypergraph info hyperApplet>> |Displays the number of nodes and graphs the loaded ''hyperApplet'' hypergraph applet. [appletname] is the name attribute of the applet. |\n\n!Save HyperGraph XML macro option\nCreates a button that can be used in menus e.g. MainMenu or SideBarOptions\n|Macro syntax |Result |Comments |h\n|{{{<<hypergraph saveXML>>}}} |<<hypergraph saveXML>> |Generate and save the hypergraph XML(tiddlerMap.xml). This maps the current TiddlyWiki document. Refresh browser page to load the newly generated XML file.|\n<<<\n!Configuration\n<<<\n!! Applets\nUpto a maximum of ''5 applets'' can be declared and supported by the HyperGraph plugin. To add more applets update the ''config.macros.hypergraph.applets'' array.\n|Configuration Variable |Default Value |Use |h\n|config.macros.hypergraph.applets.mainMenuApplet |mainMenuApplet |Default main menu applet loaded in PageTemplate. |\n|config.macros.hypergraph.applets.demoApplet1 |demoApplet |Demo hypergraph applet |\n|config.macros.hypergraph.applets.demoApplet2 |menuApplet |Demo hypergraph applet loading main menu XML|\n|config.macros.hypergraph.applets.demoApplet3 |orgApplet |Demo hypergraph applet loading organisation XML|\n|config.macros.hypergraph.applets.demoApplet4 |hyperApplet |Demo hypergraph applet |\n!! Generating hypergraph branches using current the Tiddlywiki.\nSet the following configuration variables in [[hyperGraphOptions]] to generate various branches of the hypergraph menu.\n|Configuration Variable |Default Value |Use |h\n|config.options.txtHypergraphXMLfile |./graphs/tiddlerMap.xml |File for saving generated xml output. Always use ''/'' in the path even if on Windows. |\n|config.options.chkHypergraphMenugraphTiddlers |true |Add tiddlers branch to hypergraph menu |\n|config.options.chkHypergraphMenugraphTags |true |Add tags branch to hypergraph menu |\n|config.options.chkHypergraphMenugraphDates |true |Add branch that organises tiddlers within a date structure to hypergraph menu |\n|config.options.chkHypergraphMenugraphShadowed |true |Add shadow tiddlers branch to hypergraph menu |\n|config.options.chkHypergraphMenugraphModifiers |true |Add modifiers (authors) branch to hypergraph menu |\n|config.options.chkHypergraphMenugraphTagged |true |Add tagged tiddler links to hypergraph menu |\n!! Setting colours, linestyles and fills for generated hypergraph.\nSet the following configuration variables to change the font colour, background colour and linestyles for the menu hypergraph.\n|Colour|Use|Configuration Variable|h\n|@@bgcolor(#d0d0ff):color(black): black on light blue@@ |Home node background and font colours |config.macros.hypergraph.node.main.colour, config.macros.hypergraph.node.main.fill |\n|@@bgcolor(#eeeeee):color(black): black on light grey@@ |Group node background and font colours |config.macros.hypergraph.node.group.colour, config.macros.hypergraph.node.group.fill |\n|@@bgcolor(white):color(green): green on white@@ |Child node background and font colours |config.macros.hypergraph.node.child.colour, config.macros.hypergraph.node.child.fill |\n|@@bgcolor(#c0d0f0):color(blue): blue on babyblue@@ |Tiddler node background and font colours |config.macros.hypergraph.node.tiddler.colour, config.macros.hypergraph.node.tiddler.fill |\n|@@bgcolor(green):solid green line@@ |edge to jump point |config.macros.hypergraph.edge.centre.colour, config.macros.hypergraph.edge.centre.lineStyle|\n|@@bgcolor(blue):dashed blue line@@ |edge to tiddler |config.macros.hypergraph.edge.tiddler.colour, config.macros.hypergraph.edge.tiddler.lineStyle |\n|@@bgcolor(#d0d0ff):dashed light blue line@@ |edge to shadow tiddler |config.macros.hypergraph.edge.tiddler.shadowcolour, config.macros.hypergraph.edge.tiddler.lineStyle |\n!! Other configuration settings.\n|Configuration Variable |Default Value |Use |h\n|config.macros.hypergraph.graphXMLPath |../common/GraphXML.dtd |GraphXML DTD path relative to TiddlyWiki. Always use ''/'' in the path even if on Windows. |\n|config.macros.hypergraph.hypergraphJar.path |../common/hyperapplet-0.6.3.jar |Location of hypergraph jar file. Always use ''/'' in the path even if on Windows. |\n|config.macros.hypergraph.hypergraphJar.width |900 |Width of applet |\n|config.macros.hypergraph.hypergraphJar.height |200 |Height of applet |\n|config.macros.hypergraph.hypergraphJar.tiddler |DemoDisplayHypergraphXML |Tiddler that contains the applet html definition|\n|config.macros.hypergraph.label.centre |Centre %0 |Button label for centre macro |\n|config.macros.hypergraph.label.saveXML |Save XML |Button label for saveXML macro |\n|config.macros.hypergraph.prompt.centre |Centre %0 |Button prompt for centre macro |\n|config.macros.hypergraph.prompt.saveXML |Save hypergraph XML %0 for current Tiddlywiki | Button prompt for saveXML macro |\n|config.macros.hypergraph.messages.saveXMLError |XML error %0- select xml file |Reserved Error message |\n|config.macros.hypergraph.messages.appletError |Applet error %0- |Applet error text preceding java exception message |\n|config.macros.hypergraph.messages.hypergraphXMLSaved |Saved xmlgraph file |Successful message for saving hypergraph xml map |\n|config.macros.hypergraph.messages.hypergraphXMLSavedError |Failed to save xmlgraph file |Failure message for saving hypergraph xml map |\n<<<\n!Revision History\n<<<\n|Release |Date |Comments|h\n|2.1.1 |19 Feb 2007 |Fixed bug where tiddler title with an apostrophe broke generation of XML file reported by Daniel Sholler, changed tag line colour to green, added relevant tiddlers to tags.|\n|2.1.0 |22 Jan 2007 |Upgraded for Tiddlywiki 2.1.3|\n|0.9.1 |30 Mar 2006 |Made width of navigation graph 100% of browser window. Added version macro option.|\n|0.9.0 |18 Mar 2006 |Initial release |\n<<<\n!Known Issues\n<<<\n*Does not work in Opera 8.5\n<<<\n!To Do\n<<<\n* Add support for breadcrumbs using on onClickTiddlerLink().\n* Add dynamic updates to hypergraph applet when tiddlers are created, updated and deleted (CRUD cycle).\n* Change the tooltip message to the tiddler title instead of "javascript:story ...".\n* Update xml map on a remote server.\n<<<\n!Credits\n<<<\nThis extension was produced by DawnAhukanna using the [[hypergraph applet|http://hypergraph.sourceforge.net/]].\n<<<\n----\n!Code\n***/\n//{{{\nversion.extensions.hypergraph = {major: 2, minor: 1, revision: 1, date: new Date("Feb 19, 2007"), code: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#hypergraph", doc: "http://project.dahukanna.net/tiddlywiki/twextensions.htm#hypergraphDoc", author:"DawnAhukanna dawn[at]dahukanna[dot]net", summary:"_HyperGraph for TiddlyWiki version 2.1.3 or above.", description: "Uses HyperGraph 0.6.3 applet(http://HyperGraph.sourceforge.net/) to create navigation graphs.", coreVersion: "2.1.0"};\n//Options for generating hypergraph XML for current TiddlyWiki document\n\n//txtHypergraphXMLfile - Default xml file for menu hypergraph and saving generated file.\nmerge(config.options,{chkHypergraphMenugraphTiddlers: true, chkHypergraphMenugraphTags: true, chkHypergraphMenugraphTagged: true, chkHypergraphMenugraphDates: true, chkHypergraphMenugraphShadowed: true, chkHypergraphMenugraphModifiers: true, chkHypergraphMenugraphStructured: false, txtHypergraphXMLfile: "./graphs/tiddlerMap.xml"});\n\n//Define macro properties.\nconfig.macros.hypergraph = {\n dateFormat: "DD MMM YYYY",\n applets: {mainMenuApplet:"mainMenuApplet", demoApplet1:"demoApplet", demoApplet2:"menuApplet", demoApplet3:"orgApplet", demoApplet4:"hyperApplet"},\n graphXMLPath:"../common/GraphXML.dtd", \n hypergraphJar:{path:"./common/hyperapplet-0.6.3.jar", width:"100%", height:200, tiddler:"DemoDisplayHypergraphXML"}, \n label:{centre:"Centre %0", saveXML:"Save XML"}, \n prompt:{centre:"Centre %0", saveXML:"Save hypergraph XML %0 for current Tiddlywiki"},\n messages:{saveXMLError:"XML error %0- select xml file", appletError:"Applet error %0- ", hypergraphXMLSaved:"Saved xmlgraph file", hypergraphXMLSavedError:"Failed to save xmlgraph file"},\n node:{main:{colour:"black",fill:"#d0d0ff"}, group:{colour:"black",fill:"#eeeeee"}, child:{colour:"green",fill:"white"}, tiddler:{colour:"blue",fill:"#c0d0f0",shadow:"#eeeeee"}\n },\n edge:{centre:{colour:"green", lineStyle:"solid"}, tiddler:{colour:"blue", lineStyle:"dashed",shadowcolour:"#d0d0ff"}}\n}\n\n//Shadow tiddlers for default main menu hypergraph applet\n//=== Set hypergraph shadow Tiddler.\nconfig.shadowTiddlers.menuGraph = "<html><div><applet class='sitemap' align='baseline' code='hypergraph.applications.hexplorer.HExplorerApplet.class' name = '"+ config.macros.hypergraph.applets.mainMenuApplet +"' archive='"+ config.macros.hypergraph.hypergraphJar.path +"' width='"+ config.macros.hypergraph.hypergraphJar.width +"' height='"+ config.macros.hypergraph.hypergraphJar.height +"'> <param name='file' value='" + config.options.txtHypergraphXMLfile + "'></applet></div></html>";\nconfig.shadowTiddlers.debug = "";\n//=== Set hypergraph menu options shadow Tiddler.\nvar setHyperGraphOptions = true;\nconfig.shadowTiddlers.hyperGraphOptions = "\sn <<option chkHypergraphMenugraphTiddlers>> Add tiddlers to menugraph.\sn <<option chkHypergraphMenugraphShadowed>> Add shadow tiddlers to menugraph.\sn <<option chkHypergraphMenugraphTags>> Add tags to menugraph.\sn <<option chkHypergraphMenugraphTagged>> Add tagged tiddlers to menugraph.\sn <<option chkHypergraphMenugraphDates>> Add dates to menugraph.\sn <<option chkHypergraphMenugraphModifiers>> Add modifiers to menugraph. \sn <<hypergraph saveXML>> Create new XML file with the options selected.";\n\n//=== Set hypergraph menu options in SideBarOptions shadow Tiddler.\nvar oldSideBarOptions = config.shadowTiddlers.SideBarOptions;\nconfig.shadowTiddlers.SideBarOptions = "<<hypergraph saveXML>><<hypergraph centre>> [[hyperGraphOptions]]" + oldSideBarOptions;\n\n//Define macro functions.\nconfig.macros.hypergraph.handler = function(place,macroName,params){\n /* params[0]: Function, params[1]: Applet Name, params[2]: Hypergraph xml file. */\n var applet=null;\n var prompt=null;\n var label=null;\n\n /* Check for valid appletname in param[1]*/\n if ((params[1] == this.applets.demoApplet1) || (params[1] == this.applets.demoApplet2) || (params[1] == this.applets.demoApplet3) || (params[1] == this.applets.demoApplet4)){\n applet=params[1];\n } else {\n applet=this.applets.mainMenuApplet;\n }\n /* Execute instruction in param[0]*/\n switch (params[0]) {\n case "centre":\n prompt = this.prompt.centre.format([applet]);\n label = this.label.centre.format([applet]);\n createTiddlyButton(place,label,prompt,function(){centreTree(applet); return false;});\n break;\n case "saveXML":\n if(!readOnly) {\n prompt = this.prompt.saveXML.format([applet]);\n label = this.label.saveXML.format([applet]);\n createTiddlyButton(place,label,prompt,function(){saveHypergraph(); return false;});\n }\n break;\n default:\n var graphInfo = null;\n graphInfo = showGraphInfo(applet);\n createTiddlyElement(place,"span",null,null,graphInfo);\n }\n //Helper functions\n function valueInDateArray(dateArray,value){\n var key = -1;\n if (!(dateArray == null || dateArray == undefined)){\n for(var i = 0;i<dateArray.length;i++){\n if(dateArray[i][0] == value){\n key = i;\n break;\n }\n if(key >- 1)\n break;\n }\n }\n return key;\n }\n \n //Helper functions for tiddlers.\n function getModifiers(){\n var results = [];\n var tiddlers = store.getTiddlers("modifier","excludeLists");\n for(var i=0; i<tiddlers.length; i++){\n var modifier = tiddlers[i].modifier;\n var f = false;\n for(var j=0; j<results.length; j++){\n if(results[j]==modifier){\n f = true;\n break;\n }\n }\n if(!f)\n results.push(modifier);\n }\n results.sort(function (a,b) {if(a.toLowerCase() == b.toLowerCase()) return(0); else return (a.toLowerCase() < b.toLowerCase()) ? -1 : +1; });\n return results;\n }\n \n function getTimelineArray(){\n var field = "modified";\n var tiddlers = store.getTiddlers(field);\n var dates=[];\n for(var i=0; i<tiddlers.length; i++){\n var tiddler = tiddlers[i];\n var theDate = tiddler[field].convertToYYYYMMDDHHMM().substr(0,8);\n var theDay = tiddler[field].convertToYYYYMMDDHHMM().substr(6,2);\n var theMonth = tiddler[field].convertToYYYYMMDDHHMM().substr(4,2);\n var theYear = tiddler[field].convertToYYYYMMDDHHMM().substr(0,4);\n var yearKey=-1;\n var monthKey=-1;\n var dayKey=-1;\n yearKey=valueInDateArray(dates,theYear);\n if (yearKey==-1){\n dates.push(new Array(theYear,new Array()));\n yearKey = dates.length-1;\n }\n monthKey=valueInDateArray(dates[yearKey][1],theMonth);\n if (monthKey==-1){\n dates[yearKey][1].push(new Array(theMonth,new Array()));\n monthKey = dates[yearKey][1].length-1;\n }\n dayKey=valueInDateArray(dates[yearKey][1][monthKey][1],theDay);\n if (dayKey==-1){\n dates[yearKey][1][monthKey][1].push(new Array(theDay,new Array()));\n dayKey = dates[yearKey][1][monthKey][1].length-1;\n }\n dates[yearKey][1][monthKey][1][dayKey][1].push(tiddler.title); \n }\n return dates;\n }\n \n function getXMLFilePath () {\n var originalPath = document.location.toString();\n // Remove any location part of the URL\n var hashPos = originalPath.indexOf("#");\n if(hashPos != -1)\n originalPath = originalPath.substr(0,hashPos);\n // Convert to a native file format assuming\n // "file:///x:/path/path/path..." - pc local file --> "x:\spath\spath\spath..."\n // "file://///server/share/path/path/path..." - FireFox pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n // "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."\n // "file://server/share/path/path/path..." - pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n var localPath;\n var finalPath;\n if(originalPath.charAt(9) == ":"){ // pc local file\n localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\s\s");\n finalPath = localPath.substr(0,localPath.lastIndexOf("\s\s")) + "\s\s";\n }else if(originalPath.indexOf("file://///") == 0){ // FireFox pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\s\s");\n finalPath = localPath.substr(0,localPath.lastIndexOf("\s\s"))+ "\s\s";\n }else if(originalPath.indexOf("file:///") == 0) {// mac/unix local file\n localPath = unescape(originalPath.substr(7));\n finalPath = localPath.substr(0,localPath.lastIndexOf("/"))+ "/";\n }else if(originalPath.indexOf("file:/") == 0){ // mac/unix local file\n localPath = unescape(originalPath.substr(5));\n finalPath = localPath.substr(0,localPath.lastIndexOf("/"))+ "/";\n }else{ // pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\s\s");\n finalPath = localPath.substr(0,localPath.lastIndexOf("\s\s"))+ "\s\s";\n }\n return finalPath;\n }\n \n function encodeString(str){\n return(str.replace(/\s'/mg,"'").replace(/</mg,"<").replace(/>/mg,">").replace(/\s"/mg,"""));\n //return(escape(str));\n }\n \n //Helper functions for hypergraph object.\n function showGraphInfo(appletName){\n try {\n var graphApplet = document.applets[appletName];\n var graph = graphApplet.getGraphPanel().getGraph();\n return "Graph " + appletName + ": has " + graph.getNodes().size() + " nodes and " + graph.getEdges().size() + " edges." \n }catch (exception) {\n displayMessage(config.macros.hypergraph.messages.appletError.format([applet]) + exception.message);\n }\n }\n \n function centreTree(appletName){\n try {\n var graphApplet = document.applets[appletName];\n var graphPanel = graphApplet.getGraphPanel();\n var graph = graphPanel.getGraph();\n var tree = graph.getSpanningTree();\n var attrManager = tree.getAttributeManager();\n var root = attrManager.getAttribute(attrManager.GRAPH_ROOT, tree);\n graphPanel.centerNode(root);\n }catch (exception) {\n displayMessage(config.macros.hypergraph.messages.appletError.format([applet])+exception.message);\n }\n }\n \n function saveHypergraph() {\n if(!readOnly) {\n var localPath = getXMLFilePath();\n var graphXMLFile = config.options.txtHypergraphXMLfile;\n var localgraphXMLFile = "";\n \n //If config.options.txtHypergraphXMLfile starts with './' remove and use result.\n if (config.options.txtHypergraphXMLfile.indexOf("./") >= 0 ) {\n localgraphXMLFile = config.options.txtHypergraphXMLfile.replace(new RegExp("./","i"),"");\n if (localPath.lastIndexOf("\s\s") >= 0) {\n graphXMLFile = localgraphXMLFile.replace(new RegExp("/","g"),"\s\s");\n } \n }\n var xmlGraphPath = localPath + graphXMLFile;\n var xmlGraphSave = saveFile(xmlGraphPath,convertUnicodeToUTF8(generateHypergraphXML()));\n if(xmlGraphSave){\n displayMessage(config.macros.hypergraph.messages.hypergraphXMLSaved,xmlGraphPath);\n if(!startingUp)\n refreshAll();\n } else {\n alert(this.messages.hypergraphXMLSavedError);\n }\n }\n }\n \n function generateHypergraphXML(){\n var hyperGraph = [];\n var d = new Date();\n var siteUrl = store.getTiddlerText("SiteUrl",null);\n // Assemble the header\n hyperGraph.push("<?xml version='1.0'?>");\n hyperGraph.push("<!DOCTYPE GraphXML SYSTEM '"+ config.macros.hypergraph.graphXMLPath +"'>");\n hyperGraph.push("<GraphXML xmlns:xlink='http://www.w3.org/1999/xlink/namespace/'>");\n hyperGraph.push("<graph id='tiddlymap' version='"+ version.extensions.hypergraph.major + "." + version.extensions.hypergraph.minor + "." + version.extensions.hypergraph.revision+"'>");\n hyperGraph.push("<style>");\n hyperGraph.push("<!-- Node styles -->");\n hyperGraph.push("<line tag='node' class='main' colour='"+ config.macros.hypergraph.node.main.colour +"'/>");\n hyperGraph.push("<line tag='node' class='group' colour='"+ config.macros.hypergraph.node.group.colour +"'/>");\n hyperGraph.push("<line tag='node' class='child' colour='"+ config.macros.hypergraph.node.child.colour +"'/>");\n hyperGraph.push("<line tag='node' class='tiddler' colour='"+ config.macros.hypergraph.node.tiddler.colour +"'/>");\n hyperGraph.push("<!-- Edge styles -->");\n hyperGraph.push("<line tag='edge' class='centre' colour='"+ config.macros.hypergraph.edge.centre.colour +"'/>");\n hyperGraph.push("<line tag='edge' class='tiddler' colour='"+ config.macros.hypergraph.edge.tiddler.colour +"' linestyle='"+ config.macros.hypergraph.edge.tiddler.lineStyle +"'/>");\n hyperGraph.push("<line tag='edge' class='shadowed' colour='"+ config.macros.hypergraph.edge.tiddler.shadowcolour+"' linestyle='"+ config.macros.hypergraph.edge.tiddler.lineStyle +"'/>");\n hyperGraph.push("</style>");\n //Root node\n hyperGraph.push("<node class='main' name='home'><label>Home</label><dataref><ref xlink:href='" + siteUrl +"'/></dataref><style><fill colour='#e0e0ff'/></style></node>");\n hyperGraph.push("<!-- Groups nodes and edges-->");\n \n var groupName=null;\n var groupLabel=null;\n var currentTiddler=null;\n var tiddlers=null;\n \n if (config.options.chkHypergraphMenugraphTiddlers) {\n groupName="tiddlers";\n groupLabel="Tiddlers";\n // generate tiddler nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n tiddlers = store.getTiddlers("title","excludeLists");\n for (var i=0; i<tiddlers.length; i++) {\n currentTiddler = encodeString(tiddlers[i].title);\n hyperGraph.push("<node class='tiddler' name='"+currentTiddler+"'><label>"+currentTiddler+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+currentTiddler+"\s")' xlink:title='"+currentTiddler+"'/></dataref><style><fill colour='"+ config.macros.hypergraph.node.tiddler.fill +"'/></style></node><edge class='tiddler' source='"+ groupName +"' target='"+currentTiddler+"'/>");\n }\n }\n if (config.options.chkHypergraphMenugraphShadowed) {\n groupName="shadowtiddlers";\n groupLabel="Shadow Tiddlers";\n // generate shadow tiddler nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n tiddlers = store.getShadowed();\n for (var i=0; i<tiddlers.length; i++) {\n currentTiddler = encodeString(tiddlers[i]);\n hyperGraph.push("<node class='tiddler' name='"+currentTiddler+"'><label>"+currentTiddler+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+currentTiddler+"\s")' xlink:title='"+currentTiddler+"'/></dataref><style><fill colour='"+ config.macros.hypergraph.node.tiddler.shadow +"'/></style></node><edge class='shadowed' source='"+ groupName +"' target='"+currentTiddler+"'/>");\n }\n }\n if (config.options.chkHypergraphMenugraphTags) {\n groupName="tags";\n groupLabel="Tags";\n // generate tag nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n var tags = store.getTags();\n for (var i=0; i<tags.length; i++) {\n var currentTag = tags[i][0];\n hyperGraph.push("<node class='child' name='"+currentTag+"'><label>"+tags[i]+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+currentTag+"\s")' xlink:title='"+currentTag+"'/></dataref></node><edge class='centre' source='"+ groupName +"' target='"+currentTag+"'/>");\n if (config.options.chkHypergraphMenugraphTagged) {\n var taggedTiddlers;\n taggedTiddlers = store.getTaggedTiddlers(currentTag);\n if (!(taggedTiddlers == null || taggedTiddlers == undefined)) {\n var strTiddlers="";\n taggedTiddlersCount = taggedTiddlers.length-1;\n for (var j=0; j<taggedTiddlers.length; j++) {\n taggedTiddlerTitle = (taggedTiddlers[j].title);\n strTiddlers+=taggedTiddlerTitle;\n if (j<taggedTiddlersCount) {\n strTiddlers+=", ";\n }\n hyperGraph.push("<node class='tiddler' name='tagRef"+currentTag+taggedTiddlerTitle+"'><label>"+taggedTiddlerTitle+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+taggedTiddlerTitle+"\s")' xlink:title='"+taggedTiddlerTitle+"'/></dataref><style><fill colour='"+ config.macros.hypergraph.node.tiddler.fill +"'/></style></node><edge class='tiddler' source='"+currentTag+"' target='tagRef"+currentTag+taggedTiddlerTitle+"'/>");\n }\n }\n }\n }\n }\n if (config.options.chkHypergraphMenugraphDates) {\n groupName="dates";\n groupLabel="Dates";\n // generate date nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n var dated= getTimelineArray();\n for (var years=0; years<dated.length; years++) {\n //create year node and edge.\n currentYear = dated[years][0];\n hyperGraph.push("<node class='group' name='"+currentYear+"'><label>"+currentYear+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='"+groupName+"' target='"+currentYear+"'/>");\n for (var months=0; months<dated[years][1].length; months++) {\n //create month node and edge.\n currentMonth = dated[years][1][months][0];\n hyperGraph.push("<node class='group' name='"+currentYear+currentMonth+"'><label>"+currentMonth+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='"+currentYear+"' target='"+currentYear+currentMonth+"'/>");\n for (var days=0; days<dated[years][1][months][1].length; days++) {\n //create day node and edge.\n currentDay = dated[years][1][months][1][days][0]\n hyperGraph.push("<node class='group' name='"+currentYear+currentMonth+currentDay+"'><label>"+currentDay+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='"+currentYear+currentMonth+"' target='"+currentYear+currentMonth+currentDay+"'/>");\n for (var tiddler=0; tiddler<dated[years][1][months][1][days][1].length; tiddler++) {\n //create tiddler node and edge.\n currentTiddler = encodeString(dated[years][1][months][1][days][1][tiddler]);\n hyperGraph.push("<node class='tiddler' name='dateRef"+currentTiddler+"' isMetanode='true'><label>"+dated[years][1][months][1][days][1][tiddler]+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+currentTiddler+"\s")' xlink:title='"+currentTiddler+"'/></dataref></node><edge class='tiddler' source='"+currentYear+currentMonth+currentDay+"' target='dateRef"+currentTiddler+"'/>");\n }\n }\n }\n }\n }\n if (config.options.chkHypergraphMenugraphModifiers) {\n groupName="modified";\n groupLabel="ModifiedBy";\n // generate tiddler nodes and edges.\n hyperGraph.push("<node class='group' name='"+groupName+"'><label>"+groupLabel+"</label><style><fill colour='"+ config.macros.hypergraph.node.group.fill +"'/></style></node><edge source='home' target='"+groupName+"'/>");\n //hyperGraph.push(generateHypergraphSections ("group",[groupName,groupLabel]);\n var modifiers= getModifiers();\n for (var i=0; i<modifiers.length; i++) {\n hyperGraph.push("<node class='child' name='"+modifiers[i]+"'><label>"+modifiers[i]+"</label><dataref><ref xlink:href='javascript:story.displayTiddler(null,\s""+modifiers[i]+"\s")' xlink:title='"+modifiers[i]+"'/></dataref></node><edge class='centre' source='"+ groupName +"' target='"+modifiers[i]+"'/>");\n }\n }\n if (config.options.chkHypergraphMenugraphShadowed && config.options.chkHypergraphMenugraphTags) {\n //Metanode\n hyperGraph.push("<node class='child' name='refTabTags1' isMetanode='true'><label>Goto TabTags</label><dataref><ref xlink:href='#TabTags'/></dataref><style><fill xlink:href='./images/point.gif'/></style></node><edge class='centre' source='tags' target='refTabTags1' isDirected='true'/>");\n }\n // Close open tags\n hyperGraph.push("</graph>");\n hyperGraph.push("</GraphXML>");\n \n // Output xml.\n return hyperGraph.join("\sn");\n }\n}\n//}}}
<html><div id='menuButtons'><div class='tabs'><ul>\n<li><a href="http://dahukanna.net" title="Home"><span>Home</span></a></li>\n<li><a href="http://dahukanna.net/wiki" title="Wiki"><span>Wiki</span></a></li>\n<li><a href="javascript:story.displayTiddler(null,'Journal')" title="Journal"><span>Journal</span></a></li>\n<li><a href="javascript:story.displayTiddler(null,'ExtensionDetails');" title="ExtensionDetails"><span>Extension Details</span></a></li>\n<li><a href="javascript:story.displayTiddler(null,'DownloadHyperGraph');" title="DownloadHyperGraph "><span>Download HyperGraph </span></a></li>\n<li><a href="./hypertiddlywiki/index.htm" title="Demo HyperTiddlyWiki"><span>Demo HyperTiddlyWiki</span></a></li>\n</ul></div></div></html>
/* ''Override existing styles'' */\n/*{{{*/\n.headerShadow {\n position: relative;\n padding: 2em 0em 2em 1em;\n left: -1px;\n top: -1px;\n}\n\n.headerForeground {\n position: absolute;\n padding: 2em 0em 2em 1em;\n left: 0px;\n top: 0px;\n}\n\n.siteTitle {font-size: 2em;}\n\n.siteSubtitle {font-size: 1.2em;}\n\n#displayArea {\n margin: 0em 17em 1em 0.5em;\n}\n\n.tiddler {\n padding: 1em 1em 0em 1em;\n border: solid 1px;\n border-top-color: #cccccc;\n border-left-color: #cccccc;\n}\n/*}}}*/\n\n/* ''Declare new styles'' */\n/*{{{*/\n#headerOptions {\n position: relative;\n font-size: 1em;\n right:0px;\n padding: 0em 1em 0em 10em;\n border: none;\n background: transparent;\n}\n\n#contentFooter {\nbackground: #ddddff;\nmargin: 1px 15em 1px 1px;\npadding: 0.5em 1em;\n}\n\n/*}}}*/
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */\n/*{{{*/\n\n#menuButtons .tabs\n{\n float : left;\n width : 100%;\n background : url("./images/tab_b.gif") repeat-x bottom;\n margin-bottom : 4px;\n}\n\n#menuButtons .tabs ul\n{\n margin : 0px;\n padding-left : 10px;\n list-style : none;\n}\n\n#menuButtons .tabs li, #menuButtons .tabs form\n{\n display : inline;\n margin : 0px;\n padding : 0px;\n}\n\n#menuButtons .tabs form\n{\n float : right;\n}\n\n#menuButtons .tabs a\n{\n float : left;\n background : url("./images/tab_r.gif") no-repeat right top;\n border-bottom : 1px solid #84B0C7;\n font-size : x-small;\n font-weight : bold;\n text-decoration : none;\n}\n\n#menuButtons .tabs a:hover\n{\n background-position: 100% -150px;\n}\n\n#menuButtons .tabs A:link, #menuButtons .tabs a:visited,\n#menuButtons .tabs A:active, #menuButtons .tabs a:hover\n{\n color: #1A419D;\n}\n\n#menuButtons .tabs span\n{\n float : left;\n display : block;\n background : url("./images/tab_l.gif") no-repeat left top;\n padding : 5px 9px;\n white-space : nowrap;\n}\n\n#menuButtons .tabs input\n{\n float : right;\n display : inline;\n font-size : 1em;\n}\n\n#menuButtons .tabs td\n{\n font-size : x-small;\n font-weight : bold;\n text-decoration : none;\n}\n\n/* Commented Backslash Hack hides rule from IE5-Mac \s*/\n#menuButtons .tabs span {float : none;}\n/* End IE5-Mac hack */\n\n#menuButtons .tabs A:hover span\n{\n background-position: 0% -150px;\n}\n\n#menuButtons .tabs LI#current a\n{\n background-position: 100% -150px;\n border-width : 0px;\n}\n\n#menuButtons .tabs LI#current span\n{\n background-position: 0% -150px;\n padding-bottom : 6px;\n}\n\n#menuButtons .nav\n{\n background : none;\n border : none;\n border-bottom : 1px solid #84B0C7;\n}\n\n/*}}}*/
/*\nEnsure this is run last by prefixing with ''z''. This can then override plugin settings etc.\n*/\n/*\n==============================================================================\nSet core objects. Should be the same for every TiddlyWiki (configuration).\n==============================================================================\n*/\n//=== Set configuration options.\nconfig.options.txtUserName="DawnAhukanna";\nconfig.options.chkAutoSave=true;\nconfig.options.txtBackupFolder= "zbackup";\nconfig.options.chkAnimate=false;\nconfig.options.chkHttpReadOnly=true;
/*\nEnsure this is run last by prefixing with ''z''. This can then override plugin and [[configuration|zconfiguration]] settings etc.\n*/\n/*\n==============================================================================\nModify core objects. Specific to each TiddlyWiki (customisation).\n==============================================================================\n*/\n//=== Set Shadow Tiddlers for current TiddlyWiki file.\nconfig.shadowTiddlers.DefaultTiddlers="[[Journal]] ExtensionDetails";\nconfig.shadowTiddlers.MainMenu="<<tiddler DefaultTiddlers>>";\nconfig.shadowTiddlers.SiteSubtitle="a reusable non-linear personal web notebook";\nconfig.shadowTiddlers.SiteTitle="TiddlyWiki Extensions <<version>>";\nconfig.shadowTiddlers.SiteUrl="#";\n\n//=== Set Shadow Tiddlers for current style.\nconfig.shadowTiddlers.StyleSheet="[[styleSheetLayoutPlus]][[styleSlidingDoorsTabs]]";\n\n//=== Set Shadow Tiddlers for hypergraph menu options in the SideBar.\nconfig.shadowTiddlers.SideBarOptions="<<hypergraph saveXML>><<hypergraph centre>> [[hyperGraphOptions]]<<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change ThoughtBook advanced options'>>";\n
/*\nEnsure this is run last by prefixing with ''z''. This can then override plugin, [[configuration|zconfiguration]] and [[customisation|zcustomisation]] settings etc.\n*/\n/*\n==============================================================================\nCreate new objects (extension). These could be tags, shadow tiddlers, etc.\n==============================================================================\n*/\n//=== Custom Shadow Tiddlers ===\nconfig.shadowTiddlers.headerOptions="<<search>>";\nconfig.shadowTiddlers.contentFooter="Copyright DawnAhukanna";\n
/*\nEnsure this is run last by prefixing with ''zextension''. This can then override plugin, [[configuration|zconfiguration]], [[customisation|zcustomisation]] and [[extension|zextension]] settings etc.\n*/\n\n/*\n==============================================================================\nCreate new objects for Hypergraph extension.\n==============================================================================\n*/\n//=== New Shadow Tiddlers for hypergraph Package.\nconfig.shadowTiddlers.tabHypergraph="<<list tagged HypergraphPackage>>";\nconfig.shadowTiddlers.tabPackages="<<tabs txtPackagesTab Hypergraph Hypergraph tabHypergraph>>";\nconfig.shadowTiddlers.tabAllTags="<<tabs txtAllTab All 'All tags' TabTags Packs 'Package Tags' tabPackages>>";\n\n\n/*\n==============================================================================\nModify core objects for Hypergraph extension.\n==============================================================================\n*/\n//=== Set hypergraph menu options in the SideBarTabs shadow Tiddler.\nconfig.shadowTiddlers.SideBarTabs="<<tabs txtMainTab Timeline Timeline TabTimeline All 'All thoughts' TabAll Tags 'All tags' tabAllTags More 'More lists' TabMore>>";\n\n\n\n\n