From 5782bbf21fd979517012932781179ff941d5b3ca Mon Sep 17 00:00:00 2001 From: Bram Chen Date: Sun, 3 Aug 2014 12:18:56 +0800 Subject: [PATCH 01/76] Add chinese translations for theme button --- languages/zh-Hans/Buttons.multids | 2 ++ languages/zh-Hant/Buttons.multids | 2 ++ 2 files changed, 4 insertions(+) diff --git a/languages/zh-Hans/Buttons.multids b/languages/zh-Hans/Buttons.multids index d608a4ba9..66dba0aff 100644 --- a/languages/zh-Hans/Buttons.multids +++ b/languages/zh-Hans/Buttons.multids @@ -52,3 +52,5 @@ HideSideBar/Caption: 隐藏侧边栏 HideSideBar/Hint: 隐藏侧边栏 ShowSideBar/Caption: 显示侧边栏 ShowSideBar/Hint: 显示侧边栏 +Theme/Caption: 布景主题 +Theme/Hint: 选择布景主题 diff --git a/languages/zh-Hant/Buttons.multids b/languages/zh-Hant/Buttons.multids index 621667495..c3ebb63d6 100644 --- a/languages/zh-Hant/Buttons.multids +++ b/languages/zh-Hant/Buttons.multids @@ -52,3 +52,5 @@ HideSideBar/Caption: 隱藏側邊欄 HideSideBar/Hint: 隱藏側邊欄 ShowSideBar/Caption: 顯示側邊欄 ShowSideBar/Hint: 顯示側邊欄 +Theme/Caption: 佈景主題 +Theme/Hint: 選擇佈景主題 From bf9a87dc0ebf79a8ac1e179f7648e38f324cf3dd Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sun, 3 Aug 2014 09:43:20 +0100 Subject: [PATCH 02/76] Fix CR handling by HTML parser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @pmario and @welford - I’m not presenting this as a fix for #717 because I’m still not in a position to reproduce it. However, I found this during a review of newline handling code, and would be interested if it is implicated in the problems you are reporting. --- core/modules/parsers/wikiparser/rules/html.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/modules/parsers/wikiparser/rules/html.js b/core/modules/parsers/wikiparser/rules/html.js index 0062d5988..71cdfd5dc 100644 --- a/core/modules/parsers/wikiparser/rules/html.js +++ b/core/modules/parsers/wikiparser/rules/html.js @@ -48,7 +48,7 @@ exports.parse = function() { // Advance the parser position to past the tag this.parser.pos = tag.end; // Check for an immediately following double linebreak - var hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\S\n]*\r?\n(?:[^\S\n]*\r?\n|$))/g); + var hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\S\n\r]*\r?\n(?:[^\S\n\r]*\r?\n|$))/g); // Set whether we're in block mode tag.isBlock = this.is.block || hasLineBreak; // Parse the body if we need to @@ -125,7 +125,7 @@ exports.parseTag = function(source,pos,options) { pos = token.end; // Check for a required line break if(options.requireLineBreak) { - token = $tw.utils.parseTokenRegExp(source,pos,/([^\S\n]*\r?\n(?:[^\S\n]*\r?\n|$))/g); + token = $tw.utils.parseTokenRegExp(source,pos,/([^\S\n\r]*\r?\n(?:[^\S\n\r]*\r?\n|$))/g); if(!token) { return null; } From 3529625a6cd406883d12c69e4056ea2b7945f8c0 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sun, 3 Aug 2014 12:35:53 +0100 Subject: [PATCH 03/76] Fix full screen button not supported --- core/modules/startup/rootwidget.js | 17 +++++++++-------- core/modules/utils/dom/browser.js | 9 +++++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/core/modules/startup/rootwidget.js b/core/modules/startup/rootwidget.js index 2cae33040..222950825 100644 --- a/core/modules/startup/rootwidget.js +++ b/core/modules/startup/rootwidget.js @@ -67,14 +67,15 @@ exports.startup = function() { }); }); var fullscreen = $tw.utils.getFullScreenApis(); - $tw.rootWidget.addEventListener("tw-full-screen",function(event) { - if(document[fullscreen._fullscreenElement]) { - document[fullscreen._exitFullscreen](); - } else { - document.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT); - } - }); - + if(fullscreen) { + $tw.rootWidget.addEventListener("tw-full-screen",function(event) { + if(document[fullscreen._fullscreenElement]) { + document[fullscreen._exitFullscreen](); + } else { + document.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT); + } + }); + } // If we're being viewed on a data: URI then give instructions for how to save if(document.location.protocol === "data:") { $tw.rootWidget.dispatchEvent({ diff --git a/core/modules/utils/dom/browser.js b/core/modules/utils/dom/browser.js index 5c397a065..090d5768b 100644 --- a/core/modules/utils/dom/browser.js +++ b/core/modules/utils/dom/browser.js @@ -135,8 +135,8 @@ Return the names of the fullscreen APIs */ exports.getFullScreenApis = function() { var d = document, - db = d.body; - return { + db = d.body, + result = { "_requestFullscreen": db.webkitRequestFullscreen !== undefined ? "webkitRequestFullscreen" : db.mozRequestFullScreen !== undefined ? "mozRequestFullScreen" : db.msRequestFullscreen !== undefined ? "msRequestFullscreen" : @@ -150,6 +150,11 @@ exports.getFullScreenApis = function() { d.msFullscreenElement !== undefined ? "msFullscreenElement" : d.fullscreenElement !== undefined ? "fullscreenElement" : "" }; + if(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement) { + return null; + } else { + return result; + } }; })(); From c3a1af8649ba21544197fadec421cf2f841291c5 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Sun, 3 Aug 2014 15:15:44 +0200 Subject: [PATCH 04/76] german translation till #3529625a6 --- languages/de-DE/Buttons.multids | 13 ++++++++++++- languages/de-DE/Docs/PaletteColours.multids | 1 + languages/de-DE/Import.multids | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/languages/de-DE/Buttons.multids b/languages/de-DE/Buttons.multids index ff1e417cc..f42ba314a 100644 --- a/languages/de-DE/Buttons.multids +++ b/languages/de-DE/Buttons.multids @@ -19,14 +19,21 @@ Delete/Hint: Lösche diesen Tiddler Edit/Caption: bearbeiten Edit/Hint: Bearbeite diesen Tiddler Encryption/Caption: verschlüsseln +Encryption/Hint: Aktivieren oder löschen des Passworts für dieses Wiki Encryption/ClearPassword/Caption: lösche Passwort Encryption/ClearPassword/Hint: Lösche das Passwort und speichere ohne Verschlüsselung Encryption/SetPassword/Caption: ativiere Passwort Encryption/SetPassword/Hint: Definiert ein Passwort, um dieses Wiki zu verschlüsseln +FullScreen/Caption: vollbild +FullScreen/Hint: Aktivieren oder deaktivieren des Vollbild modus +Import/Caption: import +Import/Hint: Importiere Dateien Info/Caption: info Info/Hint: Informationen zu diesem Tiddler anzeigen Home/Caption: home -Home/Hint: Öffne die "default" Tiddler +Home/Hint: Seite neu laden und öffne die standard (default) Tiddler +Language/Caption: sprache +Language/Hint: Auswahl Dialog für die System Sprache NewTiddler/Caption: neuer Tiddler NewTiddler/Hint: Erstelle einen neuen Tiddler More/Caption: mehr @@ -39,7 +46,11 @@ Save/Caption: speichern Save/Hint: Speichere diesen Tiddler SaveWiki/Caption: speichere Änderungen SaveWiki/Hint: Speichere Änderungen +StoryView/Caption: story Modus +StoryView/Hint: Auswahl des Anzeige Modus für die "Story" HideSideBar/Caption: Sidebar ausblenden HideSideBar/Hint: Sidebar ausblenden ShowSideBar/Caption: Sidebar einblenden ShowSideBar/Hint: Sidebar eiblenden +Theme/Caption: Thema +Theme/Hint: Thema auswählen diff --git a/languages/de-DE/Docs/PaletteColours.multids b/languages/de-DE/Docs/PaletteColours.multids index 5d59eb974..04289be65 100644 --- a/languages/de-DE/Docs/PaletteColours.multids +++ b/languages/de-DE/Docs/PaletteColours.multids @@ -6,6 +6,7 @@ alert-highlight: Warnung Hervorhebung alert-muted-foreground: Warnung gedeckt Vordergrund background: Hintergrund Global blockquote-bar: Zitat Markierung +dirty-indicator: Speichern nötig - Indikator code-background: Code Hintergrund code-border: Code Rahmen code-foreground: Code Vordergrund diff --git a/languages/de-DE/Import.multids b/languages/de-DE/Import.multids index 95c10dd4b..f91f92263 100644 --- a/languages/de-DE/Import.multids +++ b/languages/de-DE/Import.multids @@ -6,6 +6,7 @@ Listing/Import/Caption: Importieren Listing/Select/Caption: Auswahl Listing/Status/Caption: Status Listing/Title/Caption: Titel +Upgrader/Plugins/Suppressed/Incompatible: Unterdrückte, inkompatible oder veraltete "plugins" Upgrader/Plugins/Suppressed/Version: Einige "plugins" weden unterdrückt! Importierte plugins: <> sind älter als existierende: <>. Upgrader/Plugins/Upgraded: Aktualisieren der plugins von: <> nach: <> Upgrader/System/Suppressed: Unterdrückte "System Tiddler" From 7d87d73b0b0a2da8baaa64d2b731639bdb5ab284 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Sun, 3 Aug 2014 15:51:26 +0200 Subject: [PATCH 05/76] austrian flag now preserves aspect ratio in page toolbar button --- languages/de-AT/Flag.tid | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/languages/de-AT/Flag.tid b/languages/de-AT/Flag.tid index f7949f286..4080293d7 100644 --- a/languages/de-AT/Flag.tid +++ b/languages/de-AT/Flag.tid @@ -2,7 +2,7 @@ title: $:/language/Flag type: image/svg+xml - - - + + + \ No newline at end of file From edc14f44d2ac6322d42d7cb2917bdb98d63f2d38 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Mon, 4 Aug 2014 13:31:45 +0100 Subject: [PATCH 06/76] Add latest release to table of contents --- editions/tw5.com/tiddlers/TableOfContents.tid | 1 + 1 file changed, 1 insertion(+) diff --git a/editions/tw5.com/tiddlers/TableOfContents.tid b/editions/tw5.com/tiddlers/TableOfContents.tid index a7aff2657..155649251 100644 --- a/editions/tw5.com/tiddlers/TableOfContents.tid +++ b/editions/tw5.com/tiddlers/TableOfContents.tid @@ -330,6 +330,7 @@ $body$ ## [[Release 5.0.11-beta]] ## [[Release 5.0.12-beta]] ## [[Release 5.0.13-beta]] +## [[Release 5.0.14-beta]] ">> From ec3827e5a4b2f1e9fcc757a1e8c69b885d005021 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Mon, 4 Aug 2014 13:31:52 +0100 Subject: [PATCH 07/76] Docs typo --- editions/tw5.com/tiddlers/widgets/TiddlerWidget.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/widgets/TiddlerWidget.tid b/editions/tw5.com/tiddlers/widgets/TiddlerWidget.tid index cd2c81a00..40105cf9d 100644 --- a/editions/tw5.com/tiddlers/widgets/TiddlerWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/TiddlerWidget.tid @@ -12,7 +12,7 @@ The TiddlerWidget sets the CurrentTiddler that applies for processing its conten |!Attribute |!Description | |tiddler |The title of the tiddler to become the new CurrentTiddler | -|class |CSS classes to added to the generated elements | +|class |CSS classes to be added to the generated elements | ! CSS Class Variables From 08f775eac8cb053d08c1c561e65a5eeb87c4c6b6 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Mon, 4 Aug 2014 15:12:33 +0100 Subject: [PATCH 08/76] Recognise .HTA as synonym for .HTML files Fixes #513 --- boot/boot.js | 1 + 1 file changed, 1 insertion(+) diff --git a/boot/boot.js b/boot/boot.js index 698b05bf0..5cfc5409b 100644 --- a/boot/boot.js +++ b/boot/boot.js @@ -1728,6 +1728,7 @@ $tw.boot.startup = function(options) { $tw.utils.registerFileType("text/css","utf8",".css"); $tw.utils.registerFileType("text/html","utf8",".html"); $tw.config.fileExtensionInfo[".htm"] = {type: "text/html"}; + $tw.config.fileExtensionInfo[".hta"] = {type: "text/html"}; $tw.utils.registerFileType("application/hta","utf16le",".hta",{deserializerType:"text/html"}); $tw.utils.registerFileType("application/javascript","utf8",".js"); $tw.utils.registerFileType("application/json","utf8",".json"); From 7953b95d13c7759d7fc19f50aafa35438443d132 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 7 Aug 2014 15:43:48 +0100 Subject: [PATCH 09/76] Include subtiddler in transclusion recursion detection --- core/modules/widgets/transclude.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/modules/widgets/transclude.js b/core/modules/widgets/transclude.js index 174a7a3f8..bc20d44c6 100755 --- a/core/modules/widgets/transclude.js +++ b/core/modules/widgets/transclude.js @@ -85,6 +85,8 @@ TranscludeWidget.prototype.makeRecursionMarker = function() { output.push(this.transcludeField || ""); output.push("|"); output.push(this.transcludeIndex || ""); + output.push("|"); + output.push(this.transcludeSubTiddler || ""); output.push("}"); return output.join(""); }; From e38f924eb5bc9efbfc59422fed18fbf73b2e7727 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 7 Aug 2014 15:45:56 +0100 Subject: [PATCH 10/76] Update language flags to generic plugin icon convention --- core/language/en-GB/{Flag.tid => icon.tid} | 2 +- core/ui/PageControls/language.tid | 13 ++++++++++--- languages/de-AT/{Flag.tid => icon.tid} | 2 +- languages/de-DE/{Flag.tid => icon.tid} | 2 +- languages/fr-FR/{Flag.tid => icon.tid} | 2 +- languages/it-IT/{Flag.tid => icon.tid} | 2 +- languages/ja-JP/{Flag.tid => icon.tid} | 2 +- languages/zh-Hans/{Flag.tid => icon.tid} | 2 +- languages/zh-Hant/{Flag.tid => icon.tid} | 2 +- 9 files changed, 18 insertions(+), 11 deletions(-) rename core/language/en-GB/{Flag.tid => icon.tid} (94%) rename languages/de-AT/{Flag.tid => icon.tid} (88%) rename languages/de-DE/{Flag.tid => icon.tid} (94%) rename languages/fr-FR/{Flag.tid => icon.tid} (89%) rename languages/it-IT/{Flag.tid => icon.tid} (95%) rename languages/ja-JP/{Flag.tid => icon.tid} (88%) rename languages/zh-Hans/{Flag.tid => icon.tid} (96%) rename languages/zh-Hant/{Flag.tid => icon.tid} (95%) diff --git a/core/language/en-GB/Flag.tid b/core/language/en-GB/icon.tid similarity index 94% rename from core/language/en-GB/Flag.tid rename to core/language/en-GB/icon.tid index c826dcc29..1967b895f 100644 --- a/core/language/en-GB/Flag.tid +++ b/core/language/en-GB/icon.tid @@ -1,4 +1,4 @@ -title: $:/language/Flag +title: $:/languages/en-GB/icon type: image/svg+xml diff --git a/core/ui/PageControls/language.tid b/core/ui/PageControls/language.tid index b6afd1f7e..9c074b02a 100644 --- a/core/ui/PageControls/language.tid +++ b/core/ui/PageControls/language.tid @@ -3,10 +3,15 @@ tags: $:/tags/PageControls caption: {{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}} description: {{$:/language/Buttons/Language/Hint}} +\define flag-title() +$(languagePluginTitle)$/icon +\end <$button popup=<> title={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<> selectedClass="tw-selected"> <$list filter="[prefix[yes]]"> -<$image source="$:/language/Flag"/> +<$set name="languagePluginTitle" value={{$:/language}}> +<$image source=<>/> + <$list filter="[prefix[yes]]"> @@ -27,11 +32,13 @@ description: {{$:/language/Buttons/Language/Hint}} -<$transclude subtiddler="$:/language/Flag"> +<$set name="languagePluginTitle" value=<>> +<$transclude subtiddler=<>> <$list filter="[all[current]field:title[$:/languages/en-GB]]"> -<$transclude tiddler="$:/core" subtiddler="$:/language/Flag"/> +<$transclude tiddler="$:/languages/en-GB/icon"/> + <$view field="description"> <$view field="name"> diff --git a/languages/de-AT/Flag.tid b/languages/de-AT/icon.tid similarity index 88% rename from languages/de-AT/Flag.tid rename to languages/de-AT/icon.tid index 4080293d7..a0b4315b0 100644 --- a/languages/de-AT/Flag.tid +++ b/languages/de-AT/icon.tid @@ -1,4 +1,4 @@ -title: $:/language/Flag +title: $:/languages/de-AT/icon type: image/svg+xml diff --git a/languages/de-DE/Flag.tid b/languages/de-DE/icon.tid similarity index 94% rename from languages/de-DE/Flag.tid rename to languages/de-DE/icon.tid index b4cede8da..4847c1df0 100644 --- a/languages/de-DE/Flag.tid +++ b/languages/de-DE/icon.tid @@ -1,4 +1,4 @@ -title: $:/language/Flag +title: $:/languages/de-DE/icon type: image/svg+xml diff --git a/languages/fr-FR/Flag.tid b/languages/fr-FR/icon.tid similarity index 89% rename from languages/fr-FR/Flag.tid rename to languages/fr-FR/icon.tid index 4d932af67..a7ec4d9d0 100644 --- a/languages/fr-FR/Flag.tid +++ b/languages/fr-FR/icon.tid @@ -1,4 +1,4 @@ -title: $:/language/Flag +title: $:/languages/fr-FR/icon type: image/svg+xml diff --git a/languages/it-IT/Flag.tid b/languages/it-IT/icon.tid similarity index 95% rename from languages/it-IT/Flag.tid rename to languages/it-IT/icon.tid index 41339390d..157744a52 100644 --- a/languages/it-IT/Flag.tid +++ b/languages/it-IT/icon.tid @@ -1,4 +1,4 @@ -title: $:/language/Flag +title: $:/languages/it-IT/icon type: image/svg+xml diff --git a/languages/ja-JP/Flag.tid b/languages/ja-JP/icon.tid similarity index 88% rename from languages/ja-JP/Flag.tid rename to languages/ja-JP/icon.tid index 0d97d6dd3..345771fb3 100644 --- a/languages/ja-JP/Flag.tid +++ b/languages/ja-JP/icon.tid @@ -1,4 +1,4 @@ -title: $:/language/Flag +title: $:/languages/ja-JP/icon type: image/svg+xml diff --git a/languages/zh-Hans/Flag.tid b/languages/zh-Hans/icon.tid similarity index 96% rename from languages/zh-Hans/Flag.tid rename to languages/zh-Hans/icon.tid index a2c02c02f..ba8400636 100644 --- a/languages/zh-Hans/Flag.tid +++ b/languages/zh-Hans/icon.tid @@ -1,4 +1,4 @@ -title: $:/language/Flag +title: $:/languages/zh-Hans/icon type: image/svg+xml diff --git a/languages/zh-Hant/Flag.tid b/languages/zh-Hant/icon.tid similarity index 95% rename from languages/zh-Hant/Flag.tid rename to languages/zh-Hant/icon.tid index 41ffb7007..97c8f6ab4 100644 --- a/languages/zh-Hant/Flag.tid +++ b/languages/zh-Hant/icon.tid @@ -1,4 +1,4 @@ -title: $:/language/Flag +title: $:/languages/zh-Hant/icon type: image/svg+xml From c5b941dc1a526f59f5fb65db66a9229cf1d4e529 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 7 Aug 2014 15:46:30 +0100 Subject: [PATCH 11/76] Update author of German translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Shouldn’t really credit @jermolene, since it is actually @pmario who has done the work. --- languages/de-AT/plugin.info | 3 +-- languages/de-CH/plugin.info | 2 +- languages/de-DE/plugin.info | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/languages/de-AT/plugin.info b/languages/de-AT/plugin.info index aa9a3816c..d26db0ee0 100644 --- a/languages/de-AT/plugin.info +++ b/languages/de-AT/plugin.info @@ -3,8 +3,7 @@ "name": "de-AT", "plugin-type": "language", "description": "Deutsch (Österreich)", - "author": "JeremyRuston", - "maintainer": "MarioPietsch aka pmario", + "author": "MarioPietsch aka pmario", "core-version": ">=5.0.0", "dependents": ["$:/languages/de-DE"], "plugin-priority": 110 diff --git a/languages/de-CH/plugin.info b/languages/de-CH/plugin.info index 0f51ec615..f7b36ff66 100644 --- a/languages/de-CH/plugin.info +++ b/languages/de-CH/plugin.info @@ -3,7 +3,7 @@ "name": "de-CH", "plugin-type": "language", "description": "Deutsch (Schweiz)", - "author": "JeremyRuston", + "author": "MarioPietsch aka pmario", "core-version": ">=5.0.0", "dependents": ["$:/languages/de-DE"], "plugin-priority": 110 diff --git a/languages/de-DE/plugin.info b/languages/de-DE/plugin.info index 3d99907b7..bdf0c7401 100644 --- a/languages/de-DE/plugin.info +++ b/languages/de-DE/plugin.info @@ -3,8 +3,7 @@ "name": "de-DE", "plugin-type": "language", "description": "Deutsch (Deutschland)", - "author": "JeremyRuston", - "maintainer": "MarioPietsch aka pmario", + "author": "MarioPietsch aka pmario", "core-version": ">=5.0.0", "plugin-priority": 100 } From 2c4e9a64e9fbca0acd62f1861e3e1d34e0225c3d Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 7 Aug 2014 15:48:38 +0100 Subject: [PATCH 12/76] Extend control panel plugins tab Now we display plugin icons, and an accordion containing information tabs exposed by the plugin. --- core/ui/ControlPanel/Plugins.tid | 41 ++++++++++++++++++++++++++++++++ core/ui/PluginInfo.tid | 15 ++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 core/ui/PluginInfo.tid diff --git a/core/ui/ControlPanel/Plugins.tid b/core/ui/ControlPanel/Plugins.tid index 47c0e9663..ece3ba717 100644 --- a/core/ui/ControlPanel/Plugins.tid +++ b/core/ui/ControlPanel/Plugins.tid @@ -3,11 +3,24 @@ tags: $:/tags/ControlPanel caption: {{$:/language/ControlPanel/Plugins/Caption}} \define lingo-base() $:/language/ControlPanel/Plugins/ +\define popup-state-macro() +$(qualified-state)$-$(currentTiddler)$ +\end +\define tabs-state-macro() +$(popup-state)$-$(pluginInfoType)$ +\end +\define plugin-icon-title() +$(currentTiddler)$/icon +\end \define plugin-table(type) +<$set name="qualified-state" value=<>> + <$list filter="[!has[draft.of]plugin-type[$type$]sort[description]]"> +<$set name="popup-state" value=<>> + + + + +
+  + <> @@ -15,9 +28,23 @@ caption: {{$:/language/ControlPanel/Plugins/Caption}}
+<$reveal type="nomatch" state=<> text="yes"> +<$button class="btn-invisible btn-dropdown" set=<> setTo="yes"> +{{$:/core/images/right-arrow}} + + +<$reveal type="match" state=<> text="yes"> +<$button class="btn-invisible btn-dropdown" set=<> setTo="no"> +{{$:/core/images/down-arrow}} + + + <$link to={{!!title}}> +<$transclude tiddler=<> subtiddler=<>/> ''<$view field="description"><$view field="title"/>''
<$view field="title"/> @@ -26,9 +53,23 @@ caption: {{$:/language/ControlPanel/Plugins/Caption}} <$view field="version"/>
+<$reveal type="match" text="yes" state=<>> +<$reveal type="nomatch" text="" state="!!list"> +<$macrocall $name="tabs" state=<> tabsList={{!!list}} default="readme" template="$:/core/ui/PluginInfo"/> + +<$reveal type="match" text="" state="!!list"> +<$transclude tiddler="$:/core/ui/TiddlerInfo/Advanced/PluginInfo"/> + + +
+ \end ! <> diff --git a/core/ui/PluginInfo.tid b/core/ui/PluginInfo.tid new file mode 100644 index 000000000..08167f1ec --- /dev/null +++ b/core/ui/PluginInfo.tid @@ -0,0 +1,15 @@ +title: $:/core/ui/PluginInfo + +\define localised-info-tiddler-title() +$(currentTiddler)$/$(languageTitle)$/$(currentTab)$ +\end +\define info-tiddler-title() +$(currentTiddler)$/$(currentTab)$ +\end +<$transclude tiddler=<> mode="block"> +<$transclude tiddler=<> subtiddler=<> mode="block"> +<$transclude tiddler=<> subtiddler=<> mode="block"> +No ''"<$text text=<>/>"'' found + + + From 017ba740e5fd787959e8efe9874a2e105133df5c Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 7 Aug 2014 15:48:50 +0100 Subject: [PATCH 13/76] Temporary icon for core plugin --- core/icon.tid | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 core/icon.tid diff --git a/core/icon.tid b/core/icon.tid new file mode 100644 index 000000000..fb8262d61 --- /dev/null +++ b/core/icon.tid @@ -0,0 +1,3 @@ +title: $:/core/icon + +{{$:/core/images/globe}} From 3842657392b814f6fad79186be58df05e42510b2 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 7 Aug 2014 15:49:52 +0100 Subject: [PATCH 14/76] Add/update plugin readmes Notice that translators need to translate the core plugin readme --- core/plugin.info | 3 ++- core/readme.tid | 8 ++++++++ languages/de-AT/CoreReadMe.tid | 3 +++ languages/de-DE/CoreReadMe.tid | 5 +++++ languages/fr-FR/CoreReadMe.tid | 5 +++++ languages/it-IT/CoreReadMe.tid | 5 +++++ languages/ja-JP/CoreReadMe.tid | 5 +++++ languages/zh-Hans/CoreReadMe.tid | 5 +++++ languages/zh-Hant/CoreReadMe.tid | 5 +++++ plugins/tiddlywiki/browser-sniff/plugin.info | 3 ++- plugins/tiddlywiki/codemirror/plugin.info | 3 ++- .../codemirror/{instructions.tid => readme.tid} | 2 +- plugins/tiddlywiki/github-fork-ribbon/plugin.info | 3 ++- plugins/tiddlywiki/googleanalytics/plugin.info | 3 ++- plugins/tiddlywiki/highlight/plugin.info | 3 ++- 15 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 core/readme.tid create mode 100644 languages/de-AT/CoreReadMe.tid create mode 100644 languages/de-DE/CoreReadMe.tid create mode 100644 languages/fr-FR/CoreReadMe.tid create mode 100644 languages/it-IT/CoreReadMe.tid create mode 100644 languages/ja-JP/CoreReadMe.tid create mode 100644 languages/zh-Hans/CoreReadMe.tid create mode 100644 languages/zh-Hant/CoreReadMe.tid rename plugins/tiddlywiki/codemirror/{instructions.tid => readme.tid} (96%) diff --git a/core/plugin.info b/core/plugin.info index 5ad83fcc0..ce3e1b025 100644 --- a/core/plugin.info +++ b/core/plugin.info @@ -3,5 +3,6 @@ "description": "TiddlyWiki5 core plugin", "author": "JeremyRuston", "core-version": ">=5.0.0", - "plugin-priority": "0" + "plugin-priority": "0", + "list": "readme" } diff --git a/core/readme.tid b/core/readme.tid new file mode 100644 index 000000000..a65d54927 --- /dev/null +++ b/core/readme.tid @@ -0,0 +1,8 @@ +title: $:/core/readme + +This plugin contains TiddlyWiki's core components, comprising: + +* JavaScript code modules +* Icons +* Templates needed to create TiddlyWiki's user interface +* British English (''en-GB'') translations of the localisable strings used by the core diff --git a/languages/de-AT/CoreReadMe.tid b/languages/de-AT/CoreReadMe.tid new file mode 100644 index 000000000..23c96c662 --- /dev/null +++ b/languages/de-AT/CoreReadMe.tid @@ -0,0 +1,3 @@ +title: $:/core/de-AT/readme + +{{$:/core/de-DE/readme}} diff --git a/languages/de-DE/CoreReadMe.tid b/languages/de-DE/CoreReadMe.tid new file mode 100644 index 000000000..571421d0e --- /dev/null +++ b/languages/de-DE/CoreReadMe.tid @@ -0,0 +1,5 @@ +title: $:/core/de-DE/readme + + + +{{$:/core/readme}} diff --git a/languages/fr-FR/CoreReadMe.tid b/languages/fr-FR/CoreReadMe.tid new file mode 100644 index 000000000..f02ac37a2 --- /dev/null +++ b/languages/fr-FR/CoreReadMe.tid @@ -0,0 +1,5 @@ +title: $:/core/fr-FR/readme + + + +{{$:/core/readme}} diff --git a/languages/it-IT/CoreReadMe.tid b/languages/it-IT/CoreReadMe.tid new file mode 100644 index 000000000..a42f5a2bb --- /dev/null +++ b/languages/it-IT/CoreReadMe.tid @@ -0,0 +1,5 @@ +title: $:/core/it-IT/readme + + + +{{$:/core/readme}} diff --git a/languages/ja-JP/CoreReadMe.tid b/languages/ja-JP/CoreReadMe.tid new file mode 100644 index 000000000..779fdbd3f --- /dev/null +++ b/languages/ja-JP/CoreReadMe.tid @@ -0,0 +1,5 @@ +title: $:/core/ja-JP/readme + + + +{{$:/core/readme}} diff --git a/languages/zh-Hans/CoreReadMe.tid b/languages/zh-Hans/CoreReadMe.tid new file mode 100644 index 000000000..315a8acf5 --- /dev/null +++ b/languages/zh-Hans/CoreReadMe.tid @@ -0,0 +1,5 @@ +title: $:/core/zh-Hans/readme + + + +{{$:/core/readme}} diff --git a/languages/zh-Hant/CoreReadMe.tid b/languages/zh-Hant/CoreReadMe.tid new file mode 100644 index 000000000..4c9bc8ae6 --- /dev/null +++ b/languages/zh-Hant/CoreReadMe.tid @@ -0,0 +1,5 @@ +title: $:/core/zh-Hant/readme + + + +{{$:/core/readme}} diff --git a/plugins/tiddlywiki/browser-sniff/plugin.info b/plugins/tiddlywiki/browser-sniff/plugin.info index 1fbadbc64..7d6ef0df3 100644 --- a/plugins/tiddlywiki/browser-sniff/plugin.info +++ b/plugins/tiddlywiki/browser-sniff/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/browser-sniff", "description": "Browser sniffing for TiddlyWiki", "author": "JeremyRuston", - "core-version": ">=5.0.0" + "core-version": ">=5.0.0", + "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror/plugin.info b/plugins/tiddlywiki/codemirror/plugin.info index d30d03c3b..ab4f375b3 100644 --- a/plugins/tiddlywiki/codemirror/plugin.info +++ b/plugins/tiddlywiki/codemirror/plugin.info @@ -1,5 +1,6 @@ { "title": "$:/plugins/tiddlywiki/codemirror", "description": "Codemirror plugin", - "author": "JeremyRuston" + "author": "JeremyRuston", + "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror/instructions.tid b/plugins/tiddlywiki/codemirror/readme.tid similarity index 96% rename from plugins/tiddlywiki/codemirror/instructions.tid rename to plugins/tiddlywiki/codemirror/readme.tid index 30997f314..520b2bd37 100644 --- a/plugins/tiddlywiki/codemirror/instructions.tid +++ b/plugins/tiddlywiki/codemirror/readme.tid @@ -1,4 +1,4 @@ -title: $:/plugins/tiddlywiki/codemirror/instructions +title: $:/plugins/tiddlywiki/codemirror/readme ! Setting ~CodeMirror Content Types diff --git a/plugins/tiddlywiki/github-fork-ribbon/plugin.info b/plugins/tiddlywiki/github-fork-ribbon/plugin.info index e1eb90d0b..fd24224c4 100644 --- a/plugins/tiddlywiki/github-fork-ribbon/plugin.info +++ b/plugins/tiddlywiki/github-fork-ribbon/plugin.info @@ -1,5 +1,6 @@ { "title": "$:/plugins/tiddlywiki/github-fork-ribbon", "description": "GitHub-style ribbon in pure CSS", - "author": "Simon Whitaker, adapted for TiddlyWiki by JeremyRuston" + "author": "Simon Whitaker, adapted for TiddlyWiki by JeremyRuston", + "list": "readme" } diff --git a/plugins/tiddlywiki/googleanalytics/plugin.info b/plugins/tiddlywiki/googleanalytics/plugin.info index 01bf77fd1..3f001afdf 100644 --- a/plugins/tiddlywiki/googleanalytics/plugin.info +++ b/plugins/tiddlywiki/googleanalytics/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/googleanalytics", "description": "Google Analytics plugin for TiddlyWiki5", "author": "JeremyRuston", - "core-version": ">=5.0.0" + "core-version": ">=5.0.0", + "list": "readme" } diff --git a/plugins/tiddlywiki/highlight/plugin.info b/plugins/tiddlywiki/highlight/plugin.info index cb6b18889..2fa057447 100644 --- a/plugins/tiddlywiki/highlight/plugin.info +++ b/plugins/tiddlywiki/highlight/plugin.info @@ -1,5 +1,6 @@ { "title": "$:/plugins/tiddlywiki/highlight", "description": "Highlight.js plugin for TiddlyWiki5", - "author": "JoaoBolila" + "author": "JoaoBolila", + "list": "license" } From 7528f3d3cd64db6a8f0c0872d6cc7491c7b48486 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 7 Aug 2014 15:50:02 +0100 Subject: [PATCH 15/76] Update plugin documentation --- .../tiddlers/mechanisms/PluginMechanism.tid | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid b/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid index 5ea0a4922..44a4a5f76 100644 --- a/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid +++ b/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid @@ -1,5 +1,5 @@ created: 20130826122000000 -modified: 20131214094840608 +modified: 20140807094840608 tags: mechanism title: PluginMechanism type: text/vnd.tiddlywiki @@ -84,3 +84,23 @@ Plugins can also be included manually by copying them into the `plugins` subfold The wiki object keeps track of all of the currently loaded plugins. If a request for a tiddler isn't in the store then the wiki looks through the cascade of plugins to find the requested tiddler. It is a similar idea to the way that shadow tiddlers are implemented in classic TiddlyWiki. In the browser, any constituent tiddlers that are JavaScript modules (ie shadow tiddlers of content type `application/javascript` and possessing the field `module-type`) are executed during startup processing. + +! Standard Tiddlers for Plugins + +Plugin authors are encouraged to provide special information and documentation tiddlers that TiddlyWiki can include as plugin information tabs in the [[control panel|$:/ControlPanel]]. + +Plugins should provide an icon contained in a tiddler with the title formed of `/icon` (for example, [[$:/core/icon]]). + +Plugins expose the names of the individual information tabs that they wish to display in the `list` field of the plugin tiddler. By convention, some or all of the following should be provided: + +* ''readme'': basic information about the plugin +* ''license'': the license under which the plugin is published + +The process used to generate the title of the information tiddler is as follows: + +# `//` (for example, ''$:/core/en-GB/readme'') +# `/` (for example, ''$:/core/readme'') + +Thus, plugins can provide language-specific versions of each information tiddler. + +Note that information tiddlers should not reference other tiddlers within the plugin. This is because plugins containing themes or languages are dynamically switched in and out as they are selected, and so their information tiddlers may not be available for viewing. The control panel uses the 'subtiddler' attribute of the TranscludeWidget to access these tiddlers, which works independently of the plugin switching mechanism. From 5260899d8b090e8886e41e3aa770fdcf5967ad8c Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 7 Aug 2014 16:00:20 +0100 Subject: [PATCH 16/76] Relax requirement for newline after macro definition --- core/modules/parsers/wikiparser/rules/macrodef.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/parsers/wikiparser/rules/macrodef.js b/core/modules/parsers/wikiparser/rules/macrodef.js index 7c4094b96..5956dcadd 100644 --- a/core/modules/parsers/wikiparser/rules/macrodef.js +++ b/core/modules/parsers/wikiparser/rules/macrodef.js @@ -58,7 +58,7 @@ exports.parse = function() { var reEnd; if(this.match[3]) { // If so, the end of the body is marked with \end - reEnd = /(\r?\n\\end\r?\n)/mg; + reEnd = /(\r?\n\\end(?:$|\r?\n))/mg; } else { // Otherwise, the end of the definition is marked by the end of the line reEnd = /(\r?\n)/mg; From 737b6adc7da2d3a94c1d7c27c0c4de6f559c9e62 Mon Sep 17 00:00:00 2001 From: Bram Chen Date: Fri, 8 Aug 2014 14:40:12 +0800 Subject: [PATCH 17/76] Add chinese translations of the core plugin readme --- languages/zh-Hans/CoreReadMe.tid | 7 ++++++- languages/zh-Hant/CoreReadMe.tid | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/languages/zh-Hans/CoreReadMe.tid b/languages/zh-Hans/CoreReadMe.tid index 315a8acf5..ac288ede2 100644 --- a/languages/zh-Hans/CoreReadMe.tid +++ b/languages/zh-Hans/CoreReadMe.tid @@ -1,5 +1,10 @@ title: $:/core/zh-Hans/readme - +此插件包含 TiddlyWiki 的核心组件,包括: + +* JavaScript 代码模块 +* 图标 +* 创建 TiddlyWiki 的用户介面所需的模板 +* 核心所使用的可当地语系化字串的英国英语 (''en-GB'') 翻译 {{$:/core/readme}} diff --git a/languages/zh-Hant/CoreReadMe.tid b/languages/zh-Hant/CoreReadMe.tid index 4c9bc8ae6..72142e487 100644 --- a/languages/zh-Hant/CoreReadMe.tid +++ b/languages/zh-Hant/CoreReadMe.tid @@ -1,5 +1,10 @@ title: $:/core/zh-Hant/readme - +此插件包含 TiddlyWiki 的核心元件,包括: + +* JavaScript 程式碼模組 +* 圖示 +* 建立 TiddlyWiki 的使用者介面所需的範本 +* 核心所使用的可當地語系化字串的英國英語 (''en-GB'') 翻譯 {{$:/core/readme}} From 7cd13f71630bdc2fef67f2b9b9f601ffff0ceff0 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 07:49:48 +0100 Subject: [PATCH 18/76] Give Cecily a readme --- plugins/tiddlywiki/cecily/plugin.info | 3 ++- plugins/tiddlywiki/cecily/readme.tid | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 plugins/tiddlywiki/cecily/readme.tid diff --git a/plugins/tiddlywiki/cecily/plugin.info b/plugins/tiddlywiki/cecily/plugin.info index 1463a4a58..d60579389 100644 --- a/plugins/tiddlywiki/cecily/plugin.info +++ b/plugins/tiddlywiki/cecily/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/cecily", "description": "Zoomable User Interface for TiddlyWiki", "author": "JeremyRuston", - "core-version": ">=5.0.0" + "core-version": ">=5.0.0", + "list": "readme" } diff --git a/plugins/tiddlywiki/cecily/readme.tid b/plugins/tiddlywiki/cecily/readme.tid new file mode 100644 index 000000000..c12e6b314 --- /dev/null +++ b/plugins/tiddlywiki/cecily/readme.tid @@ -0,0 +1,7 @@ +title: $:/plugins/tiddlywiki/cecily/readme + +This plugin provides a new story visualisation that displays individual tiddlers as resizable tiles on an infinite canvas. + +Cecily is based on an earlier plugin for TiddlyWiki Classic: http://jermolene.com/cecily + +Cecily is currently in the early stages of development with little functionality yet implemented. From 3d7e43fa7aa1ee0e98d5ca4454aee00d434a44c2 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 07:50:00 +0100 Subject: [PATCH 19/76] Move the Cecily icon --- {core/images => plugins/tiddlywiki/cecily}/storyview-cecily.tid | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {core/images => plugins/tiddlywiki/cecily}/storyview-cecily.tid (100%) diff --git a/core/images/storyview-cecily.tid b/plugins/tiddlywiki/cecily/storyview-cecily.tid similarity index 100% rename from core/images/storyview-cecily.tid rename to plugins/tiddlywiki/cecily/storyview-cecily.tid From 38431507d2124305bb104c789b02ed418d758038 Mon Sep 17 00:00:00 2001 From: Bram Chen Date: Fri, 8 Aug 2014 14:52:53 +0800 Subject: [PATCH 20/76] Typos --- languages/zh-Hans/CoreReadMe.tid | 2 -- languages/zh-Hant/CoreReadMe.tid | 2 -- 2 files changed, 4 deletions(-) diff --git a/languages/zh-Hans/CoreReadMe.tid b/languages/zh-Hans/CoreReadMe.tid index ac288ede2..7a7435ab8 100644 --- a/languages/zh-Hans/CoreReadMe.tid +++ b/languages/zh-Hans/CoreReadMe.tid @@ -6,5 +6,3 @@ title: $:/core/zh-Hans/readme * 图标 * 创建 TiddlyWiki 的用户介面所需的模板 * 核心所使用的可当地语系化字串的英国英语 (''en-GB'') 翻译 - -{{$:/core/readme}} diff --git a/languages/zh-Hant/CoreReadMe.tid b/languages/zh-Hant/CoreReadMe.tid index 72142e487..36c7e629e 100644 --- a/languages/zh-Hant/CoreReadMe.tid +++ b/languages/zh-Hant/CoreReadMe.tid @@ -6,5 +6,3 @@ title: $:/core/zh-Hant/readme * 圖示 * 建立 TiddlyWiki 的使用者介面所需的範本 * 核心所使用的可當地語系化字串的英國英語 (''en-GB'') 翻譯 - -{{$:/core/readme}} From b64b1ab9cc2182ef802f2659e39d14ef26155c18 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 10:00:40 +0100 Subject: [PATCH 21/76] Better icon for the core plugin --- core/icon.tid | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/icon.tid b/core/icon.tid index fb8262d61..933275a2c 100644 --- a/core/icon.tid +++ b/core/icon.tid @@ -1,3 +1,8 @@ title: $:/core/icon +tags: $:/tags/Image -{{$:/core/images/globe}} + + + + + \ No newline at end of file From d01efe86980586dba93d2434d028db68e530c93c Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 10:00:59 +0100 Subject: [PATCH 22/76] Generic fallback icons for plugins --- core/images/plugin-generic-language.tid | 8 ++++++++ core/images/plugin-generic-plugin.tid | 8 ++++++++ core/images/plugin-generic-theme.tid | 8 ++++++++ 3 files changed, 24 insertions(+) create mode 100644 core/images/plugin-generic-language.tid create mode 100644 core/images/plugin-generic-plugin.tid create mode 100644 core/images/plugin-generic-theme.tid diff --git a/core/images/plugin-generic-language.tid b/core/images/plugin-generic-language.tid new file mode 100644 index 000000000..1c5aa3ce5 --- /dev/null +++ b/core/images/plugin-generic-language.tid @@ -0,0 +1,8 @@ +title: $:/core/images/plugin-generic-language +tags: $:/tags/Image + + + + + + \ No newline at end of file diff --git a/core/images/plugin-generic-plugin.tid b/core/images/plugin-generic-plugin.tid new file mode 100644 index 000000000..eb24b4e0b --- /dev/null +++ b/core/images/plugin-generic-plugin.tid @@ -0,0 +1,8 @@ +title: $:/core/images/plugin-generic-plugin +tags: $:/tags/Image + + + + + + \ No newline at end of file diff --git a/core/images/plugin-generic-theme.tid b/core/images/plugin-generic-theme.tid new file mode 100644 index 000000000..3785aa1b1 --- /dev/null +++ b/core/images/plugin-generic-theme.tid @@ -0,0 +1,8 @@ +title: $:/core/images/plugin-generic-theme +tags: $:/tags/Image + + + + + + \ No newline at end of file From bd92dc3692c5dcb4f0722c1b6d563c237cff355e Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 10:01:21 +0100 Subject: [PATCH 23/76] Improve plugin tab layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s still a bit of a mess, and the vertical alignment isn’t working properly --- core/ui/ControlPanel/Plugins.tid | 61 ++++++++++++++---------------- themes/tiddlywiki/vanilla/base.tid | 17 +++++++++ 2 files changed, 45 insertions(+), 33 deletions(-) diff --git a/core/ui/ControlPanel/Plugins.tid b/core/ui/ControlPanel/Plugins.tid index ece3ba717..a63026cc8 100644 --- a/core/ui/ControlPanel/Plugins.tid +++ b/core/ui/ControlPanel/Plugins.tid @@ -14,23 +14,10 @@ $(currentTiddler)$/icon \end \define plugin-table(type) <$set name="qualified-state" value=<>> - - - - - - - <$list filter="[!has[draft.of]plugin-type[$type$]sort[description]]"> <$set name="popup-state" value=<>> - - - - - - - - + - -
-  - -<> - -<> -
+
+
<$reveal type="nomatch" state=<> text="yes"> <$button class="btn-invisible btn-dropdown" set=<> setTo="yes"> {{$:/core/images/right-arrow}} @@ -41,34 +28,42 @@ $(currentTiddler)$/icon {{$:/core/images/down-arrow}} -
-<$link to={{!!title}}> -<$transclude tiddler=<> subtiddler=<>/> -''<$view field="description"><$view field="title"/>''
-<$view field="title"/> - -
+ +<$link to={{!!title}} class="tw-plugin-info-link"> +
+
+<$transclude tiddler=<> subtiddler=<>> +<$transclude tiddler="$:/core/images/plugin-generic-$type$"/> + +
+
+
+''<$view field="description"><$view field="title"/>'' +
+
+<$view field="title"/>
+
+
<$view field="version"/> -
+ + + + <$reveal type="match" text="yes" state=<>> <$reveal type="nomatch" text="" state="!!list"> +
<$macrocall $name="tabs" state=<> tabsList={{!!list}} default="readme" template="$:/core/ui/PluginInfo"/> +
<$reveal type="match" text="" state="!!list"> -<$transclude tiddler="$:/core/ui/TiddlerInfo/Advanced/PluginInfo"/> +
+No information provided +
-
\end diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index 2bf84c75d..7d70c92b2 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -1238,6 +1238,23 @@ canvas.tw-edit-bitmapeditor { width: 100%; } +.tw-plugin-info { + vertical-align: middle; + border: 1px solid <>; + margin: 1em 0 1em 0; + padding: 8px; +} + +.tw-plugin-info img, .tw-plugin-info svg { + width: 3em; + height: 3em; +} + +.tw-plugin-info .tw-plugin-info-dropdown-button, +.tw-plugin-info .tw-tiddlylink { + display: inline-block; +} + /* ** Message boxes */ From d7390dbbe160f80236e7c6f3bc4afeb119b8faa2 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 11:13:41 +0100 Subject: [PATCH 24/76] Remove support for underscore and dash in wikilinks Starting to fix #337 --- core/modules/parsers/wikiparser/rules/wikilink.js | 7 +++---- editions/test/tiddlers/tests/test-wikitext.js | 5 +++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/modules/parsers/wikiparser/rules/wikilink.js b/core/modules/parsers/wikiparser/rules/wikilink.js index 152b4e193..e41be42cf 100644 --- a/core/modules/parsers/wikiparser/rules/wikilink.js +++ b/core/modules/parsers/wikiparser/rules/wikilink.js @@ -25,9 +25,8 @@ exports.types = {inline: true}; var textPrimitives = { upperLetter: "[A-Z\u00c0-\u00de\u0150\u0170]", - lowerLetter: "[a-z0-9_\\-\u00df-\u00ff\u0151\u0171]", - anyLetter: "[A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]", - anyLetterStrict: "[A-Za-z0-9\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]" + lowerLetter: "[a-z0-9\u00df-\u00ff\u0151\u0171]", + anyLetter: "[A-Za-z0-9\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]" }; textPrimitives.unWikiLink = "~"; @@ -56,7 +55,7 @@ exports.parse = function() { } // If the link has been preceded with a letter then don't treat it as a link if(this.match.index > 0) { - var preRegExp = new RegExp(textPrimitives.anyLetterStrict,"mg"); + var preRegExp = new RegExp(textPrimitives.anyLetter,"mg"); preRegExp.lastIndex = this.match.index-1; var preMatch = preRegExp.exec(this.parser.source); if(preMatch && preMatch.index === this.match.index-1) { diff --git a/editions/test/tiddlers/tests/test-wikitext.js b/editions/test/tiddlers/tests/test-wikitext.js index 223f3306e..39c1649df 100644 --- a/editions/test/tiddlers/tests/test-wikitext.js +++ b/editions/test/tiddlers/tests/test-wikitext.js @@ -45,6 +45,11 @@ describe("WikiText tests", function() { it("should support attributes specified as macro invocations", function() { expect(wiki.renderTiddler("text/html","TiddlerFour")).toBe("

