Changeset 77

Show
Ignore:
Timestamp:
04/11/06 20:56:15 (3 years ago)
Author:
DevonJones
Message:

TiddlyWiki 2.0.00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Branches/2.0.00/tiddlywiki.html

    r76 r77  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
    22<script type="text/javascript"> 
    3 var version = {major: 2, minor: 0, revision: 0, beta: 6, date: new Date("Dec 21, 2005"), extensions: {}}; 
     3var version = {major: 2, minor: 0, revision: 0, date: new Date("Jan 5, 2006"), extensions: {}}; 
    44</script> 
    55<!-- 
    6 TiddlyWiki 2.0.0 beta 6 by Jeremy Ruston, (jeremy [at] osmosoft [dot] com) 
    7  
    8 Copyright (c) Osmosoft Limited 2005 
     6TiddlyWiki 2.0.0 by Jeremy Ruston, (jeremy [at] osmosoft [dot] com) 
     7 
     8Copyright (c) Osmosoft Limited 2004-2006 
    99 
    1010Redistribution and use in source and binary forms, with or without modification, 
     
    3636<head> 
    3737<meta http-equiv="Content-Type" content="text/html;charset=utf-8" > 
    38 <title>TiddlyWiki 2.0.0 (beta 6) - a reusable non-linear personal web notebook</title> 
     38<title>TiddlyWiki - a reusable non-linear personal web notebook</title> 
    3939<script type="text/javascript"> 
    4040 
     
    5050        cascadeFast: 20, // Speed for cascade animations (higher == slower) 
    5151        cascadeSlow: 60, // Speed for EasterEgg cascade animations 
    52         cascadeDepth: 5, // Depth of cascade animation 
    53         maxEditRows: 30 // Maximum number of rows in an edit textarea 
     52        cascadeDepth: 5 // Depth of cascade animation 
    5453        }; 
    5554 
     
    7069        chkConfirmDelete: true, 
    7170        txtMainTab: "tabTimeline", 
    72         txtMoreTab: "moreTabAll" 
     71        txtMoreTab: "moreTabAll", 
     72        txtMaxEditRows: "30" 
    7373        }; 
    7474         
     
    127127        wikified: { 
    128128                tag: {labelNoTags: "no tags", labelTags: "tags: ", openTag: "Open tag '%0'", tooltip: "Show tiddlers tagged with '%0'", openAllText: "Open all", openAllTooltip: "Open all of these tiddlers", popupNone: "No other tiddlers tagged with '%0'"}, 
    129                 toolbarClose: {text: "close", tooltip: "Close this tiddler"}, 
    130                 toolbarCloseOthers: {text: "close others", tooltip: "Close all other tiddlers"}, 
    131                 toolbarEdit: {text: "edit", tooltip: "Edit this tiddler"}, 
    132                 toolbarPermalink: {text: "permalink", tooltip: "Permalink for this tiddler"}, 
    133                 toolbarReferences: {text: "references", tooltip: "Show tiddlers that link to this one", popupNone: "No references"}, 
    134                 toolbarJump: {text: "jump", tooltip: "Jump to another open tiddler"}, 
    135129                defaultText: "The tiddler '%0' doesn't yet exist. Double-click to create it", 
    136130                defaultModifier: "(missing)", 
     
    140134                tagPrompt: "Type tags separated with spaces, [[use double square brackets]] if necessary, or add existing", 
    141135                tagChooser: {text: "tags", tooltip: "Choose existing tags to add to this tiddler", popupNone: "There are no tags defined", tagTooltip: "Add the tag '%0'"}, 
    142                 toolbarDone: {text: "done", tooltip: "Save changes to this tiddler"}, 
    143                 toolbarCancel: {text: "cancel", tooltip: "Undo changes to this tiddler"}, 
    144                 toolbarDelete: {text: "delete", tooltip: "Delete this tiddler", warning: "Are you sure you want to delete '%0'?"}, 
    145136                defaultText: "Type the text for '%0'" 
    146137                } 
     
    183174// Commands supported by the toolbar macro 
    184175config.commands = { 
    185         closeTiddler: {}, 
    186         closeOthers: {}, 
    187         editTiddler: {}, 
    188         saveTiddler: {}, 
    189         cancelTiddler: {}, 
    190         deleteTiddler: {}, 
    191         permalink: {}, 
    192         references: {}, 
    193         jump: {} 
     176        closeTiddler: {text: "close", tooltip: "Close this tiddler"}, 
     177        closeOthers: {text: "close others", tooltip: "Close all other tiddlers"}, 
     178        editTiddler: {text: "edit", tooltip: "Edit this tiddler"}, 
     179        saveTiddler: {text: "done", tooltip: "Save changes to this tiddler"}, 
     180        cancelTiddler: {text: "cancel", tooltip: "Undo changes to this tiddler"}, 
     181        deleteTiddler: {text: "delete", tooltip: "Delete this tiddler", warning: "Are you sure you want to delete '%0'?"}, 
     182        permalink: {text: "permalink", tooltip: "Permalink for this tiddler"}, 
     183        references: {text: "references", tooltip: "Show tiddlers that link to this one", popupNone: "No references"}, 
     184        jump: {text: "jump", tooltip: "Jump to another open tiddler"} 
    194185        }; 
    195186         
     
    233224        SideBarOptions: "<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change TiddlyWiki advanced options'>>", 
    234225        OptionsPanel: "These InterfaceOptions for customising TiddlyWiki are saved in your browser\n\nYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> SaveBackups\n<<option chkAutoSave>> AutoSave\n<<option chkRegExpSearch>> RegExpSearch\n<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\n<<option chkAnimate>> EnableAnimations\n\nSee AdvancedOptions", 
    235         AdvancedOptions: "<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\n<<option chkOpenInNewWindow>> OpenLinksInNewWindow\n<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\n<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close\n^^(override with Control or other modifier key)^^\n<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP\n<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\n^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmBeforeDeleting", 
     226        AdvancedOptions: "<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\n<<option chkOpenInNewWindow>> OpenLinksInNewWindow\n<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\n<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close\n^^(override with Control or other modifier key)^^\n<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP\n<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\n^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmBeforeDeleting\nMaximum number of lines in a tiddler edit box: <<option txtMaxEditRows>>", 
    236227        SideBarTabs: "<<tabs txtMainTab Timeline Timeline TabTimeline All 'All tiddlers' TabAll Tags 'All tags' TabTags More 'More lists' TabMore>>", 
    237228        TabTimeline: "<<timeline>>", 
     
    241232        TabMoreMissing: "<<list missing>>", 
    242233        TabMoreOrphans: "<<list orphans>>", 
    243         StyleSheetColors: "/***\n!Colors Used\n*@@bgcolor(#8cf): #8cf - Background blue@@\n*@@bgcolor(#18f): #18f - Top blue@@\n*@@bgcolor(#04b): #04b - Mid blue@@\n*@@bgcolor(#014):color(#fff): #014 - Bottom blue@@\n*@@bgcolor(#031):color(#fff): #031 - Blackish green@@\n*@@bgcolor(#063): #063 - Link green@@\n*@@bgcolor(#0f4): #0f4 - Header link green@@\n*@@bgcolor(#fdf): #fdf - Background pink@@\n*@@bgcolor(#c9c):color(#fff): #c9c - Command pink@@\n*@@bgcolor(#703):color(#fff): #703 - Title red@@\n*@@bgcolor(#866): #866 - Subtitle grey@@\n!Generic Rules /%==============================================%/\n***/\n/*{{{*/\nbody {\n    background: #fff;\n     color: #000;\n}\n\na{\n color: #063;\n}\n\na:hover{\n   background: #04b;\n     color: #fff;\n}\n\na img{\n     border: 0;\n}\n\nh1,h2,h3,h4,h5 {\n     color: #703;\n  background: #8cf;\n}\n/*}}}*/\n/***\n!Header /%==================================================%/\n***/\n/*{{{*/\n#titleLine {\n      color: #fff;\n  background: #04b;\n}\n\n#titleLine a {\n        color: #0f4;\n  font-weight: bold;\n}\n\n#titleLine a:hover {\n background: transparent;\n}\n/*}}}*/\n/***\n!Sidebar options /%=================================================%/\n~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\n***/\n/*{{{*/\n#sidebar {\n       background: #014;\n}\n\n#sidebarOptions a{\n    color: #c9c;\n}\n\n#sidebarOptions a:hover {\n  color: #000;\n  background: #c9c;\n}\n\n#sidebarOptions a:active {\n    color: #000;\n  background: #fff;\n}\n\n#sidebarOptions .sliderPanel {\n        background: #8cf;\n}\n\n#sidebarOptions .sliderPanel a {\n      color: #04b;\n}\n\n#sidebarOptions .sliderPanel a:hover {\n     color: #fff;\n  background: #04b;\n}\n\n#sidebarOptions .sliderPanel a:active {\n       color: #04b;\n  background: #fff;\n}\n/*}}}*/\n/***\n!Sidebar tabs /%=================================================%/\n***/\n/*{{{*/\n\n.tabUnselected {\n   background: #014;\n}\n\n#sidebarTabs {\n        background: #014;\n}\n\n#sidebarTabs .tabSelected{\n    color: #014;\n  background: #8cf;\n}\n\n#sidebarTabs .tabUnselected {\n color: #000;\n  background: #18f;\n}\n\n#sidebarTabs .tabContents{\n    background: #8cf;\n     color: #014;\n}\n\n#sidebarTabs .txtMoreTab .tabSelected,\n#sidebarTabs .txtMoreTab .tabSelected:hover{\n       background: #fff;\n     color: #703;\n}\n\n#sidebarTabs .txtMoreTab .tabUnselected,\n#sidebarTabs .txtMoreTab .tabUnselected:hover{\n   background: #18f;\n     color: #014;\n}\n\n#sidebarTabs .txtMoreTab .tabContents {\n    background: #fff;\n}\n\n#sidebarTabs .tabContents a {\n color: #063;\n}\n\n#sidebarTabs .tabContents a:hover {\n        background: #04b;\n     color: #fff;\n}\n/*}}}*/\n/***\n!Message Area /%=================================================%/\n***/\n/*{{{*/\n#messageArea {\n    background: #063;\n     color: #fff;\n}\n\n#messageArea a:link, #messageArea a:visited {\n      color: #0f4;\n}\n\n#messageArea a:hover {\n     color: #fff;\n}\n\n#messageArea a:active {\n    color: #fff;\n}\n/*}}}*/\n/***\n!Popup /%=================================================%/\n***/\n/*{{{*/\n.popup {\n background: #ff4;\n     border: 1px solid #880;\n}\n\n.popup hr {\n     color: #880;\n  background: #880;\n     border-bottom: 1px;\n}\n\n.popup li.disabled {\n        color: #880;\n}\n\n.popup li a, .popup li a:visited {\n color: #031;\n}\n\n.popup li a:hover {\n        background: #063;\n     color: #ff4;\n}\n/*}}}*/\n/***\n!Tiddler Display /%=================================================%/\n***/\n/*{{{*/\n.tiddler .button {\n     color: #04b;\n  border: 1px solid #fff;\n}\n\n.tiddler .button:hover {\n        color: #014;\n  background: #8cf;\n     border: 1px solid #04b;\n}\n\n.tiddler .button:active {\n       color: #014;\n  background: #04b;\n     border: 1px solid #014;\n}\n\n.tiddler .defaultCommand {\n font-weight: bold;\n}\n\n.shadow .title {\n  color: #888;\n}\n\n.title {\n   color: #703;\n}\n\n.subtitle {\n        color: #866;\n}\n\n.toolbar {\n color: #04b;\n}\n\n.tagging, .tagged {\n        border: 1px solid #c9c;\n       background-color: #fff;\n}\n\n.selected .tagging, .selected .tagged {\n background-color: #fdf;\n       border: 1px solid #c9c;\n}\n\n.tagging .listTitle, .tagged .listTitle {\ncolor: #014;\n}\n\n.footer {\n color: #ddd;\n}\n\n.selected .footer {\n        color: #888;\n}\n\n.sparkline {\n       background: #8cf;\n     border: 0;\n}\n\n.sparktick {\n background: #014;\n}\n\n.errorButton {\n        color: #ff0;\n  background: #f00;\n}\n\n.zoomer {\n     color: #04b;\n  border: 1px solid #04b;\n}\n\n.imageLink {\n    background: transparent;\n}\n\n/*}}}*/\n/***\n''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.viewer .button {\n background: #8cf;\n     color: #014;\n  border-right: 1px solid #04b;\n border-bottom: 1px solid #04b;\n}\n\n.viewer .button:hover {\n  background: #063;\n     color: #fff;\n}\n\n.viewer blockquote {\n       border-left: 3px solid #666;\n}\n\n.viewer table {\n    border: 2px solid #303030;\n}\n\n.viewer th, thead td {\n       background: #996;\n     border: 1px solid #606060;\n    color: #fff;\n}\n\n.viewer td, .viewer tr {\n   border: 1px solid #606060;\n}\n\n.viewer pre {\n        border: 1px solid #703;\n       background: #fdf;\n}\n\n.viewer code {\n        color: #703;\n}\n\n.viewer hr {\n       border: 0;\n    border-top: dashed 1px #606060;\n       color: #666;\n}\n\n.highlight, .marked {\n      background: #ff3;\n}\n/*}}}*/\n/***\n''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.editor input {\n   border: 1px solid #000;\n}\n\n.editor textarea {\n      border: 1px solid #000;\n       width: 100%;\n}\n\n.editorFooter {\n    color: #aaa;\n}\n\n.editorFooter a {\n  color: #04b;\n}\n\n.editorFooter a:hover {\n    color: #fff;\n  background: #063;\n}\n\n.editorFooter a:active {\n      color: #fff;\n  background: #014;\n}\n/*}}}*/", 
    244         StyleSheetLayout: "/***\n!Sections in this Tiddler:\n*Generic rules\n**Links styles\n**Link Exceptions\n*Header\n*Main menu\n*Sidebar\n**Sidebar options\n**Sidebar tabs\n*Message area\n*Popup\n*Tabs\n*Tiddler display\n**Viewer\n**Editor\n*Misc. rules\n!Generic Rules /%==============================================%/\n***/\n/*{{{*/\nbody {\n  font-size: .75em;\n     font-family: arial,helvetica;\n position: relative;\n   margin: 0;\n    padding: 0;\n}\n\nh1,h2,h3,h4,h5 {\n    font-weight: bold;\n    text-decoration: none;\n        padding-left: 0.4em;\n}\n\nh1 {font-size: 1.35em;}\nh2 {font-size: 1.25em;}\nh3 {font-size: 1.1em;}\nh4 {font-size: 1em;}\nh5 {font-size: .9em;}\n\nhr {\n      height: 1px;\n}\n\na{\n text-decoration: none;\n}\n/*}}}*/\n/***\n''Gerneral Link Styles'' /%-----------------------------------------------------------------------------%/\n***/\n/*{{{*/\n.externalLink {\n  text-decoration: underline;\n}\n\n.tiddlyLinkExisting {\n       font-weight: bold;\n}\n\n.tiddlyLinkNonExisting {\n     font-style: italic;\n}\n\n/* the 'a' is required for IE, otherwise it renders the whole tiddler a bold */\na.tiddlyLinkNonExisting.shadow {\n   font-weight: bold;\n}\n/*}}}*/\n/***\n''Exceptions to common link styles'' /%------------------------------------------------------------------%/\n***/\n/*{{{*/\n\n#mainMenu .tiddlyLinkExisting, \n#mainMenu .tiddlyLinkNonExisting,\n#sidebarTabs .tiddlyLinkExisting,\n#sidebarTabs .tiddlyLinkNonExisting,\n#siteTitle .tiddlyLinkExisting,\n#siteTitle .tiddlyLinkNonExisting{\n font-weight: normal;\n font-style: normal;\n}\n\n/*}}}*/\n/***\n!Header /%==================================================%/\n***/\n/*{{{*/\n\n#titleLine {\n    padding: 5em 0em 1em 0em;\n}\n\n#siteTitle {\n    font-size: 3em;\n margin-left: .33em;\n}\n\n#siteSubtitle {\n    padding-left: 1em;\n    font-size: 1.1em;\n}\n\n/*}}}*/\n/***\n!Main menu /%==================================================%/\n***/\n/*{{{*/\n#mainMenu {\n     position: absolute;\n   left: 0;\n      width: 10em;\n  text-align: right;\n    line-height: 1.6em;\n   padding: 1.5em 0.5em 0.5em 0.5em;\n     font-size: 1.1em;\n}\n\n/*}}}*/\n/***\n!Sidebar rules /%==================================================%/\n***/\n/*{{{*/\n#sidebar {\n       position: absolute;\n   right: 0em;\n   width: 16em;\n  font-size: .9em;\n}\n/*}}}*/\n/***\n''Sidebar options'' /%----------------------------------------------------------------------------------%/\n***/\n/*{{{*/\n#sidebarOptions a {\n    padding: 0.3em 1em;\n   display: block;\n}\n\n#sidebarOptions input {\n margin: 0.4em 1em;\n}\n\n#sidebarOptions .sliderPanel {\n       padding: 0.5em;\n       font-size: .85em;\n}\n\n#sidebarOptions .sliderPanel a {\n      font-weight: bold;\n    display: inline;\n      padding: 0;\n}\n\n#sidebarOptions .sliderPanel input {\n        margin: 0 0 .3em 0;\n}\n/*}}}*/\n/***\n''Sidebar tabs'' /%-------------------------------------------------------------------------------------%/\n***/\n/*{{{*/\n#sidebarTabs .tabContents {\n width: 15em;\n  overflow: hidden;\n}\n\n#sidebarTabs .tabSelected {\n   position: relative;\n   top: -2px;\n}\n/*}}}*/\n/***\n!Message area /%==================================================%/\n***/\n/*{{{*/\n#messageArea {\n     padding: 0.5em;\n}\n\n#messageToolbar {\ndisplay: block;\ntext-align: right;\n}\n\n#messageArea a{\n    text-decoration: underline;\n}\n/*}}}*/\n/***\n!Popup /%==================================================%/\n***/\n/*{{{*/\n.popup {\n font-size: .9em;\n      padding: 0.2em;\n       list-style: none;\n     margin: 0;\n}\n\n.popup hr {\n  display: block;\n       height: 1px;\n  width: auto;\n  padding: 0;\n   margin: 0.2em 0em;\n}\n\n.popup li.disabled {\n padding: 0.2em;\n}\n\n.popup li a{\n    display: block;\n       padding: 0.2em;\n}\n/*}}}*/\n/***\n!Tabs /%==================================================%/\n***/\n/*{{{*/\n.tabset {\n     padding: 1em 0em 0em 0.5em;\n}\n\n.tab {\n      margin: 0em 0em 0em 0.25em;\n   padding: 2px;\n}\n\n.tabContents {\n    padding: 0.5em;\n}\n\n.tabContents ul, .tabContents ol {\n      margin: 0;\n    padding: 0;\n}\n\n.tabContents li {\n   list-style: none;\n}\n\n.tabContents li.listLink {\n   margin-left: .75em;\n}\n/*}}}*/\n/***\n!Tiddler display rules /%==================================================%/\n***/\n/*{{{*/\n#displayArea {\n    margin: 1em 17em 0em 14em;\n}\n\n\n.toolbar {\n text-align: right;\n    font-size: .9em;\n      visibility: hidden;\n}\n\n.selected .toolbar {\n        visibility: visible;\n}\n\n.tiddler {\n padding: 1em 1em 0em 1em;\n}\n\n.missing .viewer,.missing .title {\n    font-style: italic;\n}\n\n.title {\n    font-size: 2em;\n       font-weight: bold;\n}\n\n.missing .subtitle {\n display: none\n}\n\n.subtitle {\n       font-size: 1.25em;\n}\n\n/* I'm not a fan of how button looks in tiddlers... */\n.tiddler .button {\n   padding: 0.2em 0.4em;\n}\n\n.tagging {\nmargin: 0.5em 0.5em 0.5em 0;\nfloat: left;\ndisplay: none;\n}\n\n.isTag .tagging {\ndisplay: block;\n}\n\n.tagged {\nmargin: 0.5em;\nfloat: right;\n}\n\n.tagging, .tagged {\nfont-size: 0.9em;\npadding: 0.25em;\n}\n\n.tagging ul, .tagged ul {\nlist-style: none;margin: 0.25em;\npadding: 0;\n}\n\n.tagClear {\nclear: both;\n}\n\n.footer {\n      font-size: .9em;\n}\n\n.footer li {\ndisplay: inline;\n}\n/***\n''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.viewer {\n       line-height: 1.4em;\n   padding-top: 0.5em;\n}\n\n.viewer .button {\n   margin: 0em 0.25em;\n   padding: 0em 0.25em;\n}\n\n.viewer blockquote {\n       line-height: 1.5em;\n   padding-left: 0.8em;\n  margin-left: 2.5em;\n}\n\n.viewer ul, .viewer ol{\n     margin-left: 0.5em;\n   padding-left: 1.5em;\n}\n\n.viewer table {\n    border-collapse: collapse;\n    margin: 0.8em 1.0em;\n}\n\n.viewer th, .viewer td, .viewer tr,.viewer caption{\n        padding: 3px;\n}\n\n.viewer pre {\n     padding: 0.5em;\n       margin-left: 0.5em;\n   font-size: 1.2em;\n     line-height: 1.4em;\n   overflow: auto;\n}\n\n.viewer code {\n  font-size: 1.2em;\n     line-height: 1.4em;\n}\n/*}}}*/\n/***\n''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.editor {\nfont-size: 1.1em;\n}\n\n.editor input, .editor textarea {\n    display: block;\n       width: 100%;\n  font: inherit;\n}\n\n.editorFooter {\n  padding: 0.25em 0em;\n  font-size: .9em;\n}\n\n.fieldsetFix {border: 0;\npadding: 0;\nmargin: 1px 0px 1px 0px;\n}\n/*}}}*/\n/***\n!Misc rules /%==================================================%/\n***/\n/*{{{*/\n.sparkline {\n     line-height: 1em;\n}\n\n.sparktick {\n  outline: 0;\n}\n\n.zoomer {\n   font-size: 1.1em;\n     position: absolute;\n   padding: 1em;\n}\n\n.cascade {\n        font-size: 1.1em;\n     position: absolute;\n   padding: 1em;\n background: #dfd;\n     color: #014;\n  border: 1px solid #014;\n       overflow: hidden;\n}\n/*}}}*/", 
     234        StyleSheetColors: "/***\n!Colors Used\n*@@bgcolor(#8cf): #8cf - Background blue@@\n*@@bgcolor(#18f): #18f - Top blue@@\n*@@bgcolor(#04b): #04b - Mid blue@@\n*@@bgcolor(#014):color(#fff): #014 - Bottom blue@@\n*@@bgcolor(#ffc): #ffc - Bright yellow@@\n*@@bgcolor(#fe8): #fe8 - Highlight yellow@@\n*@@bgcolor(#db4): #db4 - Background yellow@@\n*@@bgcolor(#841): #841 - Border yellow@@\n*@@bgcolor(#703):color(#fff): #703 - Title red@@\n*@@bgcolor(#866): #866 - Subtitle grey@@\n!Generic Rules /%==============================================%/\n***/\n/*{{{*/\nbody {\n  background: #fff;\n     color: #000;\n}\n\na{\n color: #04b;\n}\n\na:hover{\n   background: #04b;\n     color: #fff;\n}\n\na img{\n     border: 0;\n}\n\nh1,h2,h3,h4,h5 {\n     color: #703;\n  background: #8cf;\n}\n\n.button {\n     color: #014;\n  border: 1px solid #fff;\n}\n\n.button:hover {\n color: #014;\n  background: #fe8;\n     border: 1px solid #db4;\n}\n\n.button:active {\n        color: #fff;\n  background: #db4;\n     border: 1px solid #841;\n}\n\n/*}}}*/\n/***\n!Header /%==================================================%/\n***/\n/*{{{*/\n.header {\n background: #04b;\n}\n\n.headerShadow {\n       color: #000;\n}\n\n.headerShadow a {\n  font-weight: normal;\n  color: #000;\n}\n\n.headerForeground {\n        color: #fff;\n}\n\n.headerForeground a {\n      font-weight: normal;\n  color: #8cf;\n}\n\n/*}}}*/\n/***\n!General tabs /%=================================================%/\n***/\n/*{{{*/\n\n.tabSelected{\n color: #014;\n  background: #eee;\n     border-left: 1px solid #ccc;\n  border-top: 1px solid #ccc;\n   border-right: 1px solid #ccc;\n}\n\n.tabUnselected {\n  color: #fff;\n  background: #999;\n}\n\n.tabContents {\n        color: #014;\n  background: #eee;\n     border: 1px solid #ccc;\n}\n\n/*}}}*/\n/***\n!Sidebar options /%=================================================%/\n~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\n***/\n/*{{{*/\n#sidebar {\n}\n\n#sidebarOptions input {\n        border: 1px solid #04b;\n}\n\n#sidebarOptions .sliderPanel {\n  background: #8cf;\n}\n\n#sidebarOptions .sliderPanel a {\n      border: none;\n color: #04b;\n}\n\n#sidebarOptions .sliderPanel a:hover {\n     color: #fff;\n  background: #04b;\n}\n\n#sidebarOptions .sliderPanel a:active {\n       color: #04b;\n  background: #fff;\n}\n/*}}}*/\n/***\n!Message Area /%=================================================%/\n***/\n/*{{{*/\n#messageArea {\n       border: 1px solid #841;\n       background: #db4;\n     color: #014;\n}\n\n#messageArea .button {\n     padding: 0.2em 0.2em 0.2em 0.2em;\n     color: #014;\n  background: #fff;\n}\n\n/*}}}*/\n/***\n!Popup /%=================================================%/\n***/\n/*{{{*/\n.popup {\n  background: #18f;\n     border: 1px solid #04b;\n}\n\n.popup hr {\n     color: #014;\n  background: #014;\n     border-bottom: 1px;\n}\n\n.popup li.disabled {\n        color: #04b;\n}\n\n.popup li a, .popup li a:visited {\n color: #eee;\n  border: none;\n}\n\n.popup li a:hover {\n       background: #014;\n     color: #fff;\n  border: none;\n}\n/*}}}*/\n/***\n!Tiddler Display /%=================================================%/\n***/\n/*{{{*/\n.tiddler .defaultCommand {\n font-weight: bold;\n}\n\n.shadow .title {\n        color: #866;\n}\n\n.title {\n   color: #703;\n}\n\n.subtitle {\n        color: #866;\n}\n\n.toolbar {\n color: #04b;\n}\n\n.tagging, .tagged {\n        border: 1px solid #eee;\n       background-color: #eee;\n}\n\n.selected .tagging, .selected .tagged {\n background-color: #ddd;\n       border: 1px solid #bbb;\n}\n\n.tagging .listTitle, .tagged .listTitle {\n       color: #014;\n}\n\n.tagging a, .tagged a {\n    border: none;\n}\n\n.footer {\n color: #ddd;\n}\n\n.selected .footer {\n        color: #888;\n}\n\n.sparkline {\n       background: #8cf;\n     border: 0;\n}\n\n.sparktick {\n background: #014;\n}\n\n.errorButton {\n        color: #ff0;\n  background: #f00;\n}\n\n.cascade {\n    background: #eef;\n     color: #aac;\n  border: 1px solid #aac;\n}\n\n.imageLink {\n    background: transparent;\n}\n\n/*}}}*/\n/***\n''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\n***/\n/*{{{*/\n\n.viewer .button {\n       border: 1px solid #db4;\n}\n\n.viewer blockquote {\n    border-left: 3px solid #666;\n}\n\n.viewer table {\n    border: 2px solid #333;\n}\n\n.viewer th, thead td {\n  background: #996;\n     border: 1px solid #666;\n       color: #fff;\n}\n\n.viewer td, .viewer tr {\n   border: 1px solid #666;\n}\n\n.viewer pre {\n   border: 1px solid #fe8;\n       background: #ffc;\n}\n\n.viewer code {\n        color: #703;\n}\n\n.viewer hr {\n       border: 0;\n    border-top: dashed 1px #666;\n  color: #666;\n}\n\n.highlight, .marked {\n      background: #fe8;\n}\n/*}}}*/\n/***\n''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.editor input {\n   border: 1px solid #04b;\n}\n\n.editor textarea {\n      border: 1px solid #04b;\n       width: 100%;\n}\n\n.editorFooter {\n    color: #aaa;\n}\n\n/*}}}*/", 
     235        StyleSheetLayout: "/***\n!Sections in this Tiddler:\n*Generic rules\n**Links styles\n**Link Exceptions\n*Header\n*Main menu\n*Sidebar\n**Sidebar options\n**Sidebar tabs\n*Message area\n*Popup\n*Tabs\n*Tiddler display\n**Viewer\n**Editor\n*Misc. rules\n!Generic Rules /%==============================================%/\n***/\n/*{{{*/\nbody {\n  font-size: .75em;\n     font-family: arial,helvetica;\n position: relative;\n   margin: 0;\n    padding: 0;\n}\n\nh1,h2,h3,h4,h5 {\n    font-weight: bold;\n    text-decoration: none;\n        padding-left: 0.4em;\n}\n\nh1 {font-size: 1.35em;}\nh2 {font-size: 1.25em;}\nh3 {font-size: 1.1em;}\nh4 {font-size: 1em;}\nh5 {font-size: .9em;}\n\nhr {\n      height: 1px;\n}\n\na{\n text-decoration: none;\n}\n/*}}}*/\n/***\n''General Link Styles'' /%-----------------------------------------------------------------------------%/\n***/\n/*{{{*/\n.externalLink {\n   text-decoration: underline;\n}\n\n.tiddlyLinkExisting {\n       font-weight: bold;\n}\n\n.tiddlyLinkNonExisting {\n     font-style: italic;\n}\n\n/* the 'a' is required for IE, otherwise it renders the whole tiddler a bold */\na.tiddlyLinkNonExisting.shadow {\n   font-weight: bold;\n}\n/*}}}*/\n/***\n''Exceptions to common link styles'' /%------------------------------------------------------------------%/\n***/\n/*{{{*/\n\n#mainMenu .tiddlyLinkExisting, \n#mainMenu .tiddlyLinkNonExisting,\n#sidebarTabs .tiddlyLinkExisting,\n#sidebarTabs .tiddlyLinkNonExisting,\n#siteTitle .tiddlyLinkExisting,\n#siteTitle .tiddlyLinkNonExisting{\n font-weight: normal;\n font-style: normal;\n}\n\n/*}}}*/\n/***\n!Header /%==================================================%/\n***/\n/*{{{*/\n\n.header {\n    position: relative;\n}\n\n.header a:hover {\n    background: transparent;\n}\n\n.headerShadow {\n        position: relative;\n   padding: 4.5em 0em 1em 1em;\n   left: -1px;\n   top: -1px;\n}\n\n.headerForeground {\n  position: absolute;\n   padding: 4.5em 0em 1em 1em;\n   left: 0px;\n    top: 0px;\n}\n\n.siteTitle {\n  font-size: 3em;\n}\n\n.siteSubtitle {\n font-size: 1.2em;\n}\n\n/*}}}*/\n/***\n!Main menu /%==================================================%/\n***/\n/*{{{*/\n#mainMenu {\n  position: absolute;\n   left: 0;\n      width: 10em;\n  text-align: right;\n    line-height: 1.6em;\n   padding: 1.5em 0.5em 0.5em 0.5em;\n     font-size: 1.1em;\n}\n\n/*}}}*/\n/***\n!Sidebar rules /%==================================================%/\n***/\n/*{{{*/\n#sidebar {\n       position: absolute;\n   right: 3px;\n   width: 16em;\n  font-size: .9em;\n}\n/*}}}*/\n/***\n''Sidebar options'' /%----------------------------------------------------------------------------------%/\n***/\n/*{{{*/\n#sidebarOptions {\n      padding-top: 0.3em;\n}\n\n#sidebarOptions a {\n margin: 0em 0.2em;\n    padding: 0.2em 0.3em;\n display: block;\n}\n\n#sidebarOptions input {\n margin: 0.4em 0.5em;\n}\n\n#sidebarOptions .sliderPanel {\n     margin-left: 1em;\n     padding: 0.5em;\n       font-size: .85em;\n}\n\n#sidebarOptions .sliderPanel a {\n      font-weight: bold;\n    display: inline;\n      padding: 0;\n}\n\n#sidebarOptions .sliderPanel input {\n        margin: 0 0 .3em 0;\n}\n/*}}}*/\n/***\n''Sidebar tabs'' /%-------------------------------------------------------------------------------------%/\n***/\n/*{{{*/\n\n#sidebarTabs .tabContents {\n       width: 15em;\n  overflow: hidden;\n}\n\n/*}}}*/\n/***\n!Message area /%==================================================%/\n***/\n/*{{{*/\n#messageArea {\n    padding: 0.5em;\n}\n\n.messageToolbar {\ndisplay: block;\ntext-align: right;\n}\n\n#messageArea a{\n    text-decoration: underline;\n}\n/*}}}*/\n/***\n!Popup /%==================================================%/\n***/\n/*{{{*/\n.popup {\n font-size: .9em;\n      padding: 0.2em;\n       list-style: none;\n     margin: 0;\n}\n\n.popup hr {\n  display: block;\n       height: 1px;\n  width: auto;\n  padding: 0;\n   margin: 0.2em 0em;\n}\n\n.popup li.disabled {\n padding: 0.2em;\n}\n\n.popup li a{\n    display: block;\n       padding: 0.2em;\n}\n/*}}}*/\n/***\n!Tabs /%==================================================%/\n***/\n/*{{{*/\n.tabset {\n     padding: 1em 0em 0em 0.5em;\n}\n\n.tab {\n      margin: 0em 0em 0em 0.25em;\n   padding: 2px;\n}\n\n.tabContents {\n    padding: 0.5em;\n}\n\n.tabContents ul, .tabContents ol {\n      margin: 0;\n    padding: 0;\n}\n\n.tabContents li {\n   list-style: none;\n}\n\n.tabContents li.listLink {\n   margin-left: .75em;\n}\n/*}}}*/\n/***\n!Tiddler display rules /%==================================================%/\n***/\n/*{{{*/\n#displayArea {\n    margin: 1em 17em 0em 14em;\n}\n\n\n.toolbar {\n text-align: right;\n    font-size: .9em;\n      visibility: hidden;\n}\n\n.selected .toolbar {\n        visibility: visible;\n}\n\n.tiddler {\n padding: 1em 1em 0em 1em;\n}\n\n.missing .viewer,.missing .title {\n    font-style: italic;\n}\n\n.title {\n    font-size: 1.6em;\n     font-weight: bold;\n}\n\n.missing .subtitle {\n display: none\n}\n\n.subtitle {\n       font-size: 1.1em;\n}\n\n/* I'm not a fan of how button looks in tiddlers... */\n.tiddler .button {\n    padding: 0.2em 0.4em;\n}\n\n.tagging {\nmargin: 0.5em 0.5em 0.5em 0;\nfloat: left;\ndisplay: none;\n}\n\n.isTag .tagging {\ndisplay: block;\n}\n\n.tagged {\nmargin: 0.5em;\nfloat: right;\n}\n\n.tagging, .tagged {\nfont-size: 0.9em;\npadding: 0.25em;\n}\n\n.tagging ul, .tagged ul {\nlist-style: none;margin: 0.25em;\npadding: 0;\n}\n\n.tagClear {\nclear: both;\n}\n\n.footer {\n      font-size: .9em;\n}\n\n.footer li {\ndisplay: inline;\n}\n/***\n''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.viewer {\n       line-height: 1.4em;\n   padding-top: 0.5em;\n}\n\n.viewer .button {\n   margin: 0em 0.25em;\n   padding: 0em 0.25em;\n}\n\n.viewer blockquote {\n       line-height: 1.5em;\n   padding-left: 0.8em;\n  margin-left: 2.5em;\n}\n\n.viewer ul, .viewer ol{\n     margin-left: 0.5em;\n   padding-left: 1.5em;\n}\n\n.viewer table {\n    border-collapse: collapse;\n    margin: 0.8em 1.0em;\n}\n\n.viewer th, .viewer td, .viewer tr,.viewer caption{\n        padding: 3px;\n}\n\n.viewer pre {\n     padding: 0.5em;\n       margin-left: 0.5em;\n   font-size: 1.2em;\n     line-height: 1.4em;\n   overflow: auto;\n}\n\n.viewer code {\n  font-size: 1.2em;\n     line-height: 1.4em;\n}\n/*}}}*/\n/***\n''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\n***/\n/*{{{*/\n.editor {\nfont-size: 1.1em;\n}\n\n.editor input, .editor textarea {\n    display: block;\n       width: 100%;\n  font: inherit;\n}\n\n.editorFooter {\n  padding: 0.25em 0em;\n  font-size: .9em;\n}\n\n.fieldsetFix {border: 0;\npadding: 0;\nmargin: 1px 0px 1px 0px;\n}\n/*}}}*/\n/***\n!Misc rules /%==================================================%/\n***/\n/*{{{*/\n.sparkline {\n     line-height: 1em;\n}\n\n.sparktick {\n  outline: 0;\n}\n\n.zoomer {\n   font-size: 1.1em;\n     position: absolute;\n   padding: 1em;\n}\n\n.cascade {\n        font-size: 1.1em;\n     position: absolute;\n   overflow: hidden;\n}\n/*}}}*/", 
    245236        StyleSheetPrint: "@media print {\n#mainMenu, #sidebar, #messageArea {display: none ! important;}\n#displayArea {margin: 1em 1em 0em 1em;}\n}", 
    246         PageTemplate: "<div id='header'>\n<div id='titleLine' macro='gradient vert #1188ff #0044bb'>\n<span id='siteTitle' refresh='content' tiddler='SiteTitle'></span>\n<span id='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div macro='gradient vert #0044bb #001144'><div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div></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>", 
     237        PageTemplate: "<div class='header' macro='gradient vert #18f #04b'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></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>", 
    247238        ViewTemplate: "<div class='toolbar' macro='toolbar -closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (created <span macro='view created date [[DD MMM YYYY]]'></span>)</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>", 
    248239        EditTemplate: "<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>\n<div class='title' macro='view title'></div>\n<div class='editor' macro='edit title'></div>\n<div class='editor' macro='edit text'></div>\n<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>" 
     
    253244// --------------------------------------------------------------------------------- 
    254245 
    255 var store = new TiddlyWiki(); // TiddlyWiki storage 
    256 var story = new Story("tiddlerDisplay","tiddler"); // Main story 
     246var store = null; // TiddlyWiki storage 
     247var story = null; // Main story 
    257248var formatter = null; // Default formatters for the wikifier 
    258249var anim = new Animator(); // Animation engine 
    259250var readOnly = false; // Whether we're in readonly mode 
     251var highlightHack = null; // Embarrassing hack department... 
    260252 
    261253// Starting up 
    262254function main() 
    263255{ 
     256        store = new TiddlyWiki(); 
     257        story = new Story("tiddlerDisplay","tiddler"); 
    264258        addEvent(document,"click",Popup.onDocumentClick); 
    265259        saveTest(); 
     
    452446                                else 
    453447                                        { 
    454                                         rowElement = createTiddlyElement(rowContainer,"tr"); 
     448                                        var rowClass = (rowCount & 1) ? "oddRow" : "evenRow"; 
     449                                        rowElement = createTiddlyElement(rowContainer,"tr",null,rowClass); 
    455450                                        this.rowHandler(w,rowElement,prevColumns); 
    456451                                        } 
     
    943938// --------------------------------------------------------------------------------- 
    944939 
    945 function wikify(source,output,highlightText,highlightCaseSensitive,tiddler) 
     940function wikify(source,output,highlightRegExp,tiddler) 
    946941{ 
    947942        if(source && source != "") 
    948943                { 
    949                 var wikifier = new Wikifier(source,formatter,highlightText,highlightCaseSensitive,tiddler); 
     944                var wikifier = new Wikifier(source,formatter,highlightRegExp,tiddler); 
    950945                wikifier.subWikify(output,null); 
    951946                } 
    952947} 
    953948 
     949// Wikify a named tiddler to plain text 
    954950function wikifyPlain(title) 
    955951{ 
    956952        if(store.tiddlerExists(title)) 
    957953                { 
    958                 var wikifier = new Wikifier(store.getTiddlerText(title),formatter,null,null,store.getTiddler(title)); 
     954                var wikifier = new Wikifier(store.getTiddlerText(title),formatter,null,store.getTiddler(title)); 
    959955                return wikifier.wikifyPlain(); 
    960956                } 
    961957        else 
    962958                return ""; 
     959} 
     960 
     961// Highlight plain text into an element 
     962function highlightify(source,output,highlightRegExp) 
     963{ 
     964        if(source && source != "") 
     965                { 
     966                var wikifier = new Wikifier(source,formatter,highlightRegExp,null); 
     967                wikifier.outputText(output,0,source.length); 
     968                } 
    963969} 
    964970 
     
    966972// source - source string that's going to be wikified 
    967973// formatter - Formatter() object containing the list of formatters to be used 
    968 // highlightText - the text string to highlight 
    969 // highlightCaseSensitive - flag for whether the highlight text is case sensitive 
    970 // tiddler - reference to the tiddler that's taken to be the conainer for this wikification 
    971 function Wikifier(source,formatter,highlightText,highlightCaseSensitive,tiddler) 
     974// highlightRegExp - regular expression of the text string to highlight 
     975// tiddler - reference to the tiddler that's taken to be the container for this wikification 
     976function Wikifier(source,formatter,highlightRegExp,tiddler) 
    972977{ 
    973978        this.source = source; 
     
    975980        this.formatter = formatter; 
    976981        this.nextMatch = 0; 
    977         this.highlightText = highlightText; 
    978         this.highlightCaseSensitive = highlightCaseSensitive; 
    979         this.highlightRegExp = null; 
    980         this.highlightMatch = null; 
    981         if(highlightText) 
    982                 { 
    983                 this.highlightRegExp = new RegExp(highlightText,highlightCaseSensitive ? "mg" : "img"); 
    984                 this.highlightMatch = this.highlightRegExp.exec(this.source); 
     982        this.highlightRegExp = highlightRegExp; 
     983        this.highlightMatch = null;      
     984        if(highlightRegExp) 
     985                { 
     986                highlightRegExp.lastIndex = 0; 
     987                this.highlightMatch = highlightRegExp.exec(source); 
    985988                } 
    986989        this.tiddler = tiddler; 
     
    11861189        var doSearch = function(txt) 
    11871190                { 
    1188                 story.closeAllTiddlers(); 
    1189                 var matches = store.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch,"title","excludeSearch"); 
    1190                 story.highlight(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch); 
    1191                 for(var t=matches.length-1; t>=0; t--) 
    1192                         story.displayTiddler(null,matches[t].title); 
    1193                 var q = config.options.chkRegExpSearch ? "/" : "'"; 
    1194                 if(matches.length > 0) 
    1195                         displayMessage(config.macros.search.successMsg.format([matches.length.toString(),q + txt.value + q])); 
    1196                 else 
    1197                         displayMessage(config.macros.search.failureMsg.format([q + txt.value + q])); 
     1191                story.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch); 
    11981192                lastSearchText = txt.value; 
    11991193                }; 
     
    12481242        var text = store.getTiddlerText(params[0]); 
    12491243        if(text) 
    1250                 wikify(text,wrapper,null,null,store.getTiddler(params[0])); 
     1244                wikify(text,wrapper,null,store.getTiddler(params[0])); 
    12511245} 
    12521246 
     
    13271321        var text = store.getTiddlerText(params[1]); 
    13281322        if(text) 
    1329                 wikify(text,panel,null,null,store.getTiddler(params[1])); 
     1323                wikify(text,panel,null,store.getTiddler(params[1])); 
    13301324} 
    13311325 
     
    15061500                tabset.parentNode.insertBefore(tabContent,tabset.nextSibling); 
    15071501                var contentTitle = theTab.getAttribute("content"); 
    1508                 wikify(store.getTiddlerText(contentTitle),tabContent,null,null,store.getTiddler(contentTitle)); 
     1502                wikify(store.getTiddlerText(contentTitle),tabContent,null,store.getTiddler(contentTitle)); 
    15091503                if(cookie) 
    15101504                        { 
     
    15751569                        { 
    15761570                        case undefined: 
    1577                                 createTiddlyText(place,tiddler[params[0]]); 
     1571                                highlightify(tiddler[params[0]],place,highlightHack); 
    15781572                                break; 
    15791573                        case "link": 
     
    15811575                                break; 
    15821576                        case "wikified": 
    1583                                 wikify(tiddler[params[0]],place,null,null,tiddler); 
     1577                                wikify(tiddler[params[0]],place,highlightHack,tiddler); 
    15841578                                break; 
    15851579                        case "date": 
     
    16161610                                var rows = 10; 
    16171611                                var lines = tiddler.text.match(regexpNewLine); 
     1612                                var maxLines = Math.max(parseInt(config.options.txtMaxEditRows),5) 
    16181613                                if(lines != null && lines.length > rows) 
    16191614                                        rows = lines.length + 5; 
    1620                                 if(rows > config.maxEditRows) 
    1621                                         rows = config.maxEditRows; 
     1615                                rows = Math.min(rows,maxLines); 
    16221616                                e.setAttribute("rows",rows); 
    16231617                                e.setAttribute("edit","text"); 
     
    16831677 
    16841678// Invoke the first command encountered from a given place that is tagged with a specified class 
    1685 config.macros.toolbar.invokeCommand = function(place,theClass) 
     1679config.macros.toolbar.invokeCommand = function(place,theClass,event) 
    16861680{ 
    16871681        var children = place.getElementsByTagName("a") 
     
    16921686                        { 
    16931687                        if(c.onclick instanceof Function) 
    1694                                 c.onclick.call(c,{}); 
     1688                                c.onclick.call(c,event); 
    16951689                        break; 
    16961690                        } 
     
    17241718// --------------------------------------------------------------------------------- 
    17251719 
    1726 config.commands.closeTiddler = { 
    1727         text: config.views.wikified.toolbarClose.text, 
    1728         tooltip: config.views.wikified.toolbarClose.tooltip, 
    1729         handler: function(event,src,title) { 
    1730                         story.closeTiddler(title,true,event.shiftKey || event.altKey); 
    1731                         return false; 
    1732                         } 
    1733 } 
    1734  
    1735 config.commands.closeOthers = { 
    1736         text: config.views.wikified.toolbarCloseOthers.text, 
    1737         tooltip: config.views.wikified.toolbarCloseOthers.tooltip, 
    1738         handler: function(event,src,title) { 
    1739                         story.closeAllTiddlers(title); 
    1740                         return false; 
    1741                         } 
    1742 } 
    1743  
    1744 config.commands.editTiddler = { 
    1745         text: config.views.wikified.toolbarEdit.text, 
    1746         tooltip: config.views.wikified.toolbarEdit.tooltip, 
    1747         handler: function(event,src,title) { 
    1748                         if(!readOnly) 
     1720config.commands.closeTiddler.handler = function(event,src,title) 
     1721{ 
     1722        story.closeTiddler(title,true,event.shiftKey || event.altKey); 
     1723        return false; 
     1724} 
     1725 
     1726config.commands.closeOthers.handler = function(event,src,title) 
     1727{ 
     1728        story.closeAllTiddlers(title); 
     1729        return false; 
     1730} 
     1731 
     1732config.commands.editTiddler.handler = function(event,src,title) 
     1733{ 
     1734        if(!readOnly) 
     1735                { 
     1736                clearMessage(); 
     1737                story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE); 
     1738                story.focusTiddler(title,"text"); 
     1739                return false; 
     1740                } 
     1741} 
     1742 
     1743config.commands.saveTiddler.handler = function(event,src,title) 
     1744{ 
     1745        var newTitle = story.saveTiddler(title,event.shiftKey); 
     1746        story.displayTiddler(null,newTitle); 
     1747        return false; 
     1748} 
     1749 
     1750config.commands.cancelTiddler.handler = function(event,src,title) 
     1751{ 
     1752        story.displayTiddler(null,title); 
     1753        return false; 
     1754} 
     1755 
     1756config.commands.deleteTiddler.handler = function(event,src,title) 
     1757{ 
     1758        var deleteIt = true;  
     1759        if (config.options.chkConfirmDelete) 
     1760                deleteIt = confirm(this.warning.format([title]));  
     1761        if (deleteIt) 
     1762                { 
     1763                store.removeTiddler(title); 
     1764                story.closeTiddler(title,true,event.shiftKey || event.altKey); 
     1765                } 
     1766        return false; 
     1767} 
     1768 
     1769config.commands.permalink.handler = function(event,src,title) 
     1770{ 
     1771        var t = encodeURIComponent(String.encodeTiddlyLink(title)); 
     1772        if(window.location.hash != t) 
     1773                window.location.hash = t; 
     1774        return false; 
     1775} 
     1776 
     1777config.commands.references.handler = function(event,src,title) 
     1778{ 
     1779        var popup = Popup.create(src); 
     1780        if(popup) 
     1781                { 
     1782                var references = store.getReferringTiddlers(title); 
     1783                var c = false; 
     1784                for(var r=0; r<references.length; r++) 
     1785                        if(references[r].title != title) 
    17491786                                { 
    1750                                 clearMessage(); 
    1751                                 story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE); 
    1752                                 story.focusTiddler(title,"text"); 
    1753                                 return false; 
     1787                                createTiddlyLink(createTiddlyElement(popup,"li"),references[r].title,true); 
     1788                                c = true; 
    17541789                                } 
    1755                         } 
    1756 } 
    1757  
    1758 config.commands.saveTiddler = { 
    1759         text: config.views.editor.toolbarDone.text, 
    1760         tooltip: config.views.editor.toolbarDone.tooltip, 
    1761         handler: function(event,src,title) { 
    1762                         var newTitle = story.saveTiddler(title,event.shiftKey); 
    1763                         story.displayTiddler(null,newTitle,null,false,false); 
    1764                         return false; 
    1765                         } 
    1766 } 
    1767  
    1768 config.commands.cancelTiddler = { 
    1769         text: config.views.editor.toolbarCancel.text, 
    1770         tooltip: config.views.editor.toolbarCancel.tooltip, 
    1771         handler: function(event,src,title) { 
    1772                         story.displayTiddler(null,title); 
    1773                         return false; 
    1774                         } 
    1775 } 
    1776  
    1777 config.commands.deleteTiddler = { 
    1778         text: config.views.editor.toolbarDelete.text, 
    1779         tooltip: config.views.editor.toolbarDelete.tooltip, 
    1780         warning: config.views.editor.toolbarDelete.warning, 
    1781         handler: function(event,src,title) { 
    1782                         var deleteIt = true;  
    1783                         if (config.options.chkConfirmDelete) 
    1784                                 deleteIt = confirm(this.warning.format([title]));  
    1785                         if (deleteIt) 
    1786                                 { 
    1787                                 store.removeTiddler(title); 
    1788                                 story.closeTiddler(title,true,event.shiftKey || event.altKey); 
    1789                                 } 
    1790                         return false; 
    1791                         } 
    1792 } 
    1793  
    1794 config.commands.permalink = { 
    1795