This is a link

"); }); + it("should identify wikiwords to automatically link", function() { + expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No wikilinks here").indexOf(" Date: Fri, 8 Aug 2014 16:09:56 +0100 Subject: [PATCH 25/76] =?UTF-8?q?Stop=20classifying=20"=C3=97"=20(\u00d7)?= =?UTF-8?q?=20as=20a=20lower=20case=20letter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of #337 --- core/modules/parsers/wikiparser/rules/wikilink.js | 4 ++-- editions/test/tiddlers/tests/test-wikitext.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/modules/parsers/wikiparser/rules/wikilink.js b/core/modules/parsers/wikiparser/rules/wikilink.js index e41be42cf..447bf660d 100644 --- a/core/modules/parsers/wikiparser/rules/wikilink.js +++ b/core/modules/parsers/wikiparser/rules/wikilink.js @@ -24,9 +24,9 @@ exports.name = "wikilink"; exports.types = {inline: true}; var textPrimitives = { - upperLetter: "[A-Z\u00c0-\u00de\u0150\u0170]", + upperLetter: "[A-Z\u00c0-\u00d6\u00d8-\u00de\u0150\u0170]", lowerLetter: "[a-z0-9\u00df-\u00ff\u0151\u0171]", - anyLetter: "[A-Za-z0-9\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]" + anyLetter: "[A-Za-z0-9\u00c0-\u00d6\u00d8-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]" }; textPrimitives.unWikiLink = "~"; diff --git a/editions/test/tiddlers/tests/test-wikitext.js b/editions/test/tiddlers/tests/test-wikitext.js index 39c1649df..c9f47ebcd 100644 --- a/editions/test/tiddlers/tests/test-wikitext.js +++ b/editions/test/tiddlers/tests/test-wikitext.js @@ -49,6 +49,7 @@ describe("WikiText tests", function() { expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No wikilinks here").indexOf(" Date: Fri, 8 Aug 2014 16:12:23 +0100 Subject: [PATCH 26/76] =?UTF-8?q?Stop=20classifyinh=20"=C3=B7"=20(\u00f7)?= =?UTF-8?q?=20as=20an=20upper=20case=20letter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of #337 --- core/modules/parsers/wikiparser/rules/wikilink.js | 4 ++-- editions/test/tiddlers/tests/test-wikitext.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/modules/parsers/wikiparser/rules/wikilink.js b/core/modules/parsers/wikiparser/rules/wikilink.js index 447bf660d..7be9a5f0e 100644 --- a/core/modules/parsers/wikiparser/rules/wikilink.js +++ b/core/modules/parsers/wikiparser/rules/wikilink.js @@ -25,8 +25,8 @@ exports.types = {inline: true}; var textPrimitives = { upperLetter: "[A-Z\u00c0-\u00d6\u00d8-\u00de\u0150\u0170]", - lowerLetter: "[a-z0-9\u00df-\u00ff\u0151\u0171]", - anyLetter: "[A-Za-z0-9\u00c0-\u00d6\u00d8-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]" + lowerLetter: "[a-z0-9\u00df-\u00f6\u00f8-\u00ff\u0151\u0171]", + anyLetter: "[A-Za-z0-9\u00c0-\u00d6\u00d8-\u00de\u00df-\u00f6\u00f8-\u00ff\u0150\u0170\u0151\u0171]" }; textPrimitives.unWikiLink = "~"; diff --git a/editions/test/tiddlers/tests/test-wikitext.js b/editions/test/tiddlers/tests/test-wikitext.js index c9f47ebcd..c252ddffc 100644 --- a/editions/test/tiddlers/tests/test-wikitext.js +++ b/editions/test/tiddlers/tests/test-wikitext.js @@ -50,6 +50,7 @@ describe("WikiText tests", function() { expect(wiki.renderText("text/html","text/vnd-tiddlywiki","One WikiLink here").indexOf(" Date: Fri, 8 Aug 2014 16:20:15 +0100 Subject: [PATCH 27/76] Disable wikilinking when preceded with dash or underscore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit “HelloThere” in “My-HelloThere” shouldn’t be wikified. Part of #337 --- core/modules/parsers/wikiparser/rules/wikilink.js | 7 ++++--- editions/test/tiddlers/tests/test-wikitext.js | 3 +++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/core/modules/parsers/wikiparser/rules/wikilink.js b/core/modules/parsers/wikiparser/rules/wikilink.js index 7be9a5f0e..f4b543896 100644 --- a/core/modules/parsers/wikiparser/rules/wikilink.js +++ b/core/modules/parsers/wikiparser/rules/wikilink.js @@ -26,7 +26,8 @@ exports.types = {inline: true}; var textPrimitives = { upperLetter: "[A-Z\u00c0-\u00d6\u00d8-\u00de\u0150\u0170]", lowerLetter: "[a-z0-9\u00df-\u00f6\u00f8-\u00ff\u0151\u0171]", - anyLetter: "[A-Za-z0-9\u00c0-\u00d6\u00d8-\u00de\u00df-\u00f6\u00f8-\u00ff\u0150\u0170\u0151\u0171]" + anyLetter: "[A-Za-z0-9\u00c0-\u00d6\u00d8-\u00de\u00df-\u00f6\u00f8-\u00ff\u0150\u0170\u0151\u0171]", + blockPrefixLetters: "[A-Za-z0-9\-_\u00c0-\u00d6\u00d8-\u00de\u00df-\u00f6\u00f8-\u00ff\u0150\u0170\u0151\u0171]" }; textPrimitives.unWikiLink = "~"; @@ -53,9 +54,9 @@ exports.parse = function() { if(linkText.substr(0,1) === textPrimitives.unWikiLink) { return [{type: "text", text: linkText.substr(1)}]; } - // If the link has been preceded with a letter then don't treat it as a link + // If the link has been preceded with a blocked letter then don't treat it as a link if(this.match.index > 0) { - var preRegExp = new RegExp(textPrimitives.anyLetter,"mg"); + var preRegExp = new RegExp(textPrimitives.blockPrefixLetters,"mg"); preRegExp.lastIndex = this.match.index-1; var preMatch = preRegExp.exec(this.parser.source); if(preMatch && preMatch.index === this.match.index-1) { diff --git a/editions/test/tiddlers/tests/test-wikitext.js b/editions/test/tiddlers/tests/test-wikitext.js index c252ddffc..271688cee 100644 --- a/editions/test/tiddlers/tests/test-wikitext.js +++ b/editions/test/tiddlers/tests/test-wikitext.js @@ -51,6 +51,9 @@ describe("WikiText tests", function() { expect(wiki.renderText("text/html","text/vnd-tiddlywiki","No Wiki-Link here").indexOf(" Date: Fri, 8 Aug 2014 16:35:17 +0100 Subject: [PATCH 28/76] Improved formatting for control panel plugins --- core/ui/ControlPanel/Plugins.tid | 6 +++--- themes/tiddlywiki/snowwhite/base.tid | 4 ++++ themes/tiddlywiki/vanilla/base.tid | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/ui/ControlPanel/Plugins.tid b/core/ui/ControlPanel/Plugins.tid index a63026cc8..cc3755620 100644 --- a/core/ui/ControlPanel/Plugins.tid +++ b/core/ui/ControlPanel/Plugins.tid @@ -31,17 +31,17 @@ $(currentTiddler)$/icon <$link to={{!!title}} class="tw-plugin-info-link">
-
+
<$transclude tiddler=<> subtiddler=<>> <$transclude tiddler="$:/core/images/plugin-generic-$type$"/>
-
+
''<$view field="description"><$view field="title"/>''
-<$view field="title"/>
+<$view field="title"/>
<$view field="version"/> diff --git a/themes/tiddlywiki/snowwhite/base.tid b/themes/tiddlywiki/snowwhite/base.tid index 30f5d66d3..5a93f2b3e 100644 --- a/themes/tiddlywiki/snowwhite/base.tid +++ b/themes/tiddlywiki/snowwhite/base.tid @@ -100,3 +100,7 @@ canvas.tw-edit-bitmapeditor { .tw-message-box img { <> } + +.tw-plugin-info { + <> +} diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index 7d70c92b2..bc3ee4f00 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -1239,7 +1239,6 @@ canvas.tw-edit-bitmapeditor { } .tw-plugin-info { - vertical-align: middle; border: 1px solid <>; margin: 1em 0 1em 0; padding: 8px; @@ -1253,6 +1252,7 @@ canvas.tw-edit-bitmapeditor { .tw-plugin-info .tw-plugin-info-dropdown-button, .tw-plugin-info .tw-tiddlylink { display: inline-block; + vertical-align: middle; } /* From cc4552f5446c52a37459849e54bc60085d6a0941 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 16:35:28 +0100 Subject: [PATCH 29/76] Readme update --- plugins/tiddlywiki/browser-sniff/readme.tid | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/tiddlywiki/browser-sniff/readme.tid b/plugins/tiddlywiki/browser-sniff/readme.tid index cdcd03de3..474b935ff 100644 --- a/plugins/tiddlywiki/browser-sniff/readme.tid +++ b/plugins/tiddlywiki/browser-sniff/readme.tid @@ -7,7 +7,7 @@ This plugin adds a number of `$:/info/` tiddlers containing information about th |!Title |!Description | |[[$:/info/browser/is/android]] |Running on Android? ("yes" or "no") | |[[$:/info/browser/is/bada]] |Running on Bada? ("yes" or "no") | -|[[$:/info/browser/is/blackberry]] |Running on Blackberry? ("yes" or "no") | +|[[$:/info/browser/is/blackberry]] |Running on ~BlackBerry? ("yes" or "no") | |[[$:/info/browser/is/chrome]] |Running on Chrome? ("yes" or "no") | |[[$:/info/browser/is/firefox]] |Running on Firefox? ("yes" or "no") | |[[$:/info/browser/is/firefoxos]] |Running on Firefox OS? ("yes" or "no") | @@ -17,14 +17,14 @@ This plugin adds a number of `$:/info/` tiddlers containing information about th |[[$:/info/browser/is/iphone]] |Running on iPhone? ("yes" or "no") | |[[$:/info/browser/is/ipod]] |Running on iPod? ("yes" or "no") | |[[$:/info/browser/is/opera]] |Running on Opera? ("yes" or "no") | -|[[$:/info/browser/is/phantomjs]] |Running on PhantomJS? ("yes" or "no") | +|[[$:/info/browser/is/phantomjs]] |Running on ~PhantomJS? ("yes" or "no") | |[[$:/info/browser/is/safari]] |Running on Safari? ("yes" or "no") | |[[$:/info/browser/is/sailfish]] |Running on Sailfish? ("yes" or "no") | |[[$:/info/browser/is/seamonkey]] |Running on Sea Monkey? ("yes" or "no") | |[[$:/info/browser/is/silk]] |Running on Amazon's Silk? ("yes" or "no") | |[[$:/info/browser/is/tizen]] |Running on Tizen? ("yes" or "no") | -|[[$:/info/browser/is/webkit]] |Running on WebKit? ("yes" or "no") | -|[[$:/info/browser/is/webos]] |Running on WebOS? ("yes" or "no") | +|[[$:/info/browser/is/webkit]] |Running on ~WebKit? ("yes" or "no") | +|[[$:/info/browser/is/webos]] |Running on ~WebOS? ("yes" or "no") | |[[$:/info/browser/is/windowsphone]] |Running on Windows Phone? ("yes" or "no") | |[[$:/info/browser/name]] |Platform name (see below) | |[[$:/info/browser/version]] |Browser version | @@ -34,19 +34,19 @@ The browser information is obtained with [[Bowser, a browser detector library fr * ''"Amazon Silk"'' * ''"Android"'' * ''"Bada"'' -* ''"BlackBerry"'' +* ''"~BlackBerry"'' * ''"Chrome"'' * ''"Firefox"'' * ''"Internet Explorer"'' * ''"iOS"'' * ''"Opera"'' -* ''"PhantomJS"'' +* ''"~PhantomJS"'' * ''"Safari"'' * ''"Sailfish"'' -* ''"SeaMonkey"'' -* ''"TiddlyDesktop"'' +* ''"~SeaMonkey"'' +* ''"~TiddlyDesktop"'' * ''"Tizen"'' -* ''"WebOS"'' +* ''"~WebOS"'' * ''"Windows Phone"'' Note that Bowser returns "iPhone", "iPad" and "iPod" as distinct values for the name of the current browser. TiddlyWiki converts all three distinct values into "iOS" before copying to [[$:/info/browser/name]]. From bcf89d533d9b8bbefbda1fa6256aaf96ff361f51 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 16:35:33 +0100 Subject: [PATCH 30/76] Docs update --- editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid b/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid index 44a4a5f76..c329f2adf 100644 --- a/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid +++ b/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid @@ -32,6 +32,7 @@ Plugins are stored as tiddlers with the following fields: |type |Must be ''application/json'' | |plugin-type |Can be ''plugin'' (default) or ''theme'' | |text |JSON encoding of the list of tiddlers comprising the plugin | +|list |Names of exposed plugin information tiddlers (see below) | |dependents |List of dependent plugins (currently only implemented for themes) | ! Plugin folders @@ -50,7 +51,8 @@ The JSON structure for plugin tiddlers is as follows: "version": "1.2.3-alpha3", "core-version": ">=5.0.0", "source": "http://tiddlywiki.com/MyPlugin", - "plugin-type": "plugin" + "plugin-type": "plugin", + "list": "readme license history" } ``` @@ -85,7 +87,7 @@ The wiki object keeps track of all of the currently loaded plugins. If a request In the browser, any constituent tiddlers that are JavaScript modules (ie shadow tiddlers of content type `application/javascript` and possessing the field `module-type`) are executed during startup processing. -! Standard Tiddlers for Plugins +! Information Tiddlers for Plugins Plugin authors are encouraged to provide special information and documentation tiddlers that TiddlyWiki can include as plugin information tabs in the [[control panel|$:/ControlPanel]]. From 76914c40455c04300ead873ed84be129cb1ed637 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 16:35:48 +0100 Subject: [PATCH 31/76] Minor icon tweaks --- core/icon.tid | 2 +- core/images/plugin-generic-plugin.tid | 2 +- core/images/plugin-generic-theme.tid | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/icon.tid b/core/icon.tid index 933275a2c..70187c55f 100644 --- a/core/icon.tid +++ b/core/icon.tid @@ -3,6 +3,6 @@ tags: $:/tags/Image - + \ No newline at end of file diff --git a/core/images/plugin-generic-plugin.tid b/core/images/plugin-generic-plugin.tid index eb24b4e0b..6f56da7a3 100644 --- a/core/images/plugin-generic-plugin.tid +++ b/core/images/plugin-generic-plugin.tid @@ -3,6 +3,6 @@ tags: $:/tags/Image - + \ No newline at end of file diff --git a/core/images/plugin-generic-theme.tid b/core/images/plugin-generic-theme.tid index 3785aa1b1..bfc667c79 100644 --- a/core/images/plugin-generic-theme.tid +++ b/core/images/plugin-generic-theme.tid @@ -3,6 +3,6 @@ tags: $:/tags/Image - + \ No newline at end of file From 5e06ef871adbc624cc80a8cc314864d4ddd8ff80 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 16:48:40 +0100 Subject: [PATCH 32/76] Docs update --- editions/tw5.com/tiddlers/Contributing.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/Contributing.tid b/editions/tw5.com/tiddlers/Contributing.tid index b18b625ce..5f41e1d6d 100644 --- a/editions/tw5.com/tiddlers/Contributing.tid +++ b/editions/tw5.com/tiddlers/Contributing.tid @@ -33,4 +33,4 @@ eg: `Jeremy Ruston, @Jermolene, 2011/11/22` !!!! Attribution -The CLA documents used for this project were created using [[Harmony Project Templates|http://www.harmonyagreements.org]]. "~HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "~HA-CLA-E-LIST Version 1.0" for "CLA-entity" +The CLA documents used for this project were created using [[Harmony Project Templates|http://www.harmonyagreements.org]]. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity" From 2ff20926156c15713621237b43357b693130a122 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 8 Aug 2014 17:19:48 +0100 Subject: [PATCH 33/76] More improvements to control panel plugin formatting --- core/modules/widgets/link.js | 8 +++++++- core/ui/ControlPanel/Plugins.tid | 12 ++++-------- themes/tiddlywiki/vanilla/base.tid | 12 ++++++------ 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/core/modules/widgets/link.js b/core/modules/widgets/link.js index 111896219..b5cd89fd8 100755 --- a/core/modules/widgets/link.js +++ b/core/modules/widgets/link.js @@ -56,7 +56,11 @@ LinkWidget.prototype.renderLink = function(parent,nextSibling) { // Create our element var domNode = this.document.createElement("a"); // Assign classes - var classes = ["tw-tiddlylink"]; + var classes = []; + if(this.linkClasses) { + classes.push(this.linkClasses); + } + classes.push("tw-tiddlylink"); if(this.isShadow) { classes.push("tw-tiddlylink-shadow"); } @@ -182,6 +186,8 @@ LinkWidget.prototype.execute = function() { // Get the link title and aria label this.tooltip = this.getAttribute("tooltip"); this["aria-label"] = this.getAttribute("aria-label"); + // Get the link classes + this.linkClasses = this.getAttribute("class"); // Determine the link characteristics this.isMissing = !this.wiki.tiddlerExists(this.to); this.isShadow = this.wiki.isShadowTiddler(this.to); diff --git a/core/ui/ControlPanel/Plugins.tid b/core/ui/ControlPanel/Plugins.tid index cc3755620..654c34502 100644 --- a/core/ui/ControlPanel/Plugins.tid +++ b/core/ui/ControlPanel/Plugins.tid @@ -16,8 +16,8 @@ $(currentTiddler)$/icon <$set name="qualified-state" value=<>> <$list filter="[!has[draft.of]plugin-type[$type$]sort[description]]"> <$set name="popup-state" value=<>> -
-
+<$link to={{!!title}} class="tw-plugin-info"> +
<$reveal type="nomatch" state=<> text="yes"> <$button class="btn-invisible btn-dropdown" set=<> setTo="yes"> {{$:/core/images/right-arrow}} @@ -29,14 +29,12 @@ $(currentTiddler)$/icon
-<$link to={{!!title}} class="tw-plugin-info-link"> -
-
+
<$transclude tiddler=<> subtiddler=<>> <$transclude tiddler="$:/core/images/plugin-generic-$type$"/>
-
+
''<$view field="description"><$view field="title"/>''
@@ -47,7 +45,6 @@ $(currentTiddler)$/icon <$view field="version"/>
-
<$reveal type="match" text="yes" state=<>> <$reveal type="nomatch" text="" state="!!list"> @@ -61,7 +58,6 @@ No information provided
-
diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index bc3ee4f00..69c190736 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -1239,20 +1239,20 @@ canvas.tw-edit-bitmapeditor { } .tw-plugin-info { + display: block; border: 1px solid <>; margin: 1em 0 1em 0; padding: 8px; } +.tw-plugin-info-chunk { + display: inline-block; + vertical-align: middle; +} + .tw-plugin-info img, .tw-plugin-info svg { width: 3em; height: 3em; -} - -.tw-plugin-info .tw-plugin-info-dropdown-button, -.tw-plugin-info .tw-tiddlylink { - display: inline-block; - vertical-align: middle; } /* From c590f9de8b17e08bc01147dbb8b5e6161939f904 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sat, 9 Aug 2014 11:54:07 +0100 Subject: [PATCH 34/76] More formatting improvements for plugins control panel --- themes/tiddlywiki/vanilla/base.tid | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index 69c190736..28a9309e7 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -1241,20 +1241,37 @@ canvas.tw-edit-bitmapeditor { .tw-plugin-info { display: block; border: 1px solid <>; + background-colour: <>; margin: 1em 0 1em 0; padding: 8px; } +a.tw-tiddlylink.tw-plugin-info:hover { + text-decoration: none; + background-color: <>; + color: <>; +} + .tw-plugin-info-chunk { display: inline-block; vertical-align: middle; } -.tw-plugin-info img, .tw-plugin-info svg { +.tw-plugin-info img { + width: 3em; +} + +.tw-plugin-info svg { width: 3em; height: 3em; } +.tw-plugin-info-dropdown { + border: 1px solid <>; + padding: 1em; + margin-top: -1em; +} + /* ** Message boxes */ From ba0accf4f583837dde8a2c50e1c60bc22a2edca7 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sat, 9 Aug 2014 12:41:02 +0100 Subject: [PATCH 35/76] Docs updates --- editions/tw5.com/tiddlers/HelloThere.tid | 10 ++++------ .../tw5.com/tiddlers/ImageGallery Example.tid | 20 +++++++++++++++++++ editions/tw5.com/tiddlers/TableOfContents.tid | 10 +++++++--- editions/tw5.com/tiddlers/roadmap/RoadMap.tid | 4 ++-- .../tiddlers/system/version-link-macro.tid | 6 ++++++ 5 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 editions/tw5.com/tiddlers/ImageGallery Example.tid create mode 100644 editions/tw5.com/tiddlers/system/version-link-macro.tid diff --git a/editions/tw5.com/tiddlers/HelloThere.tid b/editions/tw5.com/tiddlers/HelloThere.tid index 4d210ef90..ade45068d 100644 --- a/editions/tw5.com/tiddlers/HelloThere.tid +++ b/editions/tw5.com/tiddlers/HelloThere.tid @@ -1,12 +1,12 @@ created: 20130822170200000 -modified: 20140624094134118 +modified: 20140809111938465 tags: introduction title: HelloThere type: text/vnd.tiddlywiki Welcome to TiddlyWiki, a complete interactive wiki in JavaScript. It can be used as a [[single HTML file in the browser|SingleFileApplication]] or as a powerful [[Node.js application|Node.js]]. It is highly customisable: the entire user interface is itself implemented in hackable WikiText. -This is version <> of ~TiddlyWiki, a major reboot designed [[for the next 25 years|Future of TiddlyWiki]]. It is currently in beta (see the detailed ReleaseHistory). There is a RoadMap for moving to the full release. It is a great time to [[get involved|Community]] and support the future development of ~TiddlyWiki. +This is version <> of ~TiddlyWiki, a major reboot designed [[for the next 25 years|Future of TiddlyWiki]]. It is currently in beta (see the detailed ReleaseHistory). There is a RoadMap for moving to the full release. It is a great time to [[get involved|Community]] and support the future development of ~TiddlyWiki. //~TiddlyWiki is a free, open source project that depends on [[your love and support|HelpingTiddlyWiki]] for its survival//. @@ -14,9 +14,7 @@ This is version <> of ~TiddlyWiki, a major reboot designed [[for the ne {{TiddlyWiki Classic.png}} -!! TiddlyWikiClassic - http://classic.tiddlywiki.com +!! TiddlyWikiClassic -On this site, unless noted otherwise, "~TiddlyWiki" refers to the new version 5, and "~TiddlyWikiClassic" is used to identify the older version. - -The deep internal improvements mean that the new version of ~TiddlyWiki is not fully compatible with ~TiddlyWikiClassic. Existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as the new version matures. +The original "Classic" version of TiddlyWiki is still available at http://classic.tiddlywiki.com. Note that it is not fully backwards compatible: existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as the new version matures.
diff --git a/editions/tw5.com/tiddlers/ImageGallery Example.tid b/editions/tw5.com/tiddlers/ImageGallery Example.tid new file mode 100644 index 000000000..61b94b605 --- /dev/null +++ b/editions/tw5.com/tiddlers/ImageGallery Example.tid @@ -0,0 +1,20 @@ +created: 20140809113603449 +modified: 20140809113849873 +tags: demo +title: ImageGallery Example +type: text/vnd.tiddlywiki + +Here is an example of using the ListWidget and the TranscludeWidget to show a grid of all system images (ie, tiddlers tagged [[$:/tags/Image]]). + + + diff --git a/editions/tw5.com/tiddlers/TableOfContents.tid b/editions/tw5.com/tiddlers/TableOfContents.tid index 155649251..9a432e17b 100644 --- a/editions/tw5.com/tiddlers/TableOfContents.tid +++ b/editions/tw5.com/tiddlers/TableOfContents.tid @@ -1,7 +1,10 @@ -title: TableOfContents -list-after: $:/core/ui/SideBar/Open -tags: $:/tags/SideBar caption: {{$:/language/SideBar/Contents/Caption}} +created: 20140809114010378 +list-after: $:/core/ui/SideBar/Open +modified: 20140809114018461 +tags: $:/tags/SideBar +title: TableOfContents +type: text/vnd.tiddlywiki \define toc-heading(caption,body) <$reveal type="nomatch" state=<> text="show"> @@ -106,6 +109,7 @@ $body$ ## [[Creating SubStories]] ## [[Editing Tiddlers with Emacs]] ## [[GoogleChromeTips]] +## [[ImageGallery Example]] ## [[Making curved text with SVG]] ## [[Preserving open tiddlers at startup]] ## [[Setting a favicon]] diff --git a/editions/tw5.com/tiddlers/roadmap/RoadMap.tid b/editions/tw5.com/tiddlers/roadmap/RoadMap.tid index d2d9a6e32..bd0e09293 100644 --- a/editions/tw5.com/tiddlers/roadmap/RoadMap.tid +++ b/editions/tw5.com/tiddlers/roadmap/RoadMap.tid @@ -1,5 +1,5 @@ created: 20130823203800000 -modified: 20140715081725471 +modified: 20140809112946299 tags: planning title: RoadMap type: text/vnd.tiddlywiki @@ -16,7 +16,7 @@ Some important features were deferred to be added after the beta: * Fixing hangovers from TiddlyWikiClassic * ~TiddlyWiki file format (to avoid illegal attribute names) * Tiddler object format (to provide true polymorphism of field values) -* Aliases +* Aliases (alternative titles for tiddlers) * Search and replace * Tiddler renaming * Rich link tooltips, incorporating a preview diff --git a/editions/tw5.com/tiddlers/system/version-link-macro.tid b/editions/tw5.com/tiddlers/system/version-link-macro.tid new file mode 100644 index 000000000..4acef82ac --- /dev/null +++ b/editions/tw5.com/tiddlers/system/version-link-macro.tid @@ -0,0 +1,6 @@ +title: $:/editions/tw5.com/version-link-macro +tags: $:/tags/Macro + +\define version-link() +[[$(version)$|Release $(version)$]] +\end From f6d7d87a3d49f816ccc050bdf4a5394eed37dd51 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sat, 9 Aug 2014 13:12:23 +0100 Subject: [PATCH 36/76] Add icon previews to tag manager --- core/ui/TagManager.tid | 12 ++++++------ themes/tiddlywiki/vanilla/base.tid | 4 ++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/core/ui/TagManager.tid b/core/ui/TagManager.tid index d6434c4d1..28457d0ab 100644 --- a/core/ui/TagManager.tid +++ b/core/ui/TagManager.tid @@ -2,18 +2,18 @@ title: $:/TagManager \define lingo-base() $:/language/TagManager/ \define iconEditor(title) +
<$edit-text field="icon" tag="input" size="20"/> <$button popup=<> class="btn-invisible btn-dropdown">{{$:/core/images/down-arrow}} -
-<$reveal state=<> type="nomatch" text="" default=""> +<$reveal state=<> type="popup" position="belowleft" text="" default=""> +
<$linkcatcher to="$title$!!icon"> -
-<$list filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] +[sort[title]]"> +<$list filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]]"> <$link to={{!!title}}> -<$view field="title"/> +<$transclude/> <$view field="title"/> -
+
\end diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index 28a9309e7..6732b9162 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -855,6 +855,10 @@ canvas.tw-edit-bitmapeditor { fill: <>; } +.tw-drop-down-wrapper { + position: relative; +} + .tw-drop-down { min-width: 280px; border: 1px solid <>; From e74a598aebbba88ceadd64a2b3e320133170ca38 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sat, 9 Aug 2014 20:50:28 +0100 Subject: [PATCH 37/76] Better organisation for the tag image dropdown --- core/ui/TagManager.tid | 20 +++++++++++++++----- themes/tiddlywiki/vanilla/base.tid | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/core/ui/TagManager.tid b/core/ui/TagManager.tid index 28457d0ab..9bc7a1ea1 100644 --- a/core/ui/TagManager.tid +++ b/core/ui/TagManager.tid @@ -1,17 +1,27 @@ title: $:/TagManager \define lingo-base() $:/language/TagManager/ +\define iconEditorTab(type) +<$list filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]"> +<$link to={{!!title}}> +<$transclude/> <$view field="title"/> + + +\end \define iconEditor(title)
<$edit-text field="icon" tag="input" size="20"/> <$button popup=<> class="btn-invisible btn-dropdown">{{$:/core/images/down-arrow}} <$reveal state=<> type="popup" position="belowleft" text="" default="">
<$linkcatcher to="$title$!!icon"> -<$list filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]]"> -<$link to={{!!title}}> -<$transclude/> <$view field="title"/> - - +
+Images +
+<> +
+System Images +
+<>
diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index 6732b9162..a6720403e 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -952,6 +952,7 @@ canvas.tw-edit-bitmapeditor { padding: 4px 14px 4px 14px; } +.tw-drop-down .tw-dropdown-item, .tw-block-dropdown .tw-dropdown-item { padding: 4px 14px 4px 7px; color: <>; From 69de66ef804cf34218e7b6e0e396d8b4cc6802b0 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sat, 9 Aug 2014 20:52:31 +0100 Subject: [PATCH 38/76] Avoid localisable strings in the tag manager icon dropdown --- core/ui/TagManager.tid | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/core/ui/TagManager.tid b/core/ui/TagManager.tid index 9bc7a1ea1..9e56fd011 100644 --- a/core/ui/TagManager.tid +++ b/core/ui/TagManager.tid @@ -14,13 +14,8 @@ title: $:/TagManager <$reveal state=<> type="popup" position="belowleft" text="" default="">
<$linkcatcher to="$title$!!icon"> -
-Images -
<> -
-System Images -
+
<>
From 2bf5398eaaff1b46618f5bf79919a1172b78b157 Mon Sep 17 00:00:00 2001 From: Stephan Sokolow Date: Sat, 9 Aug 2014 17:17:57 -0400 Subject: [PATCH 39/76] Add an attention-drawing warning regarding the spelling of _canonical_uri --- editions/tw5.com/tiddlers/concepts/ExternalImages.tid | 2 ++ 1 file changed, 2 insertions(+) diff --git a/editions/tw5.com/tiddlers/concepts/ExternalImages.tid b/editions/tw5.com/tiddlers/concepts/ExternalImages.tid index 0e394dc91..3c4e8ab5e 100644 --- a/editions/tw5.com/tiddlers/concepts/ExternalImages.tid +++ b/editions/tw5.com/tiddlers/concepts/ExternalImages.tid @@ -16,6 +16,8 @@ An external image is an ordinary image tiddler that has a ''_canonical_uri'' fie To manually create an external image just create the tiddler with the appropriate image content type, and add a ''_canonical_uri'' field with a URI pointing to the actual image location. +''IMPORTANT:'' Double-check your spelling. ``_canonical_uri`` is spelled [[URI|https://en.wikipedia.org/wiki/URI#The_relationship_between_URIs.2C_URLs.2C_and_URNs]], not URL. + ! Creating external images under Node.js The following steps are used to create a static HTML file version of a wiki accompanied by an ''images'' folder containing the referenced external images: From 961089f266280cdb1f3a901055573e2553258df7 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sun, 10 Aug 2014 08:43:28 +0100 Subject: [PATCH 40/76] Remove obsolete control panel localisable strings My apologies to the translators! --- core/language/en-GB/ControlPanel.multids | 3 --- languages/de-DE/ControlPanel.multids | 3 --- languages/fr-FR/ControlPanel.multids | 3 --- languages/it-IT/ControlPanel.multids | 3 --- languages/ja-JP/ControlPanel.multids | 3 --- languages/zh-Hans/ControlPanel.multids | 3 --- languages/zh-Hant/ControlPanel.multids | 3 --- readme.md | 2 +- 8 files changed, 1 insertion(+), 22 deletions(-) diff --git a/core/language/en-GB/ControlPanel.multids b/core/language/en-GB/ControlPanel.multids index 6df4fb76d..c58e34f12 100644 --- a/core/language/en-GB/ControlPanel.multids +++ b/core/language/en-GB/ControlPanel.multids @@ -64,9 +64,6 @@ Basics/Title/Prompt: Title of this ~TiddlyWiki: Basics/Username/Prompt: Username for signing edits: Basics/Version/Prompt: ~TiddlyWiki version: Plugins/Caption: Plugins -Plugins/Fields/Description: Description -Plugins/Fields/Title: Title -Plugins/Fields/Version: Version Plugins/Language/Prompt: Languages Plugins/Plugin/Prompt: Plugins Plugins/Theme/Prompt: Themes diff --git a/languages/de-DE/ControlPanel.multids b/languages/de-DE/ControlPanel.multids index 5364ed775..77d7e80c8 100644 --- a/languages/de-DE/ControlPanel.multids +++ b/languages/de-DE/ControlPanel.multids @@ -64,9 +64,6 @@ Basics/Title/Prompt: Titel dieses ~TiddlyWikis: Basics/Username/Prompt: Benutzer Signatur zum editieren: Basics/Version/Prompt: ~TiddlyWiki Version: Plugins/Caption: Plugins -Plugins/Fields/Description: Beschreibung -Plugins/Fields/Title: Titel -Plugins/Fields/Version: Version Plugins/Language/Prompt: Sprachen Plugins/Plugin/Prompt: Plugins Plugins/Theme/Prompt: Themen diff --git a/languages/fr-FR/ControlPanel.multids b/languages/fr-FR/ControlPanel.multids index dbf9c20e2..270af2c16 100644 --- a/languages/fr-FR/ControlPanel.multids +++ b/languages/fr-FR/ControlPanel.multids @@ -64,9 +64,6 @@ Basics/Title/Prompt: Titre de ce ~TiddlyWiki Basics/Username/Prompt: Signer les modifications avec ce nom d'utilisateur Basics/Version/Prompt: Numéro de version : Plugins/Caption: Plugins -Plugins/Fields/Description: Description -Plugins/Fields/Title: Titre -Plugins/Fields/Version: Version Plugins/Language/Prompt: Langues Plugins/Plugin/Prompt: Plugins Plugins/Theme/Prompt: Thèmes diff --git a/languages/it-IT/ControlPanel.multids b/languages/it-IT/ControlPanel.multids index d31ab1331..b6e4869de 100644 --- a/languages/it-IT/ControlPanel.multids +++ b/languages/it-IT/ControlPanel.multids @@ -37,9 +37,6 @@ Basics/Title/Prompt: Il titolo di questo ~TiddlyWiki: Basics/Username/Prompt: Digita il nome con cui firmare le modifiche: Basics/Version/Prompt: Versione di ~TiddlyWiki: Plugins/Caption: Plugins -Plugins/Fields/Description: Descrizione -Plugins/Fields/Title: Titolo -Plugins/Fields/Version: Versione Plugins/Language/Prompt: Linguaggi Plugins/Plugin/Prompt: Plugins Plugins/Theme/Prompt: Temi diff --git a/languages/ja-JP/ControlPanel.multids b/languages/ja-JP/ControlPanel.multids index 960bc31af..4bc9f1e8f 100644 --- a/languages/ja-JP/ControlPanel.multids +++ b/languages/ja-JP/ControlPanel.multids @@ -37,9 +37,6 @@ Basics/Title/Prompt: この ~TiddlyWiki のタイトル: Basics/Username/Prompt: 編集者として表示するユーザ名: Basics/Version/Prompt: ~TiddlyWiki バージョン: Plugins/Caption: プラグイン -Plugins/Fields/Description: 説明 -Plugins/Fields/Title: タイトル -Plugins/Fields/Version: バージョン Plugins/Language/Prompt: 言語 Plugins/Plugin/Prompt: プラグイン Plugins/Theme/Prompt: テーマ diff --git a/languages/zh-Hans/ControlPanel.multids b/languages/zh-Hans/ControlPanel.multids index 5877c14bc..022f17aad 100644 --- a/languages/zh-Hans/ControlPanel.multids +++ b/languages/zh-Hans/ControlPanel.multids @@ -64,9 +64,6 @@ Basics/Title/Prompt: 标题: Basics/Username/Prompt: 编辑者署名: Basics/Version/Prompt: ~TiddlyWiki 版本: Plugins/Caption: 插件 -Plugins/Fields/Description: 说明 -Plugins/Fields/Title: 标题 -Plugins/Fields/Version: 版本 Plugins/Language/Prompt: 语言 Plugins/Plugin/Prompt: 插件 Plugins/Theme/Prompt: 布景主题 diff --git a/languages/zh-Hant/ControlPanel.multids b/languages/zh-Hant/ControlPanel.multids index 6b2e42799..9febb47c8 100644 --- a/languages/zh-Hant/ControlPanel.multids +++ b/languages/zh-Hant/ControlPanel.multids @@ -64,9 +64,6 @@ Basics/Title/Prompt: 標題: Basics/Username/Prompt: 編輯者署名: Basics/Version/Prompt: ~TiddlyWiki 版本: Plugins/Caption: 插件 -Plugins/Fields/Description: 說明 -Plugins/Fields/Title: 標題 -Plugins/Fields/Version: 版本 Plugins/Language/Prompt: 語言 Plugins/Plugin/Prompt: 插件 Plugins/Theme/Prompt: 佈景主題 diff --git a/readme.md b/readme.md index 36724a392..6cba062fc 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ -

Welcome to TiddlyWiki

Welcome to TiddlyWiki, a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.

This is version 5.0.14-prerelease of TiddlyWiki, a major reboot designed for the next 25 years. It is currently in beta (see the detailed ReleaseHistory). There is a RoadMap for moving to the full release. It is a great time to get involved and support the future development of TiddlyWiki.

TiddlyWiki is a free, open source project that depends on your love and support for its survival.

TiddlyWikiClassic - http://classic.tiddlywiki.com

On this site, unless noted otherwise, "TiddlyWiki" refers to the new version 5, and "TiddlyWikiClassic" is used to identify the older version.

The deep internal improvements mean that the new version of TiddlyWiki is not fully compatible with TiddlyWikiClassic. Existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as the new version matures. +

Welcome to TiddlyWiki

Welcome to TiddlyWiki, a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.

This is version of TiddlyWiki, a major reboot designed for the next 25 years. It is currently in beta (see the detailed ReleaseHistory). There is a RoadMap for moving to the full release. It is a great time to get involved and support the future development of TiddlyWiki.

TiddlyWiki is a free, open source project that depends on your love and support for its survival.

TiddlyWikiClassic

The original "Classic" version of TiddlyWiki is still available at http://classic.tiddlywiki.com. Note that it is not fully backwards compatible: existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as the new version matures.

Getting started with TiddlyWiki under Node.js

Running TiddlyWiki on Node.js brings several important benefits over and above the single file version:

  • You can edit your content on any suitably compatible HTML5 browser, including smartphones and tablets
  • Individual tiddlers are stored in separate files, which you can organise as you wish
  • The ability to build multiple wikis that blend different combinations of shared and unique content

Installation

  1. Install Node.js from http://nodejs.org
  2. Open a command line terminal and type:

    npm install -g tiddlywiki

    If it fails with an error you may need to re-run the command as an administrator:

    npm install -g tiddlywiki (Windows)

    sudo npm install -g tiddlywiki (Mac/Linux)

  3. Check TiddlyWiki is installed by typing:

    tiddlywiki --version

  4. In response, you should see TiddlyWiki report its current version (eg 5.0.8-beta; you may also see other debugging information reported)
  5. Try it out:
    1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
    2. tiddlywiki mynewwiki --server to start TiddlyWiki
    3. Visit http://127.0.0.1:8080/ in your browser
    4. Try editing and creating tiddlers

The -g flag causes TiddlyWiki to be installed globally. Without it, TiddlyWiki will only be available in the directory where you installed it.

A slightly different method for installation is recommended if you plan on forking the source code in order to study it or contribute to it. See Working with the TiddlyWiki5 repository.

Usage

TiddlyWiki5 can be used on the command line to perform an extensive set of operations based on TiddlyWikiFolders, TiddlerFiles and TiddlyWikiFiles.

For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in static HTML:

tiddlywiki --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html

Running tiddlywiki from the command line boots the TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.

The first argument is the optional path to the TiddlyWikiFolder to be loaded. If not present, then the current directory is used.

The commands and their individual arguments follow, each command being identified by the prefix --.

tiddlywiki [<wikipath>] [--<command> [<arg>[,<arg>]]]

The available commands are:

See also:

Upgrading

If you've installed TiddlyWiki on Node.js on the usual way, when a new version is released you can upgrade it with this command:

npm update -g tiddlywiki

On Mac or Linux you'll need to add sudo like this:

sudo npm update -g tiddlywiki

Working with the TiddlyWiki5 repository

Setting Up

If you plan on working with the TiddlyWiki5 source code then follow these steps:

  1. Fork the TiddlyWiki5 GitHub repository from https://github.com/Jermolene/TiddlyWiki5
  2. Clone a local copy of your fork
  3. Open a command line terminal and change the current working directory to the root of the repo
  4. Type npm link (Windows) or sudo npm link (Mac/Linux) to tell npm to use this copy of the repo as the globally installed one

After this procedure you can work with TiddlyWiki5 via npm as though it were installed in the usual way with npm install -g tiddlywiki.

See also Scripts for TiddlyWiki on Node.js.

This readme file was automatically generated by TiddlyWiki

\ No newline at end of file From af70f7be6b9b5cb4088a7c674ea28245ed8ae5fb Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sun, 10 Aug 2014 08:54:12 +0100 Subject: [PATCH 41/76] An export button The plan is to have dropdowns of export formats for both individual tiddlers and the whole page. --- core/images/export-button.tid | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 core/images/export-button.tid diff --git a/core/images/export-button.tid b/core/images/export-button.tid new file mode 100644 index 000000000..24b07e150 --- /dev/null +++ b/core/images/export-button.tid @@ -0,0 +1,8 @@ +title: $:/core/images/export-button +tags: $:/tags/Image + + + + + + \ No newline at end of file From 1892f33ae63afe5146b6c0d7f8cdc02505b1e571 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sun, 10 Aug 2014 09:13:48 +0100 Subject: [PATCH 42/76] Hide "revision" and "bag" fields from field editor --- core/wiki/config/EditTemplateFields.multids | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/wiki/config/EditTemplateFields.multids b/core/wiki/config/EditTemplateFields.multids index 12a2b8055..8f31786f2 100644 --- a/core/wiki/config/EditTemplateFields.multids +++ b/core/wiki/config/EditTemplateFields.multids @@ -10,3 +10,5 @@ modifier: hide type: hide draft.title: hide draft.of: hide +revision: hide +bag: hide From be8c753f28be0b93718f26f44d578df8ae57c657 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sun, 10 Aug 2014 09:13:56 +0100 Subject: [PATCH 43/76] Fix formatting of edit fields --- core/ui/EditTemplate/fields.tid | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/ui/EditTemplate/fields.tid b/core/ui/EditTemplate/fields.tid index 7a1e23e27..7c5a51a96 100644 --- a/core/ui/EditTemplate/fields.tid +++ b/core/ui/EditTemplate/fields.tid @@ -5,12 +5,15 @@ tags: $:/tags/EditTemplate \define config-title() $:/config/EditTemplateFields/Visibility/$(currentField)$ \end +\define config-filter() +[[hide]] -[title{$(config-title)$}] +\end <$fieldmangler>
<$list filter="[all[current]fields[]] +[sort[title]]" variable="currentField"> -<$reveal type="nomatch" state=<> text="hide"> +<$list filter=<> variable="temp"> @@ -21,7 +24,7 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$ <$button message="tw-remove-field" param=<> class="btn-invisible">{{$:/core/images/delete-button}} - +
<$text text=<>/>:
From d7aeb7e932e91d9a0a9661a5c11efc6f2aa292f0 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sun, 10 Aug 2014 12:20:46 +0100 Subject: [PATCH 44/76] Docs update --- editions/tw5.com/tiddlers/HelloThere.tid | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/HelloThere.tid b/editions/tw5.com/tiddlers/HelloThere.tid index ade45068d..95215df00 100644 --- a/editions/tw5.com/tiddlers/HelloThere.tid +++ b/editions/tw5.com/tiddlers/HelloThere.tid @@ -1,10 +1,12 @@ created: 20130822170200000 -modified: 20140809111938465 +modified: 20140810111402520 tags: introduction title: HelloThere type: text/vnd.tiddlywiki -Welcome to TiddlyWiki, a complete interactive wiki in JavaScript. It can be used as a [[single HTML file in the browser|SingleFileApplication]] or as a powerful [[Node.js application|Node.js]]. It is highly customisable: the entire user interface is itself implemented in hackable WikiText. +Welcome to TiddlyWiki, an open source notebook that anyone can use and keep forever, independently of any corporation. + +TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a [[single HTML file in the browser|SingleFileApplication]] or as a powerful [[Node.js application|Node.js]]. It is highly customisable: the entire user interface is itself implemented in hackable WikiText. This is version <> of ~TiddlyWiki, a major reboot designed [[for the next 25 years|Future of TiddlyWiki]]. It is currently in beta (see the detailed ReleaseHistory). There is a RoadMap for moving to the full release. It is a great time to [[get involved|Community]] and support the future development of ~TiddlyWiki. From 1c44ea89412d59f9a11f174b5ece6442a7179201 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Mon, 11 Aug 2014 13:17:11 +0100 Subject: [PATCH 45/76] More widget message documentation --- editions/tw5.com/tiddlers/TableOfContents.tid | 12 ++++++++++++ .../messages/WidgetMessage_ tw-auto-save-wiki.tid | 11 +++++++++++ .../messages/WidgetMessage_ tw-download-file.tid | 14 ++++++++++++++ .../messages/WidgetMessage_ tw-full-screen.tid | 9 +++++++++ .../tiddlers/messages/WidgetMessage_ tw-login.tid | 10 ++++++++++ .../tiddlers/messages/WidgetMessage_ tw-logout.tid | 9 +++++++++ .../tiddlers/messages/WidgetMessage_ tw-modal.tid | 12 ++++++++++++ .../tiddlers/messages/WidgetMessage_ tw-notify.tid | 12 ++++++++++++ .../messages/WidgetMessage_ tw-save-wiki.tid | 11 +++++++++++ .../messages/WidgetMessage_ tw-server-refresh.tid | 9 +++++++++ 10 files changed, 109 insertions(+) create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-auto-save-wiki.tid create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-download-file.tid create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-full-screen.tid create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-login.tid create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-logout.tid create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-modal.tid create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-notify.tid create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-save-wiki.tid create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-server-refresh.tid diff --git a/editions/tw5.com/tiddlers/TableOfContents.tid b/editions/tw5.com/tiddlers/TableOfContents.tid index 9a432e17b..c30ab83a9 100644 --- a/editions/tw5.com/tiddlers/TableOfContents.tid +++ b/editions/tw5.com/tiddlers/TableOfContents.tid @@ -183,18 +183,30 @@ $body$ ">> ## <> ## < Date: Mon, 11 Aug 2014 13:38:10 +0100 Subject: [PATCH 46/76] Don't sync the pending import tiddler to the server --- core/wiki/config/SyncFilter.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/wiki/config/SyncFilter.tid b/core/wiki/config/SyncFilter.tid index e2447c2ac..548e2987c 100644 --- a/core/wiki/config/SyncFilter.tid +++ b/core/wiki/config/SyncFilter.tid @@ -1,3 +1,3 @@ title: $:/config/SyncFilter -[is[tiddler]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/isEncrypted]] -[prefix[$:/status]] -[prefix[$:/state]] -[prefix[$:/temp]] \ No newline at end of file +[is[tiddler]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status]] -[prefix[$:/state]] -[prefix[$:/temp]] \ No newline at end of file From b2e1dd2138372c3a95667970cbf1a7ed2014fcf0 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Mon, 11 Aug 2014 13:52:10 +0100 Subject: [PATCH 47/76] Allow whitespace after first line of multiline macro Fixes the remaining part of #482 --- core/modules/parsers/wikiparser/rules/macrodef.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/parsers/wikiparser/rules/macrodef.js b/core/modules/parsers/wikiparser/rules/macrodef.js index 5956dcadd..a57e62c37 100644 --- a/core/modules/parsers/wikiparser/rules/macrodef.js +++ b/core/modules/parsers/wikiparser/rules/macrodef.js @@ -27,7 +27,7 @@ Instantiate parse rule exports.init = function(parser) { this.parser = parser; // Regexp to match - this.matchRegExp = /^\\define\s+([^(\s]+)\(\s*([^)]*)\)(\r?\n)?/mg; + this.matchRegExp = /^\\define\s+([^(\s]+)\(\s*([^)]*)\)(\s*\r?\n)?/mg; }; /* From 65b2852c7fc181b53f4e921161c89370367f01ec Mon Sep 17 00:00:00 2001 From: Jermolene Date: Mon, 11 Aug 2014 17:55:24 +0100 Subject: [PATCH 48/76] Release note update --- .../tw5.com/tiddlers/Release 5.0.14beta.tid | 47 +++++++++++++++---- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/editions/tw5.com/tiddlers/Release 5.0.14beta.tid b/editions/tw5.com/tiddlers/Release 5.0.14beta.tid index c770d8f6b..7750bf099 100644 --- a/editions/tw5.com/tiddlers/Release 5.0.14beta.tid +++ b/editions/tw5.com/tiddlers/Release 5.0.14beta.tid @@ -1,15 +1,25 @@ +caption: 5.0.14-beta created: 20140518150234142 -modified: 20140624094134118 +modified: 20140811153116300 tags: releasenote title: Release 5.0.14-beta type: text/vnd.tiddlywiki -caption: 5.0.14-beta //[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.0.13-beta...v5.0.14-beta]]// !! Major Changes -!!! Introduction of Upgrade Mechanism +!!! Improved Control Panel Plugins Tab + +The ''Plugins'' tab of the [[control panel|$:/ControlPanel]] has been improved with the addition of documentation tabs that plugins can use to show documentation. There is also a larger draggable area for dragging tiddlers across to other wikis. + +!!! Configurable Button Toolbars + +The page toolbar and the tiddler toolbars can now be configured with several new buttons - see the [[control panel|$:/ControlPanel]] under the ''Appearance'' and ''Toolbars'' tabs. + +The sidebar tools tab now shows all the available page controls, allowing them to be invoked or checked to appear in the toolbar. The tiddler info area now includes a tools tab that includes buttons for all the tiddler actions. + +!!! Upgrade Mechanism There are two components: @@ -19,32 +29,45 @@ There are two components: *** The [[plugin upgrader|$:/core/modules/upgraders/plugins.js]] module handles version checking of plugins and upgrading them from a special UpgradeLibrary plugin tiddler *** The [[system upgrader|$:/core/modules/upgraders/system.js]] module is responsible for suppressing the importing of certain system tiddlers (currently [[$:/StoryList]] and [[$:/HistoryList]]) *** The [[themetweak upgrader|$:/core/modules/upgraders/themetweaks.js]] module handles migrating theme tweaks from their pre-5.0.14-beta format (see below) -* An UpgradePlugin and associated edition that provides a custom, single-purpose user interface for upgrading standalone TiddlyWiki files +* An UpgradePlugin and associated edition that provides a custom, single-purpose user interface for upgrading standalone TiddlyWiki files - see http://tiddlywiki.com/upgrade.html -!!! PermaView (and PermaLinks) Off by Default +!!! Improvements to CamelCase Recognition -The browser address bar is automatically updated with previous beta releases of TiddlyWiki so that it dynamically reflects the tiddlers that are currently open. This makes it easier to get a permalink for copying and pasting elsewhere, but it leads to much confusion for casual users who don't always understand why unexpected tiddlers are being displayed. +TiddlyWiki now takes a much more conservative approach to recognising CamelCase terms that should be automatically linked. Previously, the dash and underscore were treated as lower case letters, leading to a number of false positives. See the [[GitHub bug #337|https://github.com/Jermolene/TiddlyWiki5/issues/337]] for details. + +!!! Automatic Permalinking Off by Default + +With previous beta releases of TiddlyWiki the browser address bar is automatically updated so that it dynamically reflects the tiddlers that are currently open. This makes it easier to get a permalink for copying and pasting elsewhere, but it leads to much confusion for casual users who don't always understand why unexpected tiddlers are being displayed after they have refreshed the page in the browser. For 5.0.14-beta, the setting has been changed. Visit [[control panel|$:/ControlPanel]] ''Advanced''/''Settings'' to switch the setting back to "Include the target tiddler and the current story sequence". -!! Accessibility Improvements - -* - !! Usability Improvements +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/f6d7d87a3d49f816ccc050bdf4a5394eed37dd51]] previews to the icon dropdown in the [[tag manager|$:/TagManager]] +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/56945d91d327489478fc44dce5234ece35a01abb]] an indication of unsaved changes by changing the colour of the save changes button +* [[Split|https://github.com/Jermolene/TiddlyWiki5/commit/7aa6c7c06d8b5359f183e6b9f6f57cf89611cda8]] the wikitext emphasis parsers into separate modules so that they can be independently controlled with the `\rules` pragma * [[Refactored|https://github.com/Jermolene/TiddlyWiki5/commit/f43cd5ba9c6e5eda221ec738174e61e34fad2b8d]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/a3de93b4eb8b108239b2e4b496308026e9e9eef8]]) ReleaseHistory to place the releases into vertical tabs * [[Stopped|https://github.com/Jermolene/TiddlyWiki5/commit/3ff7462afd5414b92680c6b6e67274be79233224]] saving [[$:/HistoryList]], thus avoiding it uncontrollably increasing in size * [[Improved|https://github.com/Jermolene/TiddlyWiki5/commit/73cf1bfdb3cd238ac7800162f58d44a8bb60019b]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/d5e4b9b5d1e7db5ad4d769433cc934ef08265f57]]) print stylesheet to remove page background * [[Updated|https://github.com/Jermolene/TiddlyWiki5/commit/07f13b310d300631267936ad8bc55a338369afc0]] display of plugin tiddlers so that their constituent tiddlers are shown, rather than the raw JSON +* [[Moved|https://github.com/Jermolene/TiddlyWiki5/commit/799a5b059a40a51fdeb1dae7a0eb5bf8a79f5106]] the functionality of the fullscreen plugin into the core !! Hackability Improvements +* [[Extended|https://github.com/Jermolene/TiddlyWiki5/commit/c23f6af4b5c59f4d09dd8d6704e1939bb9d5b2d3]] TiddlerWidget to add a CSS class corresponding to each tag present on displayed tiddlers +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/d357e1706c91d17a72fb19fedf43e57071fc7dd6]] support for hiding specified fields in the tiddler editor +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/be040ea8a2cc8962f1a28a313e4c9ebc2d5c0e31]] support for variable operands in filters (see [[Introduction to Filters]]) +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/1f16ef6fa88b51d2dad7c8e57fcff014950a7442]] support for widget messages [[tw-permalink|WidgetMessage: tw-permalink]] and [[tw-permaview|WidgetMessage: tw-permaview]] +* [[Added|https://github.com/Jermolene/TiddlyWiki5/tree/master/plugins/tiddlywiki/browser-sniff]] browser sniffing plugin so that tiddlywiki.com can present the correct browser-specific documentation +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/ef67cc3fd9b267a522598abccdfbb93fbfca240c]] a configuration option for specifying the default location for saving new tiddlers in the client-server configuration +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/b4d47858e587c96f3a68cc28cffff181ec45f55f]] support for the InfoMechanism * [[Extended|https://github.com/Jermolene/TiddlyWiki5/commit/f08f57c5d24eb0146ac2cb77472a5fc5f135f1e9]] CheckboxWidget to allow it to toggle fields as well as tags * [[Refactored|https://github.com/Jermolene/TiddlyWiki5/commit/21c137a66c37f010b36697bb6bed5321138fbb9f]] [[control panel|$:/ControlPanel]] theme tweaks to be stored in individual tiddlers * [[Extend|https://github.com/Jermolene/TiddlyWiki5/commit/e18d8a88661a1c2caa1b722841747c75ca6af437]] the TabsMacro to allow tabs to be templated * [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/91acad0f7ce8637945a953dfcb122cd31292626d]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/8612bc4006e717e4fa3c562fa72a85650206b66f]]) SystemTags support for inserting content above and below the story river * [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/f793816dfa687ae7791143b33487fd5f95f3265c]] support for transcluding plugin subtiddlers with the TranscludeWidget +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/c73853288c5b4b0716da94fea2f2edec09345643]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/08f775eac8cb053d08c1c561e65a5eeb87c4c6b6]]) support for importing from `*.htm` and `*.hta` files as well as the existing support for `*.html` files +* [[Extended|https://github.com/Jermolene/TiddlyWiki5/commit/73d7e85e11c7732080ca8bc4321ebb12afbac09c]] the "sticky titles" theme so that it works when tiddlers are in edit mode !! Bug Fixes @@ -52,9 +75,13 @@ For 5.0.14-beta, the setting has been changed. Visit [[control panel|$:/ControlP * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/d93da81671a704377209fc1871425c3a7c5db35a]] bug with missing hover colours for external links * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/465f4ac46903070759a572d183c498c5579cb922]] problem with refreshing modal dialogues * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/3351ae7e29cbf3bed6fc1925ef33664bcc59fef5]] issue with cookies disabled on Firefox +* [[Relax|https://github.com/Jermolene/TiddlyWiki5/commit/5260899d8b090e8886e41e3aa770fdcf5967ad8c]] the requirement for a newline immediately the closing `\end` of a macro definition !! Contributors [[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: * [[@BramChen|https://github.com/BramChen]] +* [[@pmario|https://github.com/pmario]] +* [[@ssokolow|https://github.com/ssokolow]] +* [[@xcazin|https://github.com/xcazin]] From 65014a8d6cc22784e5bcb1566fe630c834635758 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Mon, 11 Aug 2014 23:48:29 +0100 Subject: [PATCH 49/76] Docs updates --- editions/tw5.com/tiddlers/GettingStarted.tid | 30 +++---------------- editions/tw5.com/tiddlers/HelloThere.tid | 6 ++-- .../tw5.com/tiddlers/Saving on Safari.tid | 23 ++++++++++++++ .../GettingStarted - Android.tid | 8 +++-- .../GettingStarted - Chrome.tid | 9 ++++-- .../GettingStarted - Firefox.tid | 9 ++++-- .../GettingStarted - Internet Explorer.tid | 8 +++-- .../GettingStarted - Node.js.tid | 7 +++-- .../GettingStarted - Safari.tid | 9 ++++-- .../gettingstarted/GettingStarted - iOS.tid | 8 +++-- .../GettingStarted - unknown.tid | 5 ---- .../tiddlers/saving/Saving on Android.tid | 4 +-- .../Saving with the HTML5 fallback saver.tid | 8 ++--- themes/tiddlywiki/vanilla/base.tid | 4 +-- 14 files changed, 80 insertions(+), 58 deletions(-) create mode 100644 editions/tw5.com/tiddlers/Saving on Safari.tid delete mode 100644 editions/tw5.com/tiddlers/gettingstarted/GettingStarted - unknown.tid diff --git a/editions/tw5.com/tiddlers/GettingStarted.tid b/editions/tw5.com/tiddlers/GettingStarted.tid index 8616a8c56..71647398c 100644 --- a/editions/tw5.com/tiddlers/GettingStarted.tid +++ b/editions/tw5.com/tiddlers/GettingStarted.tid @@ -1,5 +1,5 @@ created: 20131129090249275 -modified: 20140720212022007 +modified: 20140811172052886 tags: introduction title: GettingStarted type: text/vnd.tiddlywiki @@ -11,31 +11,9 @@ GettingStarted - $(browser-name)$ <$macrocall $name="tabs" state="$:/state/tabs/platform" tabsList="[prefix[GettingStarted - ]]" default=<> class="tw-vertical"/> ------ +See also: -TiddlyWiki is very flexible, and there are many different ways to use it. Here we're focusing on using it as a standalone file in the browser, which is a good choice for most users as it doesn't require any special knowledge or tools. For more options you can also run [[TiddlyWiki on Node.js]]. - -[[Video Tutorials]] are available, too. - -! The 'works anywhere' method - -{{Saving with the HTML5 fallback saver}} - -! The convenient and fast method - -Saving changes as described above is quite inconvenient because of the degree of manual intervention that browsers require. The following alternative method is recommended for everyone who is able to use Mozilla's [[Firefox]] browser. - -{{Saving with TiddlyFox}} - -! Other ways of saving changes - -[[Saving with Encryption]] explains how to use TiddlyWiki's built-in encryption to protect your content with a password. - -You can also try: - -* [[Using TiddlyWiki on TiddlyDesktop]], a custom desktop application for working with TiddlyWiki -* [[Saving on iPad/iPhone]] with the custom ''TWEdit'' app -* [[Saving on Android]] with the custom ''~AndTidWiki'' app -* [[Saving on InternetExplorer]] with the [[TiddlyIE]] extension, or via the [[Windows HTA Hack]] +* [[Saving with Encryption]] explains how to use TiddlyWiki's built-in encryption to protect your content with a password * [[Saving on TiddlySpot]], a free service that lets you use TiddlyWiki online * Running [[TiddlyWiki on node-webkit]], turning a single TiddlyWiki into a native application on your desktop +* [[Using TiddlyWiki on TiddlyDesktop]], a custom desktop application for working with TiddlyWiki diff --git a/editions/tw5.com/tiddlers/HelloThere.tid b/editions/tw5.com/tiddlers/HelloThere.tid index 95215df00..550d3db39 100644 --- a/editions/tw5.com/tiddlers/HelloThere.tid +++ b/editions/tw5.com/tiddlers/HelloThere.tid @@ -1,14 +1,14 @@ created: 20130822170200000 -modified: 20140810111402520 +modified: 20140811224027280 tags: introduction title: HelloThere type: text/vnd.tiddlywiki -Welcome to TiddlyWiki, an open source notebook that anyone can use and keep forever, independently of any corporation. +Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation. TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a [[single HTML file in the browser|SingleFileApplication]] or as a powerful [[Node.js application|Node.js]]. It is highly customisable: the entire user interface is itself implemented in hackable WikiText. -This is version <> of ~TiddlyWiki, a major reboot designed [[for the next 25 years|Future of TiddlyWiki]]. It is currently in beta (see the detailed ReleaseHistory). There is a RoadMap for moving to the full release. It is a great time to [[get involved|Community]] and support the future development of ~TiddlyWiki. +This is version <> of ~TiddlyWiki, a major reboot designed [[for the next 25 years|Future of TiddlyWiki]]. It is currently in beta (see the detailed ReleaseHistory) with a RoadMap for moving to the full release. It is a great time to [[get involved|Community]] and support the future development of ~TiddlyWiki. //~TiddlyWiki is a free, open source project that depends on [[your love and support|HelpingTiddlyWiki]] for its survival//. diff --git a/editions/tw5.com/tiddlers/Saving on Safari.tid b/editions/tw5.com/tiddlers/Saving on Safari.tid new file mode 100644 index 000000000..137802ed3 --- /dev/null +++ b/editions/tw5.com/tiddlers/Saving on Safari.tid @@ -0,0 +1,23 @@ +created: 20140811171304926 +modified: 20140811171800263 +tags: howto +title: Saving on Safari +type: text/vnd.tiddlywiki + +This method of saving changes is clunky because it requires manual intervention for each save. + +# [[Download]] an empty TiddlyWiki by clicking this button: +#> {{$:/editions/tw5.com/snippets/download-empty-button}} +#> If the button doesn't work save this link: http://tiddlywiki.com/empty.html +#> Your browser may ask you to accept the download before it begins +# Locate the file you just downloaded +#* You may rename it, but be sure to keep the `.html` or `.htm` extension +# Open the file in Safari +# Try creating a new tiddler using the ''new tiddler'' {{$:/core/images/new-button}} button in the sidebar. Type some content for the tiddler, and click the {{$:/core/images/done-button}} ''done'' button +# Save your changes by clicking the {{$:/core/images/save-button}} ''save changes'' button in the sidebar +# A popup "Download changes" window is displayed that includes a link labelled //Right-click to save changes// +# Right-click on the link and select "Download Linked File As..." from the popup menu +# Navigate to the folder containing your wiki HTML file and select the existing file +# Click the "Save" button +# Click "Replace" to confirm replacing the existing file +# Verify that your changes have been saved correctly diff --git a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Android.tid b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Android.tid index 7ed80639e..320ae3556 100644 --- a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Android.tid +++ b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Android.tid @@ -1,5 +1,7 @@ -title: GettingStarted - Android caption: Android +created: 20140811171036268 +modified: 20140811171041595 +title: GettingStarted - Android +type: text/vnd.tiddlywiki -These are instructions for Android. - +{{Saving on Android}} diff --git a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Chrome.tid b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Chrome.tid index 84bf4dda5..32f4ee66f 100644 --- a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Chrome.tid +++ b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Chrome.tid @@ -1,4 +1,9 @@ -title: GettingStarted - Chrome caption: Chrome +created: 20140811165935523 +modified: 20140811170107969 +title: GettingStarted - Chrome +type: text/vnd.tiddlywiki -These are instructions for Chrome +TiddlyWiki on Google Chrome can only save changes using the HTML5-compatible fallback saver module. + +{{Saving with the HTML5 fallback saver}} diff --git a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Firefox.tid b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Firefox.tid index 64b5ab7f9..c6c975472 100644 --- a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Firefox.tid +++ b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Firefox.tid @@ -1,4 +1,9 @@ -title: GettingStarted - Firefox caption: Firefox +created: 20140811170425199 +modified: 20140811170527083 +title: GettingStarted - Firefox +type: text/vnd.tiddlywiki -These are instructions for Firefox +Firefox provides the best user experience for using TiddlyWiki with the TiddlyFox browser extension. + +{{Saving with TiddlyFox}} diff --git a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid index f02fb0779..da9ee9e55 100644 --- a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid +++ b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid @@ -1,5 +1,9 @@ -title: GettingStarted - Internet Explorer caption: Internet Explorer +created: 20140811172058274 +modified: 20140811172247864 +title: GettingStarted - Internet Explorer +type: text/vnd.tiddlywiki -These are instructions for Internet Explorer. +{{Saving with TiddlyIE}} +The [[Windows HTA Hack]] describes an alternative method of using TiddlyWiki with Internet Explorer. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Node.js.tid b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Node.js.tid index d232435ce..a4af8c340 100644 --- a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Node.js.tid +++ b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Node.js.tid @@ -1,4 +1,7 @@ -title: GettingStarted - Node.js caption: Node.js +created: 20140811172010003 +modified: 20140811172012677 +title: GettingStarted - Node.js +type: text/vnd.tiddlywiki -Instructions for Node.js +{{Installing TiddlyWiki on Node.js}} diff --git a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Safari.tid b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Safari.tid index 4872c1006..3e56b985f 100644 --- a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Safari.tid +++ b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Safari.tid @@ -1,5 +1,10 @@ -title: GettingStarted - Safari caption: Safari +created: 20140811171121022 +modified: 20140811171247643 +title: GettingStarted - Safari +type: text/vnd.tiddlywiki -These are instructions for Safari. +TiddlyWiki on Safari can only save changes using the HTML5-compatible fallback saver module. + +{{Saving on Safari}} diff --git a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - iOS.tid b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - iOS.tid index 595a33190..67f107621 100644 --- a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - iOS.tid +++ b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - iOS.tid @@ -1,5 +1,7 @@ -title: GettingStarted - iOS caption: iPad/iPhone +created: 20140811170918707 +modified: 20140811170921731 +title: GettingStarted - iOS +type: text/vnd.tiddlywiki -These are instructions for iPad/iPhone/iPod. - +{{Saving on iPad/iPhone}} diff --git a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - unknown.tid b/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - unknown.tid deleted file mode 100644 index 6da51fc8c..000000000 --- a/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - unknown.tid +++ /dev/null @@ -1,5 +0,0 @@ -title: GettingStarted - unknown -caption: unknown - -Your current browser is unknown. - diff --git a/editions/tw5.com/tiddlers/saving/Saving on Android.tid b/editions/tw5.com/tiddlers/saving/Saving on Android.tid index ba7b2b2f3..19da4c8e8 100644 --- a/editions/tw5.com/tiddlers/saving/Saving on Android.tid +++ b/editions/tw5.com/tiddlers/saving/Saving on Android.tid @@ -1,9 +1,9 @@ created: 20130825161400000 -modified: 20131203112539560 +modified: 20140811171026344 tags: howto title: Saving on Android type: text/vnd.tiddlywiki -The AndTidWiki app for Android devices makes it possible to edit and save changes to TiddlyWiki5, including working offline without a network connection. +The AndTidWiki app for Android devices makes it possible to edit and save changes to TiddlyWiki5, including working offline without a network connection. [[Download it here|https://play.google.com/store/apps/details?id=de.mgsimon.android.andtidwiki]]. //Note that AndTidWiki is published independently of TiddlyWiki// \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/saving/Saving with the HTML5 fallback saver.tid b/editions/tw5.com/tiddlers/saving/Saving with the HTML5 fallback saver.tid index cea136d5e..cfde40243 100644 --- a/editions/tw5.com/tiddlers/saving/Saving with the HTML5 fallback saver.tid +++ b/editions/tw5.com/tiddlers/saving/Saving with the HTML5 fallback saver.tid @@ -1,10 +1,10 @@ created: 20131129092604900 -modified: 20140226201353048 +modified: 20140811170321179 tags: howto title: Saving with the HTML5 fallback saver type: text/vnd.tiddlywiki -This method of saving changes is clunky but has the advantage of working on almost all desktop browsers, and many mobile browsers. +This method of saving changes is clunky because it requires manual intervention for each save. It has the advantage of working on almost all desktop browsers, and many mobile browsers. # [[Download]] an empty TiddlyWiki by clicking this button: #> {{$:/editions/tw5.com/snippets/download-empty-button}} @@ -13,8 +13,8 @@ This method of saving changes is clunky but has the advantage of working on almo # Locate the file you just downloaded #* You may rename it, but be sure to keep the `.html` or `.htm` extension # Open the file in your browser -# Try creating a new tiddler using the ''plus'' {{$:/core/images/new-button}} button in the sidebar. Type some content for the tiddler, and click the {{$:/core/images/done-button}} ''tick'' button -# Save your changes by clicking the {{$:/core/images/save-button}} ''download'' button in the sidebar +# Try creating a new tiddler using the ''new tiddler'' {{$:/core/images/new-button}} button in the sidebar. Type some content for the tiddler, and click the {{$:/core/images/done-button}} ''done'' button +# Save your changes by clicking the {{$:/core/images/save-button}} ''save changes'' button in the sidebar # Your browser will download a new copy of the wiki incorporating your changes # Locate the newly downloaded file and open it in your browser # Verify that your changes have been saved correctly diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index a6720403e..2edfe36e0 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -1135,8 +1135,8 @@ canvas.tw-edit-bitmapeditor { padding-top: 0; padding-left: 14px; border-left: 1px solid <>; - -webkit-flex: 0 0 70%; - flex: 0 0 70%; + -webkit-flex: 0 0 84%; + flex: 0 0 84%; } .tw-sidebar-lists .tw-tab-buttons button.tw-tab-selected { From bf748eafec58ae4df3b9ef7bcfece357528eda46 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 17:06:18 +0100 Subject: [PATCH 50/76] Correct width for vertical tab content --- themes/tiddlywiki/vanilla/base.tid | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index 2edfe36e0..6203bd19e 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -1135,8 +1135,8 @@ canvas.tw-edit-bitmapeditor { padding-top: 0; padding-left: 14px; border-left: 1px solid <>; - -webkit-flex: 0 0 84%; - flex: 0 0 84%; + -webkit-flex: 1 0 70%; + flex: 1 0 70%; } .tw-sidebar-lists .tw-tab-buttons button.tw-tab-selected { From 554f23530589ac666d1a423239768d2d41bfd4fc Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 17:09:49 +0100 Subject: [PATCH 51/76] Update dates for 5.0.14 --- editions/tw5.com/tiddlers/HelloThere.tid | 2 +- editions/tw5.com/tiddlers/Release 5.0.14beta.tid | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/HelloThere.tid b/editions/tw5.com/tiddlers/HelloThere.tid index 550d3db39..92bce4cf5 100644 --- a/editions/tw5.com/tiddlers/HelloThere.tid +++ b/editions/tw5.com/tiddlers/HelloThere.tid @@ -1,5 +1,5 @@ created: 20130822170200000 -modified: 20140811224027280 +modified: 20140813164027280 tags: introduction title: HelloThere type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/Release 5.0.14beta.tid b/editions/tw5.com/tiddlers/Release 5.0.14beta.tid index 7750bf099..a346bfd18 100644 --- a/editions/tw5.com/tiddlers/Release 5.0.14beta.tid +++ b/editions/tw5.com/tiddlers/Release 5.0.14beta.tid @@ -1,9 +1,10 @@ caption: 5.0.14-beta created: 20140518150234142 -modified: 20140811153116300 +modified: 20140813153116300 tags: releasenote title: Release 5.0.14-beta type: text/vnd.tiddlywiki +released: 201408131731 //[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.0.13-beta...v5.0.14-beta]]// From 932d3950c88642814fb0d75691f34e4fad830a21 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 17:12:42 +0100 Subject: [PATCH 52/76] Version number update for 5.0.14-beta --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7caec6065..711c95c8d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tiddlywiki", "preferGlobal": "true", - "version": "5.0.14-prerelease", + "version": "5.0.14-beta", "author": "Jeremy Ruston ", "description": "a non-linear personal web notebook", "contributors": [ From 2bdf84e58f4105f3bc1025d80652667e73429abe Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 19:13:30 +0100 Subject: [PATCH 53/76] Preparing for 5.0.15-beta --- .../tw5.com/tiddlers/Release 5.0.14beta.tid | 2 +- .../tw5.com/tiddlers/Release 5.0.15beta.tid | 28 +++++++++++++++++++ editions/tw5.com/tiddlers/ReleaseHistory.tid | 2 +- package.json | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 editions/tw5.com/tiddlers/Release 5.0.15beta.tid diff --git a/editions/tw5.com/tiddlers/Release 5.0.14beta.tid b/editions/tw5.com/tiddlers/Release 5.0.14beta.tid index a346bfd18..0a4c13d43 100644 --- a/editions/tw5.com/tiddlers/Release 5.0.14beta.tid +++ b/editions/tw5.com/tiddlers/Release 5.0.14beta.tid @@ -1,5 +1,5 @@ caption: 5.0.14-beta -created: 20140518150234142 +created: 20140718150234142 modified: 20140813153116300 tags: releasenote title: Release 5.0.14-beta diff --git a/editions/tw5.com/tiddlers/Release 5.0.15beta.tid b/editions/tw5.com/tiddlers/Release 5.0.15beta.tid new file mode 100644 index 000000000..11c642e42 --- /dev/null +++ b/editions/tw5.com/tiddlers/Release 5.0.15beta.tid @@ -0,0 +1,28 @@ +caption: 5.0.15-beta +created: 20140818150234142 +modified: 20140813153116300 +tags: releasenote +title: Release 5.0.15-beta +type: text/vnd.tiddlywiki + +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.0.14-beta...v5.0.15-beta]]// + +!! Major Changes + +!! Usability Improvements + +* + +!! Hackability Improvements + +* + +!! Bug Fixes + +* + +!! Contributors + +[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: + +* [[@BramChen|https://github.com/BramChen]] diff --git a/editions/tw5.com/tiddlers/ReleaseHistory.tid b/editions/tw5.com/tiddlers/ReleaseHistory.tid index d11e924d0..d7076c5c1 100644 --- a/editions/tw5.com/tiddlers/ReleaseHistory.tid +++ b/editions/tw5.com/tiddlers/ReleaseHistory.tid @@ -5,4 +5,4 @@ type: text/vnd.tiddlywiki Here are the details of recent releases of TiddlyWiki5. See [[TiddlyWiki5 Versioning]] for details of how releases are named. -<> +<> diff --git a/package.json b/package.json index 711c95c8d..144290fba 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tiddlywiki", "preferGlobal": "true", - "version": "5.0.14-beta", + "version": "5.0.15-prerelease", "author": "Jeremy Ruston ", "description": "a non-linear personal web notebook", "contributors": [ From 57ab9f6167e8adf9cef4991031e50519dfd7f392 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 19:14:23 +0100 Subject: [PATCH 54/76] Translatability for the unsaved changes message Another bit of #491 --- core/language/en-GB/Misc.multids | 1 + core/modules/startup/startup.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/core/language/en-GB/Misc.multids b/core/language/en-GB/Misc.multids index a58bf5bd5..58f07beff 100644 --- a/core/language/en-GB/Misc.multids +++ b/core/language/en-GB/Misc.multids @@ -30,3 +30,4 @@ TagManager/Colour/Heading: Colour TagManager/Count/Heading: Count TagManager/Icon/Heading: Icon TagManager/Tag/Heading: Tag +UnsavedChangesWarning: You have unsaved changes in TiddlyWiki diff --git a/core/modules/startup/startup.js b/core/modules/startup/startup.js index a7f4c583f..c4f93192d 100755 --- a/core/modules/startup/startup.js +++ b/core/modules/startup/startup.js @@ -58,7 +58,7 @@ exports.startup = function() { window.addEventListener("beforeunload",function(event) { var confirmationMessage = undefined; if($tw.syncer.isDirty()) { - confirmationMessage = "You have unsaved changes in TiddlyWiki"; + confirmationMessage = $tw.language.getString("UnsavedChangesWarning"); event.returnValue = confirmationMessage; // Gecko } return confirmationMessage; From c9ce606b7ceec76476479f7d856a25e0111c9ec1 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 19:29:00 +0100 Subject: [PATCH 55/76] Move the unsaved changes warning into the syncer --- core/modules/startup/startup.js | 9 --------- core/modules/syncer.js | 11 +++++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/core/modules/startup/startup.js b/core/modules/startup/startup.js index c4f93192d..a6d16c8ad 100755 --- a/core/modules/startup/startup.js +++ b/core/modules/startup/startup.js @@ -54,15 +54,6 @@ exports.startup = function() { $tw.syncer = new $tw.Syncer({wiki: $tw.wiki}); // Host-specific startup if($tw.browser) { - // Set up our beforeunload handler - window.addEventListener("beforeunload",function(event) { - var confirmationMessage = undefined; - if($tw.syncer.isDirty()) { - confirmationMessage = $tw.language.getString("UnsavedChangesWarning"); - event.returnValue = confirmationMessage; // Gecko - } - return confirmationMessage; - }); // Install the popup manager $tw.popup = new $tw.utils.Popup({ rootElement: document.body diff --git a/core/modules/syncer.js b/core/modules/syncer.js index 6600573fb..3d6081008 100644 --- a/core/modules/syncer.js +++ b/core/modules/syncer.js @@ -45,6 +45,17 @@ function Syncer(options) { this.wiki.addEventListener("change",function(changes) { self.syncToServer(changes); }); + // Set up our beforeunload handler + if($tw.browser) { + window.addEventListener("beforeunload",function(event) { + var confirmationMessage = undefined; + if(self.isDirty()) { + confirmationMessage = $tw.language.getString("UnsavedChangesWarning"); + event.returnValue = confirmationMessage; // Gecko + } + return confirmationMessage; + }); + } // Listen out for lazyLoad events if(this.syncadaptor) { this.wiki.addEventListener("lazyLoad",function(title) { From 34461cb2fe554331a0269fd7795b1d6a879fcba9 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 19:59:48 +0100 Subject: [PATCH 56/76] Fix unclickable download link in upgrade wizard --- plugins/tiddlywiki/upgrade/UpgradeWizard.tid | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/plugins/tiddlywiki/upgrade/UpgradeWizard.tid b/plugins/tiddlywiki/upgrade/UpgradeWizard.tid index 130ee2ce6..30f955b3f 100644 --- a/plugins/tiddlywiki/upgrade/UpgradeWizard.tid +++ b/plugins/tiddlywiki/upgrade/UpgradeWizard.tid @@ -15,10 +15,6 @@ Drag a ~TiddlyWiki file here to upgrade it or click to pick a file <$browse/> ---- - -//Your data will not leave your browser. [[Download|http://tiddlywiki.com/upgrade.html]] this upgrader to use it offline// - <$reveal state="$:/Import!!status" type="match" text="pending"> @@ -49,8 +45,10 @@ For help and support, visit [[the TiddlyWiki discussion forum|http://groups.goog -//(version <>)// -
+version <> + +//Your data will not leave your browser. Download this upgrader to use it offline// +
From d16bff77872e618aa0d50d1e64241a62592552f0 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 20:06:44 +0100 Subject: [PATCH 57/76] Move construction of rootwidget into main startup --- core/modules/startup/rootwidget.js | 8 -------- core/modules/startup/startup.js | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/modules/startup/rootwidget.js b/core/modules/startup/rootwidget.js index 222950825..103b4cf7f 100644 --- a/core/modules/startup/rootwidget.js +++ b/core/modules/startup/rootwidget.js @@ -22,14 +22,6 @@ exports.synchronous = true; var widget = require("$:/core/modules/widgets/widget.js"); exports.startup = function() { - // Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers - $tw.rootWidget = new widget.widget({ - type: "widget", - children: [] - },{ - wiki: $tw.wiki, - document: document - }); // Install the modal message mechanism $tw.modal = new $tw.utils.Modal($tw.wiki); $tw.rootWidget.addEventListener("tw-modal",function(event) { diff --git a/core/modules/startup/startup.js b/core/modules/startup/startup.js index a6d16c8ad..e6999da69 100755 --- a/core/modules/startup/startup.js +++ b/core/modules/startup/startup.js @@ -50,6 +50,14 @@ exports.startup = function() { }); // Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup $tw.wiki.clearTiddlerEventQueue(); + // Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers + $tw.rootWidget = new widget.widget({ + type: "widget", + children: [] + },{ + wiki: $tw.wiki, + document: document + }); // Set up the syncer object $tw.syncer = new $tw.Syncer({wiki: $tw.wiki}); // Host-specific startup From 7c1cb97f7fb6d6d8f3ec15ee96c299486814c992 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 20:07:08 +0100 Subject: [PATCH 58/76] Move syncer-browser startup handling into syncer.js --- core/modules/startup/syncer-browser.js | 34 -------------------------- core/modules/syncer.js | 15 ++++++++++-- 2 files changed, 13 insertions(+), 36 deletions(-) delete mode 100644 core/modules/startup/syncer-browser.js diff --git a/core/modules/startup/syncer-browser.js b/core/modules/startup/syncer-browser.js deleted file mode 100644 index a79c5e631..000000000 --- a/core/modules/startup/syncer-browser.js +++ /dev/null @@ -1,34 +0,0 @@ -/*\ -title: $:/core/modules/startup/syncer-browser.js -type: application/javascript -module-type: startup - -Startup handling - -\*/ -(function(){ - -/*jslint node: true, browser: true */ -/*global $tw: false */ -"use strict"; - -// Export name and synchronous status -exports.name = "syncer-browser"; -exports.platforms = ["browser"]; -exports.after = ["rootwidget"]; -exports.synchronous = true; - -exports.startup = function() { - // Listen out for login/logout/refresh events in the browser - $tw.rootWidget.addEventListener("tw-login",function() { - $tw.syncer.handleLoginEvent(); - }); - $tw.rootWidget.addEventListener("tw-logout",function() { - $tw.syncer.handleLogoutEvent(); - }); - $tw.rootWidget.addEventListener("tw-server-refresh",function() { - $tw.syncer.handleRefreshEvent(); - }); -}; - -})(); diff --git a/core/modules/syncer.js b/core/modules/syncer.js index 3d6081008..542bd0fc1 100644 --- a/core/modules/syncer.js +++ b/core/modules/syncer.js @@ -45,8 +45,9 @@ function Syncer(options) { this.wiki.addEventListener("change",function(changes) { self.syncToServer(changes); }); - // Set up our beforeunload handler + // Browser event handlers if($tw.browser) { + // Set up our beforeunload handler window.addEventListener("beforeunload",function(event) { var confirmationMessage = undefined; if(self.isDirty()) { @@ -55,6 +56,16 @@ function Syncer(options) { } return confirmationMessage; }); + // Listen out for login/logout/refresh events in the browser + $tw.rootWidget.addEventListener("tw-login",function() { + $tw.syncer.handleLoginEvent(); + }); + $tw.rootWidget.addEventListener("tw-logout",function() { + $tw.syncer.handleLogoutEvent(); + }); + $tw.rootWidget.addEventListener("tw-server-refresh",function() { + $tw.syncer.handleRefreshEvent(); + }); } // Listen out for lazyLoad events if(this.syncadaptor) { @@ -509,7 +520,7 @@ Syncer.prototype.chooseNextTask = function() { // Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time if(task.type === "save" && (now - task.lastModificationTime) < self.throttleInterval && (now - task.queueTime) < self.fallbackInterval) { - return; + return; } // Exclude the task if it is newer than the current best candidate if(candidateTask && candidateTask.queueTime < task.queueTime) { From 449edf99b54075db60d7d243400e342474220bf1 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 20:20:58 +0100 Subject: [PATCH 59/76] Fix rootwidget handling --- core/modules/startup/password.js | 2 +- core/modules/startup/rootwidget.js | 4 +--- core/modules/startup/startup.js | 18 +++++++++++------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/core/modules/startup/password.js b/core/modules/startup/password.js index a6d586401..3ff7e26c7 100644 --- a/core/modules/startup/password.js +++ b/core/modules/startup/password.js @@ -15,7 +15,7 @@ Password handling // Export name and synchronous status exports.name = "password"; exports.platforms = ["browser"]; -exports.after = ["rootwidget"]; +exports.after = ["startup"]; exports.synchronous = true; exports.startup = function() { diff --git a/core/modules/startup/rootwidget.js b/core/modules/startup/rootwidget.js index 103b4cf7f..8bce552b5 100644 --- a/core/modules/startup/rootwidget.js +++ b/core/modules/startup/rootwidget.js @@ -15,12 +15,10 @@ Setup the root widget and the core root widget handlers // Export name and synchronous status exports.name = "rootwidget"; exports.platforms = ["browser"]; -exports.after = ["load-modules"]; +exports.after = ["startup"]; exports.before = ["story"]; exports.synchronous = true; -var widget = require("$:/core/modules/widgets/widget.js"); - exports.startup = function() { // Install the modal message mechanism $tw.modal = new $tw.utils.Modal($tw.wiki); diff --git a/core/modules/startup/startup.js b/core/modules/startup/startup.js index e6999da69..6facee2c4 100755 --- a/core/modules/startup/startup.js +++ b/core/modules/startup/startup.js @@ -20,6 +20,8 @@ exports.synchronous = true; // Set to `true` to enable performance instrumentation var PERFORMANCE_INSTRUMENTATION = false; +var widget = require("$:/core/modules/widgets/widget.js"); + exports.startup = function() { var modules,n,m,f; if($tw.browser) { @@ -51,13 +53,15 @@ exports.startup = function() { // Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup $tw.wiki.clearTiddlerEventQueue(); // Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers - $tw.rootWidget = new widget.widget({ - type: "widget", - children: [] - },{ - wiki: $tw.wiki, - document: document - }); + if($tw.browser) { + $tw.rootWidget = new widget.widget({ + type: "widget", + children: [] + },{ + wiki: $tw.wiki, + document: document + }); + } // Set up the syncer object $tw.syncer = new $tw.Syncer({wiki: $tw.wiki}); // Host-specific startup From 35fcdd270e2745eabd50e96082f53b80ef7d45b5 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Wed, 13 Aug 2014 20:25:23 +0100 Subject: [PATCH 60/76] Move syncer event handlers into syncer module --- core/modules/startup/rootwidget.js | 21 --------------------- core/modules/syncer.js | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/core/modules/startup/rootwidget.js b/core/modules/startup/rootwidget.js index 8bce552b5..f28d5b776 100644 --- a/core/modules/startup/rootwidget.js +++ b/core/modules/startup/rootwidget.js @@ -35,27 +35,6 @@ exports.startup = function() { $tw.rootWidget.addEventListener("tw-scroll",function(event) { $tw.pageScroller.handleEvent(event); }); - // Install the save action handlers - $tw.rootWidget.addEventListener("tw-save-wiki",function(event) { - $tw.syncer.saveWiki({ - template: event.param, - downloadType: "text/plain" - }); - }); - $tw.rootWidget.addEventListener("tw-auto-save-wiki",function(event) { - $tw.syncer.saveWiki({ - method: "autosave", - template: event.param, - downloadType: "text/plain" - }); - }); - $tw.rootWidget.addEventListener("tw-download-file",function(event) { - $tw.syncer.saveWiki({ - method: "download", - template: event.param, - downloadType: "text/plain" - }); - }); var fullscreen = $tw.utils.getFullScreenApis(); if(fullscreen) { $tw.rootWidget.addEventListener("tw-full-screen",function(event) { diff --git a/core/modules/syncer.js b/core/modules/syncer.js index 542bd0fc1..4d9fa6c5b 100644 --- a/core/modules/syncer.js +++ b/core/modules/syncer.js @@ -66,6 +66,27 @@ function Syncer(options) { $tw.rootWidget.addEventListener("tw-server-refresh",function() { $tw.syncer.handleRefreshEvent(); }); + // Install the save action handlers + $tw.rootWidget.addEventListener("tw-save-wiki",function(event) { + $tw.syncer.saveWiki({ + template: event.param, + downloadType: "text/plain" + }); + }); + $tw.rootWidget.addEventListener("tw-auto-save-wiki",function(event) { + $tw.syncer.saveWiki({ + method: "autosave", + template: event.param, + downloadType: "text/plain" + }); + }); + $tw.rootWidget.addEventListener("tw-download-file",function(event) { + $tw.syncer.saveWiki({ + method: "download", + template: event.param, + downloadType: "text/plain" + }); + }); } // Listen out for lazyLoad events if(this.syncadaptor) { From fd61814a7d563dcb01e506ce3c4a6693950ac211 Mon Sep 17 00:00:00 2001 From: Bram Chen Date: Thu, 14 Aug 2014 15:20:45 +0800 Subject: [PATCH 61/76] Add chinese translations of unsaved changes message --- languages/zh-Hans/Misc.multids | 1 + languages/zh-Hant/Misc.multids | 1 + 2 files changed, 2 insertions(+) diff --git a/languages/zh-Hans/Misc.multids b/languages/zh-Hans/Misc.multids index 29a47c4df..548b50dce 100644 --- a/languages/zh-Hans/Misc.multids +++ b/languages/zh-Hans/Misc.multids @@ -30,3 +30,4 @@ TagManager/Colour/Heading: 颜色 TagManager/Count/Heading: 数量 TagManager/Icon/Heading: 图标 TagManager/Tag/Heading: 标签 +UnsavedChangesWarning: 在此 TiddlyWiki 您有尚未保存的变更 diff --git a/languages/zh-Hant/Misc.multids b/languages/zh-Hant/Misc.multids index 0c9fdf941..bdd26cfd6 100644 --- a/languages/zh-Hant/Misc.multids +++ b/languages/zh-Hant/Misc.multids @@ -30,3 +30,4 @@ TagManager/Colour/Heading: 顏色 TagManager/Count/Heading: 數量 TagManager/Icon/Heading: 圖示 TagManager/Tag/Heading: 標籤 +UnsavedChangesWarning: 在此 TiddlyWiki 您有尚未儲存的變更 From 4b05608ad5e77043b01495825ea0f0e76c378760 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 14 Aug 2014 08:49:03 +0100 Subject: [PATCH 62/76] Add tag manager button --- core/images/tag-button.tid | 9 +++++++++ core/language/en-GB/Buttons.multids | 2 ++ core/language/en-GB/SideBar.multids | 2 -- core/ui/MoreSideBar/Tags.tid | 15 +++++++++++++-- core/ui/PageControls/tag-button.tid | 13 +++++++++++++ core/wiki/config/PageControlButtons.multids | 1 + core/wiki/tags/PageControls.tid | 2 +- languages/de-DE/Buttons.multids | 6 ++++-- languages/de-DE/SideBar.multids | 1 - languages/fr-FR/Buttons.multids | 3 ++- languages/fr-FR/SideBar.multids | 1 - languages/it-IT/SideBar.multids | 2 -- languages/ja-JP/SideBar.multids | 2 -- languages/zh-Hans/Buttons.multids | 2 ++ languages/zh-Hans/SideBar.multids | 2 -- languages/zh-Hant/Buttons.multids | 2 ++ languages/zh-Hant/SideBar.multids | 2 -- 17 files changed, 49 insertions(+), 18 deletions(-) create mode 100644 core/images/tag-button.tid create mode 100644 core/ui/PageControls/tag-button.tid diff --git a/core/images/tag-button.tid b/core/images/tag-button.tid new file mode 100644 index 000000000..b93180dd7 --- /dev/null +++ b/core/images/tag-button.tid @@ -0,0 +1,9 @@ +title: $:/core/images/tag-button +tags: $:/tags/Image + + + + + + + diff --git a/core/language/en-GB/Buttons.multids b/core/language/en-GB/Buttons.multids index 80ceeb032..8074b51fb 100644 --- a/core/language/en-GB/Buttons.multids +++ b/core/language/en-GB/Buttons.multids @@ -52,5 +52,7 @@ HideSideBar/Caption: hide sidebar HideSideBar/Hint: Hide sidebar ShowSideBar/Caption: show sidebar ShowSideBar/Hint: Show sidebar +TagManager/Caption: tag manager +TagManager/Hint: Open tag manager Theme/Caption: theme Theme/Hint: Choose the display theme diff --git a/core/language/en-GB/SideBar.multids b/core/language/en-GB/SideBar.multids index e18dd924e..1ae4439dd 100644 --- a/core/language/en-GB/SideBar.multids +++ b/core/language/en-GB/SideBar.multids @@ -11,8 +11,6 @@ Recent/Caption: Recent Shadows/Caption: Shadows System/Caption: System Tags/Caption: Tags -Tags/TagManager/Caption: Tag Manager Tags/Untagged/Caption: untagged Tools/Caption: Tools Types/Caption: Types - diff --git a/core/ui/MoreSideBar/Tags.tid b/core/ui/MoreSideBar/Tags.tid index eda362e5f..63eab2673 100644 --- a/core/ui/MoreSideBar/Tags.tid +++ b/core/ui/MoreSideBar/Tags.tid @@ -2,8 +2,19 @@ title: $:/core/ui/MoreSideBar/Tags tags: $:/tags/MoreSideBar caption: {{$:/language/SideBar/Tags/Caption}} -\define lingo-base() $:/language/SideBar/Tags/ -<$button to="$:/TagManager" class="btn"><> +<$set name="tw-config-toolbar-icons" value="yes"> + +<$set name="tw-config-toolbar-text" value="yes"> + +<$set name="tw-config-toolbar-class" value=""> + +{{$:/core/ui/Buttons/tag-manager}} + + + + + + <$list filter="[tags[]!is[system]sort[title]]"> diff --git a/core/ui/PageControls/tag-button.tid b/core/ui/PageControls/tag-button.tid new file mode 100644 index 000000000..2becac341 --- /dev/null +++ b/core/ui/PageControls/tag-button.tid @@ -0,0 +1,13 @@ +title: $:/core/ui/Buttons/tag-manager +tags: $:/tags/PageControls +caption: {{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}} +description: {{$:/language/Buttons/TagManager/Hint}} + +<$button to="$:/TagManager" title={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=<>> +<$list filter="[prefix[yes]]"> +{{$:/core/images/tag-button}} + +<$list filter="[prefix[yes]]"> +<$text text={{$:/language/Buttons/TagManager/Caption}}/> + + diff --git a/core/wiki/config/PageControlButtons.multids b/core/wiki/config/PageControlButtons.multids index d15149785..df29cd1f0 100644 --- a/core/wiki/config/PageControlButtons.multids +++ b/core/wiki/config/PageControlButtons.multids @@ -6,6 +6,7 @@ core/ui/Buttons/full-screen: hide core/ui/Buttons/home: hide core/ui/Buttons/import: hide core/ui/Buttons/language: hide +core/ui/Buttons/tag-manager: hide core/ui/Buttons/more-page-actions: hide core/ui/Buttons/permaview: hide core/ui/Buttons/storyview: hide diff --git a/core/wiki/tags/PageControls.tid b/core/wiki/tags/PageControls.tid index 49b346080..080bb82d8 100644 --- a/core/wiki/tags/PageControls.tid +++ b/core/wiki/tags/PageControls.tid @@ -1,2 +1,2 @@ title: $:/tags/PageControls -list: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/more-page-actions]] +list: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/more-page-actions]] diff --git a/languages/de-DE/Buttons.multids b/languages/de-DE/Buttons.multids index f42ba314a..2fbde2f6f 100644 --- a/languages/de-DE/Buttons.multids +++ b/languages/de-DE/Buttons.multids @@ -1,7 +1,7 @@ title: $:/language/Buttons/ AdvancedSearch/Caption: erweiterte suche -AdvancedSearch/Hint: Erweiterte Suche +AdvancedSearch/Hint: Erweiterte Suche Cancel/Caption: abbrechen Cancel/Hint: Tiddler bearbeiten abbrechen Clone/Caption: klone @@ -31,7 +31,7 @@ Import/Hint: Importiere Dateien Info/Caption: info Info/Hint: Informationen zu diesem Tiddler anzeigen Home/Caption: home -Home/Hint: Seite neu laden und öffne die standard (default) Tiddler +Home/Hint: Seite neu laden und öffne die standard (default) Tiddler Language/Caption: sprache Language/Hint: Auswahl Dialog für die System Sprache NewTiddler/Caption: neuer Tiddler @@ -52,5 +52,7 @@ HideSideBar/Caption: Sidebar ausblenden HideSideBar/Hint: Sidebar ausblenden ShowSideBar/Caption: Sidebar einblenden ShowSideBar/Hint: Sidebar eiblenden +TagManager/Caption: tag manager +TagManager/Hint: Öffne das "Tag Manager" Theme/Caption: Thema Theme/Hint: Thema auswählen diff --git a/languages/de-DE/SideBar.multids b/languages/de-DE/SideBar.multids index 5f598eab8..fe9fc2fa0 100644 --- a/languages/de-DE/SideBar.multids +++ b/languages/de-DE/SideBar.multids @@ -11,7 +11,6 @@ Recent/Caption: Zuletzt Shadows/Caption: Schatten System/Caption: System Tags/Caption: Tags -Tags/TagManager/Caption: Tag Manager Tags/Untagged/Caption: untagged Tools/Caption: Tools Types/Caption: Typen diff --git a/languages/fr-FR/Buttons.multids b/languages/fr-FR/Buttons.multids index d2dcde78e..9af347c03 100644 --- a/languages/fr-FR/Buttons.multids +++ b/languages/fr-FR/Buttons.multids @@ -52,6 +52,7 @@ HideSideBar/Caption: cacher la barre latérale HideSideBar/Hint: Cacher la barre latérale ShowSideBar/Caption: afficher la barre latérale ShowSideBar/Hint: Afficher la barre latérale +TagManager/Caption: gestionnaire de tags +TagManager/Hint: Gestionnaire de tags Theme/Caption: thème Theme/Hint: Choix du thème pour l'affichage - diff --git a/languages/fr-FR/SideBar.multids b/languages/fr-FR/SideBar.multids index fc5a7ceb4..8c1febb55 100644 --- a/languages/fr-FR/SideBar.multids +++ b/languages/fr-FR/SideBar.multids @@ -11,7 +11,6 @@ Recent/Caption: Récents Shadows/Caption: Shadows System/Caption: Système Tags/Caption: Tags -Tags/TagManager/Caption: Gestionnaire de tags Tags/Untagged/Caption: sans étiquette Tools/Caption: Outils Types/Caption: Types diff --git a/languages/it-IT/SideBar.multids b/languages/it-IT/SideBar.multids index 80535f364..afb8c3b19 100644 --- a/languages/it-IT/SideBar.multids +++ b/languages/it-IT/SideBar.multids @@ -10,8 +10,6 @@ Recent/Caption: Recenti Shadows/Caption: Nascosti System/Caption: Sistema Tags/Caption: Categorie -Tags/TagManager/Caption: Manager categorie Tags/Untagged/Caption: Non categorizzati Tools/Caption: Strumenti Types/Caption: Tipi - diff --git a/languages/ja-JP/SideBar.multids b/languages/ja-JP/SideBar.multids index f31016c64..5595c3808 100644 --- a/languages/ja-JP/SideBar.multids +++ b/languages/ja-JP/SideBar.multids @@ -10,8 +10,6 @@ Recent/Caption: 最近 Shadows/Caption: 隠し System/Caption: システム Tags/Caption: タグ別 -Tags/TagManager/Caption: タグマネージャ Tags/Untagged/Caption: 未タグ Tools/Caption: ツール Types/Caption: 種類別 - diff --git a/languages/zh-Hans/Buttons.multids b/languages/zh-Hans/Buttons.multids index 66dba0aff..47126e38c 100644 --- a/languages/zh-Hans/Buttons.multids +++ b/languages/zh-Hans/Buttons.multids @@ -52,5 +52,7 @@ HideSideBar/Caption: 隐藏侧边栏 HideSideBar/Hint: 隐藏侧边栏 ShowSideBar/Caption: 显示侧边栏 ShowSideBar/Hint: 显示侧边栏 +TagManager/Caption: 标签管理 +TagManager/Hint: 标签管理 Theme/Caption: 布景主题 Theme/Hint: 选择布景主题 diff --git a/languages/zh-Hans/SideBar.multids b/languages/zh-Hans/SideBar.multids index 802931301..c4a206302 100644 --- a/languages/zh-Hans/SideBar.multids +++ b/languages/zh-Hans/SideBar.multids @@ -11,8 +11,6 @@ Recent/Caption: 最近 Shadows/Caption: 默认 System/Caption: 系统 Tags/Caption: 标签 -Tags/TagManager/Caption: 标签管理 Tags/Untagged/Caption: 未设标签 Tools/Caption: 工具 Types/Caption: 类型 - diff --git a/languages/zh-Hant/Buttons.multids b/languages/zh-Hant/Buttons.multids index c3ebb63d6..cd6984c9e 100644 --- a/languages/zh-Hant/Buttons.multids +++ b/languages/zh-Hant/Buttons.multids @@ -52,5 +52,7 @@ HideSideBar/Caption: 隱藏側邊欄 HideSideBar/Hint: 隱藏側邊欄 ShowSideBar/Caption: 顯示側邊欄 ShowSideBar/Hint: 顯示側邊欄 +TagManager/Caption: 標籤管理 +TagManager/Hint: 標籤管理 Theme/Caption: 佈景主題 Theme/Hint: 選擇佈景主題 diff --git a/languages/zh-Hant/SideBar.multids b/languages/zh-Hant/SideBar.multids index f91949153..53af4eb09 100644 --- a/languages/zh-Hant/SideBar.multids +++ b/languages/zh-Hant/SideBar.multids @@ -11,8 +11,6 @@ Recent/Caption: 最近 Shadows/Caption: 預設 System/Caption: 系統 Tags/Caption: 標籤 -Tags/TagManager/Caption: 標籤管理 Tags/Untagged/Caption: 未設標籤 Tools/Caption: 工具 Types/Caption: 類型 - From d57446f1e4f440cb7403a8a0b46a89f8e5ae112d Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 14 Aug 2014 08:54:31 +0100 Subject: [PATCH 63/76] Remove $tw.syncer global from syncer.js --- core/modules/syncer.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/modules/syncer.js b/core/modules/syncer.js index 4d9fa6c5b..03680573c 100644 --- a/core/modules/syncer.js +++ b/core/modules/syncer.js @@ -58,30 +58,30 @@ function Syncer(options) { }); // Listen out for login/logout/refresh events in the browser $tw.rootWidget.addEventListener("tw-login",function() { - $tw.syncer.handleLoginEvent(); + self.handleLoginEvent(); }); $tw.rootWidget.addEventListener("tw-logout",function() { - $tw.syncer.handleLogoutEvent(); + self.handleLogoutEvent(); }); $tw.rootWidget.addEventListener("tw-server-refresh",function() { - $tw.syncer.handleRefreshEvent(); + self.handleRefreshEvent(); }); // Install the save action handlers $tw.rootWidget.addEventListener("tw-save-wiki",function(event) { - $tw.syncer.saveWiki({ + self.saveWiki({ template: event.param, downloadType: "text/plain" }); }); $tw.rootWidget.addEventListener("tw-auto-save-wiki",function(event) { - $tw.syncer.saveWiki({ + self.saveWiki({ method: "autosave", template: event.param, downloadType: "text/plain" }); }); $tw.rootWidget.addEventListener("tw-download-file",function(event) { - $tw.syncer.saveWiki({ + self.saveWiki({ method: "download", template: event.param, downloadType: "text/plain" From 82860aea33ff1a9ea482c8bcbc693388bb8d756a Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 14 Aug 2014 11:10:55 +0100 Subject: [PATCH 64/76] Tweaked tag button --- core/images/tag-button.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/images/tag-button.tid b/core/images/tag-button.tid index b93180dd7..7d53a8a70 100644 --- a/core/images/tag-button.tid +++ b/core/images/tag-button.tid @@ -3,7 +3,7 @@ tags: $:/tags/Image - + From 27f1f82a70564432f3adb7b87c364c9489eff169 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 14 Aug 2014 11:12:25 +0100 Subject: [PATCH 65/76] Rejigging syncer structuring The goal is to separate out the saver handling from the syncadaptor handling; it will take a few steps to get there --- core/modules/startup/startup.js | 11 ++++++++++- core/modules/syncer.js | 11 ++++------- .../moduletypes/SyncAdaptorModules.tid | 13 +++++++++---- .../filesystem/filesystemadaptor.js | 14 +++++++------- .../tiddlywiki/tiddlyweb/tiddlywebadaptor.js | 19 ++++++++++--------- 5 files changed, 40 insertions(+), 28 deletions(-) diff --git a/core/modules/startup/startup.js b/core/modules/startup/startup.js index 6facee2c4..b60e1fcb4 100755 --- a/core/modules/startup/startup.js +++ b/core/modules/startup/startup.js @@ -62,8 +62,17 @@ exports.startup = function() { document: document }); } + // Find a working syncadaptor + $tw.syncadaptor = undefined; + $tw.modules.forEachModuleOfType("syncadaptor",function(title,module) { + if(!$tw.syncadaptor && module.adaptorClass) { + $tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki}); + } + }); // Set up the syncer object - $tw.syncer = new $tw.Syncer({wiki: $tw.wiki}); + if($tw.syncadaptor) { + $tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor}); + } // Host-specific startup if($tw.browser) { // Install the popup manager diff --git a/core/modules/syncer.js b/core/modules/syncer.js index 03680573c..66e84b8dc 100644 --- a/core/modules/syncer.js +++ b/core/modules/syncer.js @@ -14,20 +14,15 @@ The syncer tracks changes to the store. If a syncadaptor is used then individual /* Instantiate the syncer with the following options: +syncadaptor: reference to syncadaptor to be used wiki: wiki to be synced */ function Syncer(options) { var self = this; this.wiki = options.wiki; + this.syncadaptor = options.syncadaptor // Make a logger this.logger = new $tw.utils.Logger("syncer" + ($tw.browser ? "-browser" : "") + ($tw.node ? "-server" : "")); - // Find a working syncadaptor - this.syncadaptor = undefined; - $tw.modules.forEachModuleOfType("syncadaptor",function(title,module) { - if(!self.syncadaptor && module.adaptorClass) { - self.syncadaptor = new module.adaptorClass(self); - } - }); // Initialise our savers if($tw.browser) { this.initSavers(); @@ -603,6 +598,8 @@ Syncer.prototype.dispatchTask = function(task,callback) { } // Invoke the callback callback(null); + },{ + tiddlerInfo: self.tiddlerInfo[task.title] }); } }; diff --git a/editions/tw5.com/tiddlers/moduletypes/SyncAdaptorModules.tid b/editions/tw5.com/tiddlers/moduletypes/SyncAdaptorModules.tid index 3ec089631..5396f2081 100644 --- a/editions/tw5.com/tiddlers/moduletypes/SyncAdaptorModules.tid +++ b/editions/tw5.com/tiddlers/moduletypes/SyncAdaptorModules.tid @@ -1,5 +1,5 @@ created: 20130825162100000 -modified: 20131129094907624 +modified: 20140814094907624 tags: dev moduletypes title: SyncAdaptorModules type: text/vnd.tiddlywiki @@ -27,12 +27,16 @@ Nothing should be exported if the adaptor detects that it isn't capable of opera Adaptor modules must handle the following methods. -!! `Constructor(syncer)` +!! `Constructor(options)` Initialises a new adaptor instance. |!Parameter |!Description | -|syncer |Syncer object that is using this adaptor | +|options |See below | + +Options include: + +* ''options.wiki'': reference to wiki to use with this syncadaptor !! `getTiddlerInfo(tiddler)` @@ -91,10 +95,11 @@ Loads a tiddler from the server. |title |Title of tiddler to be retrieved | |callback |Callback function invoked with parameter `err,tiddlerFields` | -!! `deleteTiddler(title,callback)` +!! `deleteTiddler(title,callback,tiddlerInfo)` Delete a tiddler from the server. |!Parameter |!Description | |title |Title of tiddler to be deleted | |callback |Callback function invoked with parameter `err` | +|tiddlerInfo |The tiddlerInfo maintained by the syncer for this tiddler | diff --git a/plugins/tiddlywiki/filesystem/filesystemadaptor.js b/plugins/tiddlywiki/filesystem/filesystemadaptor.js index 3410490ef..eff03be1b 100644 --- a/plugins/tiddlywiki/filesystem/filesystemadaptor.js +++ b/plugins/tiddlywiki/filesystem/filesystemadaptor.js @@ -3,7 +3,7 @@ title: $:/plugins/tiddlywiki/filesystem/filesystemadaptor.js type: application/javascript module-type: syncadaptor -A sync adaptor module for synchronising with the local filesystem via node.js APIs +A sync adaptor module for synchronising with the local filesystem via node.js APIs \*/ (function(){ @@ -16,9 +16,9 @@ A sync adaptor module for synchronising with the local filesystem via node.js AP var fs = !$tw.browser ? require("fs") : null, path = !$tw.browser ? require("path") : null; -function FileSystemAdaptor(syncer) { +function FileSystemAdaptor(options) { var self = this; - this.syncer = syncer; + this.wiki = options.wiki; this.watchers = {}; this.pending = {}; this.logger = new $tw.utils.Logger("FileSystem"); @@ -31,7 +31,7 @@ function FileSystemAdaptor(syncer) { var tiddlers = $tw.loadTiddlersFromFile(filename).tiddlers; for(var t in tiddlers) { if(tiddlers[t].title) { - $tw.wiki.addTiddler(tiddlers[t]); + self.wiki.addTiddler(tiddlers[t]); } } } @@ -152,7 +152,7 @@ FileSystemAdaptor.prototype.saveTiddler = function(tiddler,callback) { if(err) { return callback(err); } - content = $tw.wiki.renderTiddler("text/plain","$:/core/templates/tiddler-metadata",{variables: {currentTiddler: tiddler.fields.title}}); + content = self.wiki.renderTiddler("text/plain","$:/core/templates/tiddler-metadata",{variables: {currentTiddler: tiddler.fields.title}}); fs.writeFile(fileInfo.filepath + ".meta",content,{encoding: "utf8"},function (err) { if(err) { return callback(err); @@ -164,7 +164,7 @@ FileSystemAdaptor.prototype.saveTiddler = function(tiddler,callback) { } else { // Save the tiddler as a self contained templated file template = $tw.config.typeTemplates[fileInfo.type]; - content = $tw.wiki.renderTiddler("text/plain",template,{variables: {currentTiddler: tiddler.fields.title}}); + content = self.wiki.renderTiddler("text/plain",template,{variables: {currentTiddler: tiddler.fields.title}}); fs.writeFile(fileInfo.filepath,content,{encoding: "utf8"},function (err) { if(err) { return callback(err); @@ -188,7 +188,7 @@ FileSystemAdaptor.prototype.loadTiddler = function(title,callback) { /* Delete a tiddler and invoke the callback with (err) */ -FileSystemAdaptor.prototype.deleteTiddler = function(title,callback) { +FileSystemAdaptor.prototype.deleteTiddler = function(title,callback,options) { var self = this, fileInfo = $tw.boot.files[title]; // Only delete the tiddler if we have writable information for the file diff --git a/plugins/tiddlywiki/tiddlyweb/tiddlywebadaptor.js b/plugins/tiddlywiki/tiddlyweb/tiddlywebadaptor.js index 73c733502..e87db5b0b 100644 --- a/plugins/tiddlywiki/tiddlyweb/tiddlywebadaptor.js +++ b/plugins/tiddlywiki/tiddlyweb/tiddlywebadaptor.js @@ -3,7 +3,7 @@ title: $:/plugins/tiddlywiki/tiddlyweb/tiddlywebadaptor.js type: application/javascript module-type: syncadaptor -A sync adaptor module for synchronising with TiddlyWeb compatible servers +A sync adaptor module for synchronising with TiddlyWeb compatible servers \*/ (function(){ @@ -15,15 +15,15 @@ A sync adaptor module for synchronising with TiddlyWeb compatible servers var CONFIG_HOST_TIDDLER = "$:/config/tiddlyweb/host", DEFAULT_HOST_TIDDLER = "$protocol$//$host$/"; -function TiddlyWebAdaptor(syncer) { - this.syncer = syncer; +function TiddlyWebAdaptor(options) { + this.wiki = options.wiki; this.host = this.getHost(); this.recipe = undefined; this.logger = new $tw.utils.Logger("TiddlyWebAdaptor"); } TiddlyWebAdaptor.prototype.getHost = function() { - var text = this.syncer.wiki.getTiddlerText(CONFIG_HOST_TIDDLER,DEFAULT_HOST_TIDDLER), + var text = this.wiki.getTiddlerText(CONFIG_HOST_TIDDLER,DEFAULT_HOST_TIDDLER), substitutions = [ {name: "protocol", value: document.location.protocol}, {name: "host", value: document.location.host} @@ -46,8 +46,7 @@ Get the current status of the TiddlyWeb connection */ TiddlyWebAdaptor.prototype.getStatus = function(callback) { // Get status - var self = this, - wiki = self.syncer.wiki; + var self = this; this.logger.log("Getting status"); $tw.utils.httpRequest({ url: this.host + "status", @@ -174,7 +173,7 @@ TiddlyWebAdaptor.prototype.saveTiddler = function(tiddler,callback) { // Invoke the callback callback(null,{ bag: etagInfo.bag - }, etagInfo.revision); + }, etagInfo.revision); } }); }; @@ -198,10 +197,12 @@ TiddlyWebAdaptor.prototype.loadTiddler = function(title,callback) { /* Delete a tiddler and invoke the callback with (err) +options include: +tiddlerInfo: the syncer's tiddlerInfo for this tiddler */ -TiddlyWebAdaptor.prototype.deleteTiddler = function(title,callback) { +TiddlyWebAdaptor.prototype.deleteTiddler = function(title,callback,options) { var self = this, - bag = this.syncer.tiddlerInfo[title].adaptorInfo.bag; + bag = options.tiddlerInfo.adaptorInfo.bag; // If we don't have a bag it means that the tiddler hasn't been seen by the server, so we don't need to delete it if(!bag) { return callback(null); From f75af2c983e10e8a82639890b993fb5cf042d610 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 14 Aug 2014 11:43:07 +0100 Subject: [PATCH 66/76] Separate the saver handling out of the syncer --- core/modules/saver-handler.js | 170 ++++++++++++++++++++++++++++++++ core/modules/startup/startup.js | 4 +- core/modules/syncer.js | 111 +-------------------- 3 files changed, 177 insertions(+), 108 deletions(-) create mode 100644 core/modules/saver-handler.js diff --git a/core/modules/saver-handler.js b/core/modules/saver-handler.js new file mode 100644 index 000000000..9d5f9a973 --- /dev/null +++ b/core/modules/saver-handler.js @@ -0,0 +1,170 @@ +/*\ +title: $:/core/modules/saver-handler.js +type: application/javascript +module-type: global + +The saver handler tracks changes to the store and handles saving the entire wiki via saver modules. + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +/* +Instantiate the saver handler with the following options: +wiki: wiki to be synced +*/ +function SaverHandler(options) { + var self = this; + this.wiki = options.wiki; + // Make a logger + this.logger = new $tw.utils.Logger("saver-handler"); + // Initialise our savers + if($tw.browser) { + this.initSavers(); + } + // Compile the dirty tiddler filter + this.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter)); + // Count of tiddlers that have been changed but not yet saved + this.numTasksInQueue = 0; + // Listen out for changes to tiddlers + this.wiki.addEventListener("change",function(changes) { + var filteredChanges = self.filterFn.call(self.wiki,function(callback) { + $tw.utils.each(changes,function(change,title) { + var tiddler = self.wiki.getTiddler(title); + callback(tiddler,title); + }); + }); + self.numTasksInQueue += filteredChanges.length; + self.updateDirtyStatus(); + }); + // Browser event handlers + if($tw.browser) { + // Set up our beforeunload handler + window.addEventListener("beforeunload",function(event) { + var confirmationMessage = undefined; + if(self.isDirty()) { + confirmationMessage = $tw.language.getString("UnsavedChangesWarning"); + event.returnValue = confirmationMessage; // Gecko + } + return confirmationMessage; + }); + // Install the save action handlers + $tw.rootWidget.addEventListener("tw-save-wiki",function(event) { + self.saveWiki({ + template: event.param, + downloadType: "text/plain" + }); + }); + $tw.rootWidget.addEventListener("tw-auto-save-wiki",function(event) { + self.saveWiki({ + method: "autosave", + template: event.param, + downloadType: "text/plain" + }); + }); + $tw.rootWidget.addEventListener("tw-download-file",function(event) { + self.saveWiki({ + method: "download", + template: event.param, + downloadType: "text/plain" + }); + }); + } +} + +SaverHandler.prototype.titleSyncFilter = "$:/config/SyncFilter"; +SaverHandler.prototype.titleAutoSave = "$:/config/AutoSave"; +SaverHandler.prototype.titleSavedNotification = "$:/language/Notifications/Save/Done"; + +/* +Select the appropriate saver modules and set them up +*/ +SaverHandler.prototype.initSavers = function(moduleType) { + moduleType = moduleType || "saver"; + // Instantiate the available savers + this.savers = []; + var self = this; + $tw.modules.forEachModuleOfType(moduleType,function(title,module) { + if(module.canSave(self)) { + self.savers.push(module.create(self.wiki)); + } + }); + // Sort the savers into priority order + this.savers.sort(function(a,b) { + if(a.info.priority < b.info.priority) { + return -1; + } else { + if(a.info.priority > b.info.priority) { + return +1; + } else { + return 0; + } + } + }); +}; + +/* +Save the wiki contents. Options are: + method: "save" or "download" + template: the tiddler containing the template to save + downloadType: the content type for the saved file +*/ +SaverHandler.prototype.saveWiki = function(options) { + options = options || {}; + var self = this, + method = options.method || "save", + template = options.template || "$:/core/save/all", + downloadType = options.downloadType || "text/plain", + text = this.wiki.renderTiddler(downloadType,template), + callback = function(err) { + if(err) { + alert("Error while saving:\n\n" + err); + } else { + $tw.notifier.display(self.titleSavedNotification); + if(options.callback) { + options.callback(); + } + } + }; + // Ignore autosave if disabled + if(method === "autosave" && this.wiki.getTiddlerText(this.titleAutoSave,"yes") !== "yes") { + return false; + } + // Call the highest priority saver that supports this method + for(var t=this.savers.length-1; t>=0; t--) { + var saver = this.savers[t]; + if(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback)) { + this.logger.log("Saving wiki with method",method,"through saver",saver.info.name); + // Clear the task queue if we're saving (rather than downloading) + if(method !== "download") { + this.numTasksInQueue = 0; + this.updateDirtyStatus(); + } + return true; + } + } + return false; +}; + +/* +Checks whether the wiki is dirty (ie the window shouldn't be closed) +*/ +SaverHandler.prototype.isDirty = function() { + return this.numTasksInQueue > 0; +}; + +/* +Update the document body with the class "tw-dirty" if the wiki has unsaved/unsynced changes +*/ +SaverHandler.prototype.updateDirtyStatus = function() { + if($tw.browser) { + $tw.utils.toggleClass(document.body,"tw-dirty",this.isDirty()); + } +}; + +exports.SaverHandler = SaverHandler; + +})(); diff --git a/core/modules/startup/startup.js b/core/modules/startup/startup.js index b60e1fcb4..67c3415c1 100755 --- a/core/modules/startup/startup.js +++ b/core/modules/startup/startup.js @@ -69,9 +69,11 @@ exports.startup = function() { $tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki}); } }); - // Set up the syncer object + // Set up the syncer object if we've got a syncadaptor, otherwise setup the saverhandler if($tw.syncadaptor) { $tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor}); + } else { + $tw.saverHandler = new $tw.SaverHandler({wiki: $tw.wiki}); } // Host-specific startup if($tw.browser) { diff --git a/core/modules/syncer.js b/core/modules/syncer.js index 66e84b8dc..b92d7a478 100644 --- a/core/modules/syncer.js +++ b/core/modules/syncer.js @@ -23,10 +23,6 @@ function Syncer(options) { this.syncadaptor = options.syncadaptor // Make a logger this.logger = new $tw.utils.Logger("syncer" + ($tw.browser ? "-browser" : "") + ($tw.node ? "-server" : "")); - // Initialise our savers - if($tw.browser) { - this.initSavers(); - } // Compile the dirty tiddler filter this.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter)); // Record information for known tiddlers @@ -61,34 +57,11 @@ function Syncer(options) { $tw.rootWidget.addEventListener("tw-server-refresh",function() { self.handleRefreshEvent(); }); - // Install the save action handlers - $tw.rootWidget.addEventListener("tw-save-wiki",function(event) { - self.saveWiki({ - template: event.param, - downloadType: "text/plain" - }); - }); - $tw.rootWidget.addEventListener("tw-auto-save-wiki",function(event) { - self.saveWiki({ - method: "autosave", - template: event.param, - downloadType: "text/plain" - }); - }); - $tw.rootWidget.addEventListener("tw-download-file",function(event) { - self.saveWiki({ - method: "download", - template: event.param, - downloadType: "text/plain" - }); - }); } // Listen out for lazyLoad events - if(this.syncadaptor) { - this.wiki.addEventListener("lazyLoad",function(title) { - self.handleLazyLoadEvent(title); - }); - } + this.wiki.addEventListener("lazyLoad",function(title) { + self.handleLazyLoadEvent(title); + }); // Get the login status this.getStatus(function (err,isLoggedIn) { // Do a sync from the server @@ -102,7 +75,6 @@ Constants Syncer.prototype.titleIsLoggedIn = "$:/status/IsLoggedIn"; Syncer.prototype.titleUserName = "$:/status/UserName"; Syncer.prototype.titleSyncFilter = "$:/config/SyncFilter"; -Syncer.prototype.titleAutoSave = "$:/config/AutoSave"; Syncer.prototype.titleSavedNotification = "$:/language/Notifications/Save/Done"; Syncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer Syncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s... @@ -129,79 +101,6 @@ Syncer.prototype.readTiddlerInfo = function() { }); }; -/* -Select the appropriate saver modules and set them up -*/ -Syncer.prototype.initSavers = function(moduleType) { - moduleType = moduleType || "saver"; - // Instantiate the available savers - this.savers = []; - var self = this; - $tw.modules.forEachModuleOfType(moduleType,function(title,module) { - if(module.canSave(self)) { - self.savers.push(module.create(self.wiki)); - } - }); - // Sort the savers into priority order - this.savers.sort(function(a,b) { - if(a.info.priority < b.info.priority) { - return -1; - } else { - if(a.info.priority > b.info.priority) { - return +1; - } else { - return 0; - } - } - }); -}; - -/* -Save the wiki contents. Options are: - method: "save" or "download" - template: the tiddler containing the template to save - downloadType: the content type for the saved file -*/ -Syncer.prototype.saveWiki = function(options) { - options = options || {}; - var self = this, - method = options.method || "save", - template = options.template || "$:/core/save/all", - downloadType = options.downloadType || "text/plain", - text = this.wiki.renderTiddler(downloadType,template), - callback = function(err) { - if(err) { - alert("Error while saving:\n\n" + err); - } else { - $tw.notifier.display(self.titleSavedNotification); - if(options.callback) { - options.callback(); - } - } - }; - // Ignore autosave if we've got a syncadaptor or autosave is disabled - if(method === "autosave") { - if(this.syncadaptor || this.wiki.getTiddlerText(this.titleAutoSave,"yes") !== "yes") { - return false; - } - } - // Call the highest priority saver that supports this method - for(var t=this.savers.length-1; t>=0; t--) { - var saver = this.savers[t]; - if(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback)) { - this.logger.log("Saving wiki with method",method,"through saver",saver.info.name); - // Clear the task queue if we're saving (rather than downloading) - if(method !== "download") { - this.readTiddlerInfo(); - this.taskQueue = {}; - this.updateDirtyStatus(); - } - return true; - } - } - return false; -}; - /* Checks whether the wiki is dirty (ie the window shouldn't be closed) */ @@ -453,9 +352,7 @@ Syncer.prototype.enqueueSyncTask = function(task) { this.updateDirtyStatus(); } // Process the queue - if(this.syncadaptor) { - $tw.utils.nextTick(function() {self.processTaskQueue.call(self);}); - } + $tw.utils.nextTick(function() {self.processTaskQueue.call(self);}); }; /* From 9e85ddfec78dd8df71e6173100dce659417551f4 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 14 Aug 2014 12:00:07 +0100 Subject: [PATCH 67/76] Ensure we have a default language in empty.html --- core/wiki/language.tid | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 core/wiki/language.tid diff --git a/core/wiki/language.tid b/core/wiki/language.tid new file mode 100644 index 000000000..a8a74ee23 --- /dev/null +++ b/core/wiki/language.tid @@ -0,0 +1,3 @@ +title: $:/language + +$:/languages/en-GB \ No newline at end of file From 837f36aa86edf792b185e652b3155c305f02ed75 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 14 Aug 2014 12:00:12 +0100 Subject: [PATCH 68/76] Docs update --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 6cba062fc..56a2544a6 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ -

Welcome to TiddlyWiki

Welcome to TiddlyWiki, a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.

This is version of TiddlyWiki, a major reboot designed for the next 25 years. It is currently in beta (see the detailed ReleaseHistory). There is a RoadMap for moving to the full release. It is a great time to get involved and support the future development of TiddlyWiki.

TiddlyWiki is a free, open source project that depends on your love and support for its survival.

TiddlyWikiClassic

The original "Classic" version of TiddlyWiki is still available at http://classic.tiddlywiki.com. Note that it is not fully backwards compatible: existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as the new version matures. +

Welcome to TiddlyWiki

Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.

TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.

This is version of TiddlyWiki, a major reboot designed for the next 25 years. It is currently in beta (see the detailed ReleaseHistory) with a RoadMap for moving to the full release. It is a great time to get involved and support the future development of TiddlyWiki.

TiddlyWiki is a free, open source project that depends on your love and support for its survival.

TiddlyWikiClassic

The original "Classic" version of TiddlyWiki is still available at http://classic.tiddlywiki.com. Note that it is not fully backwards compatible: existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as the new version matures.

Getting started with TiddlyWiki under Node.js

Running TiddlyWiki on Node.js brings several important benefits over and above the single file version:

  • You can edit your content on any suitably compatible HTML5 browser, including smartphones and tablets
  • Individual tiddlers are stored in separate files, which you can organise as you wish
  • The ability to build multiple wikis that blend different combinations of shared and unique content

Installation

  1. Install Node.js from http://nodejs.org
  2. Open a command line terminal and type:

    npm install -g tiddlywiki

    If it fails with an error you may need to re-run the command as an administrator:

    npm install -g tiddlywiki (Windows)

    sudo npm install -g tiddlywiki (Mac/Linux)

  3. Check TiddlyWiki is installed by typing:

    tiddlywiki --version

  4. In response, you should see TiddlyWiki report its current version (eg 5.0.8-beta; you may also see other debugging information reported)
  5. Try it out:
    1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
    2. tiddlywiki mynewwiki --server to start TiddlyWiki
    3. Visit http://127.0.0.1:8080/ in your browser
    4. Try editing and creating tiddlers

The -g flag causes TiddlyWiki to be installed globally. Without it, TiddlyWiki will only be available in the directory where you installed it.

A slightly different method for installation is recommended if you plan on forking the source code in order to study it or contribute to it. See Working with the TiddlyWiki5 repository.

Usage

TiddlyWiki5 can be used on the command line to perform an extensive set of operations based on TiddlyWikiFolders, TiddlerFiles and TiddlyWikiFiles.

For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in static HTML:

tiddlywiki --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html

Running tiddlywiki from the command line boots the TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.

The first argument is the optional path to the TiddlyWikiFolder to be loaded. If not present, then the current directory is used.

The commands and their individual arguments follow, each command being identified by the prefix --.

tiddlywiki [<wikipath>] [--<command> [<arg>[,<arg>]]]

The available commands are:

See also:

Upgrading

If you've installed TiddlyWiki on Node.js on the usual way, when a new version is released you can upgrade it with this command:

npm update -g tiddlywiki

On Mac or Linux you'll need to add sudo like this:

sudo npm update -g tiddlywiki

Working with the TiddlyWiki5 repository

Setting Up

If you plan on working with the TiddlyWiki5 source code then follow these steps:

  1. Fork the TiddlyWiki5 GitHub repository from https://github.com/Jermolene/TiddlyWiki5
  2. Clone a local copy of your fork
  3. Open a command line terminal and change the current working directory to the root of the repo
  4. Type npm link (Windows) or sudo npm link (Mac/Linux) to tell npm to use this copy of the repo as the globally installed one

After this procedure you can work with TiddlyWiki5 via npm as though it were installed in the usual way with npm install -g tiddlywiki.

See also Scripts for TiddlyWiki on Node.js.

This readme file was automatically generated by TiddlyWiki

\ No newline at end of file From 592cdc4617efb0c0269781ec30493563bf28cb2a Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 15 Aug 2014 09:36:36 +0100 Subject: [PATCH 69/76] Release note updates --- editions/tw5.com/tiddlers/Release 5.0.15beta.tid | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/editions/tw5.com/tiddlers/Release 5.0.15beta.tid b/editions/tw5.com/tiddlers/Release 5.0.15beta.tid index 11c642e42..c0bdc906e 100644 --- a/editions/tw5.com/tiddlers/Release 5.0.15beta.tid +++ b/editions/tw5.com/tiddlers/Release 5.0.15beta.tid @@ -7,19 +7,20 @@ type: text/vnd.tiddlywiki //[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.0.14-beta...v5.0.15-beta]]// -!! Major Changes +This is a small release to resolve some minor issues with [[Release 5.0.14-beta]]. !! Usability Improvements -* +* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/4b05608ad5e77043b01495825ea0f0e76c378760]] page control button for invoking the [[tag manager|$:/TagManager]] !! Hackability Improvements -* +* [[Refactored|https://github.com/Jermolene/TiddlyWiki5/commit/f75af2c983e10e8a82639890b993fb5cf042d610]] `saver-handler.js` out of `syncer.js` !! Bug Fixes -* +* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/34461cb2fe554331a0269fd7795b1d6a879fcba9]] unclickable link in upgrade wizard +* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/9e85ddfec78dd8df71e6173100dce659417551f4]] missing language flag in ''empty.html'' !! Contributors From c8830d32f74b8c228553f11f7f55b5be45ae6471 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 15 Aug 2014 09:40:22 +0100 Subject: [PATCH 70/76] Fixed problem with building TW under Windows Fixes #717 The issue was that under Windows we generate text nodes that contained CRLF as a linebreak (rather than just LF as usual). The subtle problem is that when these strings are placed in the DOM via createTextNode(), the CR character is treated as a printable character, not whitespace. When creating DOM notes with innerHTML or as part of a static HTML document the HTML parser will strip out the CR characters. The hacky solution is to manually remove CRs before building the text node. --- core/modules/widgets/text.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/modules/widgets/text.js b/core/modules/widgets/text.js index 4da2119ac..e3ebc4f70 100755 --- a/core/modules/widgets/text.js +++ b/core/modules/widgets/text.js @@ -30,8 +30,9 @@ TextNodeWidget.prototype.render = function(parent,nextSibling) { this.parentDomNode = parent; this.computeAttributes(); this.execute(); - var text = this.getAttribute("text",this.parseTreeNode.text), - textNode = this.document.createTextNode(text); + var text = this.getAttribute("text",this.parseTreeNode.text); + text = text.replace(/\r/mg,""); + var textNode = this.document.createTextNode(text); parent.insertBefore(textNode,nextSibling); this.domNodes.push(textNode); }; From e88dcfacd6fab9747edb68f1c394ed492e02ef1a Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 15 Aug 2014 09:42:54 +0100 Subject: [PATCH 71/76] More release note updates --- editions/tw5.com/tiddlers/Release 5.0.15beta.tid | 1 + 1 file changed, 1 insertion(+) diff --git a/editions/tw5.com/tiddlers/Release 5.0.15beta.tid b/editions/tw5.com/tiddlers/Release 5.0.15beta.tid index c0bdc906e..739c6c319 100644 --- a/editions/tw5.com/tiddlers/Release 5.0.15beta.tid +++ b/editions/tw5.com/tiddlers/Release 5.0.15beta.tid @@ -19,6 +19,7 @@ This is a small release to resolve some minor issues with [[Release 5.0.14-beta] !! Bug Fixes +* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/c8830d32f74b8c228553f11f7f55b5be45ae6471]] problem with building TiddlyWiki under Windows * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/34461cb2fe554331a0269fd7795b1d6a879fcba9]] unclickable link in upgrade wizard * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/9e85ddfec78dd8df71e6173100dce659417551f4]] missing language flag in ''empty.html'' From c0c52f5bcb6441b80bde53f3c4c1fae785b4c60c Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 15 Aug 2014 09:50:33 +0100 Subject: [PATCH 72/76] Revert to putting the version number in the corner ribbon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Based on two bits of feedback: 1. The version number should be displayed prominently on the page 2. Ordinary users don’t know what “Find me on GitHub” means --- editions/tw5.com/tiddlers/system/github-fork-ribbon.tid | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/system/github-fork-ribbon.tid b/editions/tw5.com/tiddlers/system/github-fork-ribbon.tid index 22fddf73b..efd6c8c18 100644 --- a/editions/tw5.com/tiddlers/system/github-fork-ribbon.tid +++ b/editions/tw5.com/tiddlers/system/github-fork-ribbon.tid @@ -3,5 +3,4 @@ tags: $:/tags/PageControls caption: ~GitHub ribbon description: ~GitHub ribbon for tw5.com - \ No newline at end of file +
<$link to="ReleaseHistory"><>
\ No newline at end of file From ea83149746127125a6c971ea89cfab2dc308db34 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 15 Aug 2014 09:52:57 +0100 Subject: [PATCH 73/76] Release note updates --- editions/tw5.com/tiddlers/Release 5.0.15beta.tid | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/Release 5.0.15beta.tid b/editions/tw5.com/tiddlers/Release 5.0.15beta.tid index 739c6c319..a0954b6c9 100644 --- a/editions/tw5.com/tiddlers/Release 5.0.15beta.tid +++ b/editions/tw5.com/tiddlers/Release 5.0.15beta.tid @@ -1,5 +1,5 @@ caption: 5.0.15-beta -created: 20140818150234142 +created: 20140812150234142 modified: 20140813153116300 tags: releasenote title: Release 5.0.15-beta @@ -20,7 +20,7 @@ This is a small release to resolve some minor issues with [[Release 5.0.14-beta] !! Bug Fixes * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/c8830d32f74b8c228553f11f7f55b5be45ae6471]] problem with building TiddlyWiki under Windows -* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/34461cb2fe554331a0269fd7795b1d6a879fcba9]] unclickable link in upgrade wizard +* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/34461cb2fe554331a0269fd7795b1d6a879fcba9]] unclickable download ink in upgrade wizard * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/9e85ddfec78dd8df71e6173100dce659417551f4]] missing language flag in ''empty.html'' !! Contributors From 95926b85b96b69b23d12ba63dd7807b718528f6b Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 15 Aug 2014 10:06:05 +0100 Subject: [PATCH 74/76] Move editor type mappings into a single file --- core/config/editor-type-mappings/image-gif.tid | 3 --- core/config/editor-type-mappings/image-jpeg.tid | 3 --- core/config/editor-type-mappings/image-jpg.tid | 3 --- core/config/editor-type-mappings/image-png.tid | 3 --- core/config/editor-type-mappings/image-x-icon.tid | 3 --- core/config/editor-type-mappings/text-vnd-tiddlywiki.tid | 3 --- core/wiki/config/EditorTypeMappings.multids | 8 ++++++++ 7 files changed, 8 insertions(+), 18 deletions(-) delete mode 100644 core/config/editor-type-mappings/image-gif.tid delete mode 100644 core/config/editor-type-mappings/image-jpeg.tid delete mode 100644 core/config/editor-type-mappings/image-jpg.tid delete mode 100644 core/config/editor-type-mappings/image-png.tid delete mode 100644 core/config/editor-type-mappings/image-x-icon.tid delete mode 100644 core/config/editor-type-mappings/text-vnd-tiddlywiki.tid create mode 100644 core/wiki/config/EditorTypeMappings.multids diff --git a/core/config/editor-type-mappings/image-gif.tid b/core/config/editor-type-mappings/image-gif.tid deleted file mode 100644 index 7f66c8434..000000000 --- a/core/config/editor-type-mappings/image-gif.tid +++ /dev/null @@ -1,3 +0,0 @@ -title: $:/config/EditorTypeMappings/image/gif - -bitmap \ No newline at end of file diff --git a/core/config/editor-type-mappings/image-jpeg.tid b/core/config/editor-type-mappings/image-jpeg.tid deleted file mode 100644 index 02a0943ca..000000000 --- a/core/config/editor-type-mappings/image-jpeg.tid +++ /dev/null @@ -1,3 +0,0 @@ -title: $:/config/EditorTypeMappings/image/jpeg - -bitmap \ No newline at end of file diff --git a/core/config/editor-type-mappings/image-jpg.tid b/core/config/editor-type-mappings/image-jpg.tid deleted file mode 100644 index d1eda17c7..000000000 --- a/core/config/editor-type-mappings/image-jpg.tid +++ /dev/null @@ -1,3 +0,0 @@ -title: $:/config/EditorTypeMappings/image/jpg - -bitmap \ No newline at end of file diff --git a/core/config/editor-type-mappings/image-png.tid b/core/config/editor-type-mappings/image-png.tid deleted file mode 100644 index 4c4f613cd..000000000 --- a/core/config/editor-type-mappings/image-png.tid +++ /dev/null @@ -1,3 +0,0 @@ -title: $:/config/EditorTypeMappings/image/png - -bitmap \ No newline at end of file diff --git a/core/config/editor-type-mappings/image-x-icon.tid b/core/config/editor-type-mappings/image-x-icon.tid deleted file mode 100644 index d2b4d0d99..000000000 --- a/core/config/editor-type-mappings/image-x-icon.tid +++ /dev/null @@ -1,3 +0,0 @@ -title: $:/config/EditorTypeMappings/image/x-icon - -bitmap \ No newline at end of file diff --git a/core/config/editor-type-mappings/text-vnd-tiddlywiki.tid b/core/config/editor-type-mappings/text-vnd-tiddlywiki.tid deleted file mode 100644 index fee2a2a62..000000000 --- a/core/config/editor-type-mappings/text-vnd-tiddlywiki.tid +++ /dev/null @@ -1,3 +0,0 @@ -title: $:/config/EditorTypeMappings/text/vnd.tiddlywiki - -text \ No newline at end of file diff --git a/core/wiki/config/EditorTypeMappings.multids b/core/wiki/config/EditorTypeMappings.multids new file mode 100644 index 000000000..f39a6e397 --- /dev/null +++ b/core/wiki/config/EditorTypeMappings.multids @@ -0,0 +1,8 @@ +title: $:/config/EditorTypeMappings/ + +image/gif: bitmap +image/jpeg: bitmap +image/jpg: bitmap +image/png: bitmap +image/x-icon: bitmap +text/vnd.tiddlywiki: text From 0aeb9d36a09670177fe83893e40f8bf1e7af541f Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 15 Aug 2014 10:06:19 +0100 Subject: [PATCH 75/76] Fix content type typo --- .../tiddlers/messages/WidgetMessage_ tw-auto-save-wiki.tid | 2 +- .../tiddlers/messages/WidgetMessage_ tw-download-file.tid | 2 +- .../tw5.com/tiddlers/messages/WidgetMessage_ tw-full-screen.tid | 2 +- editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-login.tid | 2 +- editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-logout.tid | 2 +- editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-modal.tid | 2 +- editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-notify.tid | 2 +- .../tw5.com/tiddlers/messages/WidgetMessage_ tw-save-wiki.tid | 2 +- .../tiddlers/messages/WidgetMessage_ tw-server-refresh.tid | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-auto-save-wiki.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-auto-save-wiki.tid index b76722d2d..d5b99be0c 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-auto-save-wiki.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-auto-save-wiki.tid @@ -2,7 +2,7 @@ created: 20140811112343634 modified: 20140811114420597 tags: message title: WidgetMessage: tw-auto-save-wiki -type: application/x-tiddler +type: text/vnd.tiddlywiki The autosave wiki message causes the current saver module to perform a background save if it is required. diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-download-file.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-download-file.tid index 43dd238ad..2b14dd92e 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-download-file.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-download-file.tid @@ -2,7 +2,7 @@ created: 20140811112201235 modified: 20140811115140378 tags: message title: WidgetMessage: tw-download-file -type: application/x-tiddler +type: text/vnd.tiddlywiki The download file message causes the current saver module to prompt the user to download the result of parsing a specified template tiddler as a file. It requires the following properties on the `event` object: diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-full-screen.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-full-screen.tid index 7b34d9dae..305b8c778 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-full-screen.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-full-screen.tid @@ -2,7 +2,7 @@ created: 20140811112400855 modified: 20140811113627373 tags: message title: WidgetMessage: tw-full-screen -type: application/x-tiddler +type: text/vnd.tiddlywiki The fullscreen message toggles the "fullscreen" mode of the browser, if it supports it. diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-login.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-login.tid index c6c827a0b..38eda7164 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-login.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-login.tid @@ -2,7 +2,7 @@ created: 20140811112445887 modified: 20140811113336694 tags: message title: WidgetMessage: tw-login -type: application/x-tiddler +type: text/vnd.tiddlywiki The login message prompts the user for a username and password and attempts to login to the current serverside host. The tiddler [[$:/status/IsLoggedIn]] reflects the current login status with the values "yes" or "no", and [[$:/status/UserName]] reflects the current username. diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-logout.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-logout.tid index b09941aa8..a499fdb25 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-logout.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-logout.tid @@ -2,7 +2,7 @@ created: 20140811112457311 modified: 20140811113344084 tags: message title: WidgetMessage: tw-logout -type: application/x-tiddler +type: text/vnd.tiddlywiki The logout message attempts to log the user out of the current serverside host. The tiddler [[$:/status/IsLoggedIn]] reflects the current login status with the values "yes" or "no", and [[$:/status/UserName]] reflects the current username. diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-modal.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-modal.tid index 16a10be2a..84decfc1f 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-modal.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-modal.tid @@ -2,7 +2,7 @@ created: 20140811112133701 modified: 20140811120203685 tags: message title: WidgetMessage: tw-modal -type: application/x-tiddler +type: text/vnd.tiddlywiki The modal message displays a specified tiddler in a modal overlay that dims the main page. It requires the following properties on the `event` object: diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-notify.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-notify.tid index c4fba1496..97c72408d 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-notify.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-notify.tid @@ -2,7 +2,7 @@ created: 20140811112304772 modified: 20140811120248738 tags: message title: WidgetMessage: tw-notify -type: application/x-tiddler +type: text/vnd.tiddlywiki The notify message briefly displays a specified tiddler as a small alert in the upper right corner of the page. It requires the following properties on the `event` object: diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-save-wiki.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-save-wiki.tid index 5b0e9b830..bff780fe0 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-save-wiki.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-save-wiki.tid @@ -2,7 +2,7 @@ created: 20140811112325641 modified: 20140811115149288 tags: message title: WidgetMessage: tw-save-wiki -type: application/x-tiddler +type: text/vnd.tiddlywiki The save wiki message causes the current saver module to perform a full save operation. The save operation can involve user interaction, unlike the [[WidgetMessage: tw-auto-save-wiki]]/ diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-server-refresh.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-server-refresh.tid index c22248691..fcf56e28e 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-server-refresh.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tw-server-refresh.tid @@ -2,7 +2,7 @@ created: 20140811112435281 modified: 20140811113453568 tags: message title: WidgetMessage: tw-server-refresh -type: application/x-tiddler +type: text/vnd.tiddlywiki The server refresh message attempts to synchronise the latest changes to the current serverside host. From 18592fe8f810d1858ca040da1a7c4a81fb74cfed Mon Sep 17 00:00:00 2001 From: Jermolene Date: Fri, 15 Aug 2014 10:06:52 +0100 Subject: [PATCH 76/76] Fix problem with edit widget not refreshing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One symptom of this problem was that changing the type field of a tiddler didn’t immediately switch to the bitmap editor --- core/modules/widgets/edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/widgets/edit.js b/core/modules/widgets/edit.js index 0782d5118..39f4c39c2 100644 --- a/core/modules/widgets/edit.js +++ b/core/modules/widgets/edit.js @@ -83,7 +83,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of */ EditWidget.prototype.refresh = function(changedTiddlers) { var changedAttributes = this.computeAttributes(); - if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index) { + if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.editTitle]) { this.refreshSelf(); return true; } else {