From 89fd8871b6217634c9896b9402069757ca5ea189 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Thu, 2 Feb 2023 09:55:54 +0000 Subject: [PATCH 01/83] Add encodebase64/decodebase64 operators Proposed by @ericshulman --- core/modules/filters/encodings.js | 16 ++++++++++++++++ .../tiddlers/tests/data/filters/Base64.tid | 19 +++++++++++++++++++ .../filters/decodebase64 Operator.tid | 16 ++++++++++++++++ .../filters/encodebase64 Operator.tid | 16 ++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 editions/test/tiddlers/tests/data/filters/Base64.tid create mode 100644 editions/tw5.com/tiddlers/filters/decodebase64 Operator.tid create mode 100644 editions/tw5.com/tiddlers/filters/encodebase64 Operator.tid diff --git a/core/modules/filters/encodings.js b/core/modules/filters/encodings.js index 9ab38c54e..23c743a03 100644 --- a/core/modules/filters/encodings.js +++ b/core/modules/filters/encodings.js @@ -16,6 +16,22 @@ Filter operator for applying decodeURIComponent() to each item. Export our filter functions */ +exports.decodebase64 = function(source,operator,options) { + var results = []; + source(function(tiddler,title) { + results.push($tw.utils.base64Decode(title)); + }); + return results; +}; + +exports.encodebase64 = function(source,operator,options) { + var results = []; + source(function(tiddler,title) { + results.push($tw.utils.base64Encode(title)); + }); + return results; +}; + exports.decodeuricomponent = function(source,operator,options) { var results = []; source(function(tiddler,title) { diff --git a/editions/test/tiddlers/tests/data/filters/Base64.tid b/editions/test/tiddlers/tests/data/filters/Base64.tid new file mode 100644 index 000000000..17f1defff --- /dev/null +++ b/editions/test/tiddlers/tests/data/filters/Base64.tid @@ -0,0 +1,19 @@ +title: Filters/Base64 +description: Test {encode|decode}base64 operators +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +\whitespace trim +(<$text text={{{ [[Jeremy1234]encodebase64[]] }}}/>) +(<$text text={{{ [[]encodebase64[]] }}}/>) +(<$text text={{{ [[SmVyZW15MTIzNA==]decodebase64[]] }}}/>) +(<$text text={{{ [[]decodebase64[]] }}}/>) ++ +title: ExpectedResult + +

(SmVyZW15MTIzNA==) +() +(Jeremy1234) +()

\ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/decodebase64 Operator.tid b/editions/tw5.com/tiddlers/filters/decodebase64 Operator.tid new file mode 100644 index 000000000..6760af8d3 --- /dev/null +++ b/editions/tw5.com/tiddlers/filters/decodebase64 Operator.tid @@ -0,0 +1,16 @@ +caption: decodebase64 +op-input: a [[selection of titles|Title Selection]] +op-output: the input with base 64 decoding applied +op-parameter: +op-parameter-name: +op-purpose: apply base 64 decoding to a string +tags: [[Filter Operators]] [[String Operators]] +title: decodebase64 Operator +type: text/vnd.tiddlywiki +from-version: 5.2.6 + +See Mozilla Developer Network for details of [[base 64 encoding|https://developer.mozilla.org/en-US/docs/Glossary/Base64]]. TiddlyWiki uses [[library code from @nijikokun|https://gist.github.com/Nijikokun/5192472]] to handle the conversion. + +The input strings must be base64 encoded. The output strings are binary data. + +<<.operator-examples "decodebase64">> diff --git a/editions/tw5.com/tiddlers/filters/encodebase64 Operator.tid b/editions/tw5.com/tiddlers/filters/encodebase64 Operator.tid new file mode 100644 index 000000000..ddbc73078 --- /dev/null +++ b/editions/tw5.com/tiddlers/filters/encodebase64 Operator.tid @@ -0,0 +1,16 @@ +caption: encodebase64 +op-input: a [[selection of titles|Title Selection]] +op-output: the input with base 64 encoding applied +op-parameter: +op-parameter-name: +op-purpose: apply base 64 encoding to a string +tags: [[Filter Operators]] [[String Operators]] +title: encodebase64 Operator +type: text/vnd.tiddlywiki +from-version: 5.2.6 + +See Mozilla Developer Network for details of [[base 64 encoding|https://developer.mozilla.org/en-US/docs/Glossary/Base64]]. TiddlyWiki uses [[library code from @nijikokun|https://gist.github.com/Nijikokun/5192472]] to handle the conversion. + +The input strings are interpreted as binary data. The output strings are base64 encoded. + +<<.operator-examples "encodebase64">> From 3da3318396b7495d8e2435145758275651a5c8c6 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Fri, 3 Feb 2023 19:22:43 +0000 Subject: [PATCH 02/83] Node.js: Prefer .tid format when a _canonical_uri field present Fixes #7238 --- core/modules/utils/filesystem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/utils/filesystem.js b/core/modules/utils/filesystem.js index cb542493f..1ba34323e 100644 --- a/core/modules/utils/filesystem.js +++ b/core/modules/utils/filesystem.js @@ -238,7 +238,7 @@ exports.generateTiddlerFileInfo = function(tiddler,options) { } else { // Save as a .tid or a text/binary file plus a .meta file var tiddlerType = tiddler.fields.type || "text/vnd.tiddlywiki"; - if(tiddlerType === "text/vnd.tiddlywiki") { + if(tiddlerType === "text/vnd.tiddlywiki" || tiddler.hasField("_canonical_uri")) { // Save as a .tid file fileInfo.type = "application/x-tiddler"; fileInfo.hasMetaFile = false; From 8567c48be8c41a35bef58bd0d3208e4c95337eb6 Mon Sep 17 00:00:00 2001 From: TonyM <31584658+AnthonyMuscio@users.noreply.github.com> Date: Sat, 4 Feb 2023 06:25:23 +1100 Subject: [PATCH 03/83] Update BrowseWidget.tid (#7231) * Update BrowseWidget.tid Made sure all references to use of the `<$browse>` widget were changed to `<$browse/>` Which possibly caused this problem, now closed https://github.com/Jermolene/TiddlyWiki5/issues/7223 If not closed other widgets may work * To documentation standard Replaced `The content of the `<$browse>` widget is ignored.` `The content of the <<.wid BrowseWidget>> widget is ignored.` To restore documentation standards as per @Jermolene --- editions/tw5.com/tiddlers/widgets/BrowseWidget.tid | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/editions/tw5.com/tiddlers/widgets/BrowseWidget.tid b/editions/tw5.com/tiddlers/widgets/BrowseWidget.tid index 83953c26b..28012bd68 100644 --- a/editions/tw5.com/tiddlers/widgets/BrowseWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/BrowseWidget.tid @@ -11,7 +11,7 @@ The browse widget displays an HTML file browser button that allows the user to c ! Content and Attributes -The content of the `<$browse>` widget is ignored. +The content of the <<.wid BrowseWidget>> widget is ignored. |!Attribute |!Description | |multiple |Set to "multiple" to select multiple file upload | @@ -26,10 +26,10 @@ On iPhone/iPad choosing the multiple option will remove the ability to take phot ''e.g.'' ``` -<$browse> +<$browse/> ``` renders as: -<$browse> +<$browse/> From 81f514116657d0d567be7a4c45762a85beaa8bc0 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Fri, 10 Feb 2023 09:00:52 +0000 Subject: [PATCH 04/83] Dynannotate: Don't crash when used in the fake DOM Fixes #7258 --- .../dynannotate/modules/dynannotate.js | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/plugins/tiddlywiki/dynannotate/modules/dynannotate.js b/plugins/tiddlywiki/dynannotate/modules/dynannotate.js index cd47c07c7..12d8f7155 100644 --- a/plugins/tiddlywiki/dynannotate/modules/dynannotate.js +++ b/plugins/tiddlywiki/dynannotate/modules/dynannotate.js @@ -38,23 +38,28 @@ DynannotateWidget.prototype.render = function(parent,nextSibling) { // Create our DOM nodes var isSnippetMode = this.isSnippetMode(); this.domContent = $tw.utils.domMaker("div",{ - "class": "tc-dynannotation-selection-container" + "class": "tc-dynannotation-selection-container", + document: this.document }); if(isSnippetMode) { - this.domContent.setAttribute("hidden","hidden"); + this.domContent.setAttribute("hidden","hidden"); } this.domAnnotations = $tw.utils.domMaker("div",{ - "class": "tc-dynannotation-annotation-wrapper" + "class": "tc-dynannotation-annotation-wrapper", + document: this.document }); this.domSnippets = $tw.utils.domMaker("div",{ - "class": "tc-dynannotation-snippet-wrapper" + "class": "tc-dynannotation-snippet-wrapper", + document: this.document }); this.domSearches = $tw.utils.domMaker("div",{ - "class": "tc-dynannotation-search-wrapper" + "class": "tc-dynannotation-search-wrapper", + document: this.document }); this.domWrapper = $tw.utils.domMaker("div",{ "class": "tc-dynannotation-wrapper", - children: [this.domContent,this.domAnnotations,this.domSnippets,this.domSearches] + children: [this.domContent,this.domAnnotations,this.domSnippets,this.domSearches], + document: this.document }) parent.insertBefore(this.domWrapper,nextSibling); this.domNodes.push(this.domWrapper); @@ -64,16 +69,18 @@ DynannotateWidget.prototype.render = function(parent,nextSibling) { } // Render our child widgets this.renderChildren(this.domContent,null); - if(isSnippetMode) { - // Apply search snippets - this.applySnippets(); - } else { - // Get the list of annotation tiddlers - this.getAnnotationTiddlers(); - // Apply annotations - this.applyAnnotations(); - // Apply search overlays - this.applySearch(); + if(!this.document.isTiddlyWikiFakeDom) { + if(isSnippetMode) { + // Apply search snippets + this.applySnippets(); + } else { + // Get the list of annotation tiddlers + this.getAnnotationTiddlers(); + // Apply annotations + this.applyAnnotations(); + // Apply search overlays + this.applySearch(); + } } // Save the width of the wrapper so that we can tell when it changes this.wrapperWidth = this.domWrapper.offsetWidth; From 028dfe39b70dd0b8f901a8b2cb2a5d6c25755cb7 Mon Sep 17 00:00:00 2001 From: Cameron Fischer Date: Fri, 10 Feb 2023 05:17:32 -0500 Subject: [PATCH 05/83] Fixed issue where $genesis didn't pass isBlock (#7230) * Fixed issue where $genesis didn't pass isBlock * Added $mode attribute for genesis * Added documentation for $mode attribute --- core/modules/widgets/genesis.js | 2 ++ .../tests/data/genesis-widget/Block.tid | 30 +++++++++++++++++++ .../tiddlers/widgets/GenesisWidget.tid | 1 + 3 files changed, 33 insertions(+) create mode 100644 editions/test/tiddlers/tests/data/genesis-widget/Block.tid diff --git a/core/modules/widgets/genesis.js b/core/modules/widgets/genesis.js index 6d30f3c36..c8403a3d4 100644 --- a/core/modules/widgets/genesis.js +++ b/core/modules/widgets/genesis.js @@ -46,6 +46,7 @@ GenesisWidget.prototype.execute = function() { this.genesisRemappable = this.getAttribute("$remappable","yes") === "yes"; this.genesisNames = this.getAttribute("$names",""); this.genesisValues = this.getAttribute("$values",""); + this.genesisIsBlock = this.getAttribute("$mode",this.parseTreeNode.isBlock && "block") === "block"; // Do not create a child widget if the $type attribute is missing or blank if(!this.genesisType) { this.makeChildWidgets(this.parseTreeNode.children); @@ -60,6 +61,7 @@ GenesisWidget.prototype.execute = function() { tag: nodeTag, attributes: {}, orderedAttributes: [], + isBlock: this.genesisIsBlock, children: this.parseTreeNode.children || [], isNotRemappable: !this.genesisRemappable }]; diff --git a/editions/test/tiddlers/tests/data/genesis-widget/Block.tid b/editions/test/tiddlers/tests/data/genesis-widget/Block.tid new file mode 100644 index 000000000..dfa5dacaf --- /dev/null +++ b/editions/test/tiddlers/tests/data/genesis-widget/Block.tid @@ -0,0 +1,30 @@ +title: Genesis/Block +description: genesis widget distinguishes between block and inline +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +\whitespace trim +<$genesis $type="$reveal" type=nomatch> + +Block + + +<$genesis $type="$reveal" type=nomatch $mode=block> + +Block forced block + + +<$genesis $type="$reveal" type=nomatch $mode=inline> + +Block forced inline + + +<$genesis $type=$reveal type=nomatch>Inline +<$genesis $type=$reveal type=nomatch $mode=block>Inline forced block +<$genesis $type=$reveal type=nomatch $mode=inline>Inline forced inline ++ +title: ExpectedResult + +

Block

Block forced block

Block forced inline

Inline

Inline forced block
Inline forced inline

\ No newline at end of file diff --git a/editions/tw5.com/tiddlers/widgets/GenesisWidget.tid b/editions/tw5.com/tiddlers/widgets/GenesisWidget.tid index 9292e39ba..83bb36e6d 100644 --- a/editions/tw5.com/tiddlers/widgets/GenesisWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/GenesisWidget.tid @@ -17,6 +17,7 @@ The content of the <<.wid genesis>> widget is used as the content of the dynamic |$type |The type of widget or element to create (an initial `$` indicates a widget, otherwise an HTML element will be created) | |$names |An optional filter evaluating to the names of a list of attributes to be applied to the widget | |$values |An optional filter evaluating to the values corresponding to the list of names specified in <<.attr $names>> | +|$mode |An optional override of the parsing mode. May be "inline" or "block" | |//{other attributes starting with $}// |Other attributes starting with a single dollar sign are reserved for future use | |//{attributes starting with $$}// |Attributes starting with two dollar signs are applied as attributes to the output widget, but with the attribute name changed to use a single dollar sign | |//{attributes not starting with $}// |Any other attributes that do not start with a dollar are applied as attributes to the output widget | From 77b418004af3c24373cc01e8bcdd4a49dfcceb7a Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Fri, 10 Feb 2023 21:27:20 +0000 Subject: [PATCH 06/83] Zoomin: Avoid using broken tc-storyview-zoomin-tiddler class (#7252) * First commit Fixes #7247 * Revert to setting the faulty tc-storyview-zoomin-tiddler class for backwards compatibility --- themes/tiddlywiki/vanilla/base.tid | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index cb53840bf..98097296a 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -1445,7 +1445,7 @@ html body.tc-body.tc-single-tiddler-window { width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}}; } - body.tc-body .tc-storyview-zoomin-tiddler { + body.tc-body .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame { width: 100%; width: calc(100% - 42px); } @@ -1457,7 +1457,7 @@ html body.tc-body.tc-single-tiddler-window { margin-right: 0; } - body.tc-body .tc-storyview-zoomin-tiddler { + body.tc-body .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame { width: 100%; width: calc(100% - 84px); } @@ -1716,7 +1716,7 @@ html body.tc-body.tc-single-tiddler-window { margin-right: .3em; } -.tc-storyview-zoomin-tiddler { +.tc-page-container.tc-page-view-zoomin .tc-tiddler-frame { position: absolute; display: block; width: 100%; @@ -1724,7 +1724,7 @@ html body.tc-body.tc-single-tiddler-window { @media (min-width: <>) { - .tc-storyview-zoomin-tiddler { + .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame { width: calc(100% - 84px); } From 95dc56d8508109a76c232cfbcd858889d32916a9 Mon Sep 17 00:00:00 2001 From: btheado Date: Sat, 11 Feb 2023 03:15:44 -0600 Subject: [PATCH 07/83] Fix importTitle and autoOpenOnImport in the tm-import-tiddler message (#7243) * Add initial tm-import-tiddler test * Add failing test for tm-import-tiddlers importTitle #7234 * Add failing test for tm-import-tiddlers autoOpenOnImport #7234 * Use event.paramObject instead of event to access tm-import-tiddlers options. Fixes #7234. * Added a clarifying comment * Allow mixing tm-import-tiddler params in both event and event.paramObject * Added import test using tv-auto-open-on-import variable * Removed stray punctuation --- core/modules/widgets/navigator.js | 5 +-- .../tm-import-tiddler/CustomTitle.tid | 35 ++++++++++++++++++ .../messages/tm-import-tiddler/NoAutoOpen.tid | 35 ++++++++++++++++++ .../tm-import-tiddler/NoAutoOpenViaVar.tid | 36 +++++++++++++++++++ .../messages/tm-import-tiddler/default.tid | 34 ++++++++++++++++++ 5 files changed, 143 insertions(+), 2 deletions(-) create mode 100644 editions/test/tiddlers/tests/data/messages/tm-import-tiddler/CustomTitle.tid create mode 100644 editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpen.tid create mode 100644 editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpenViaVar.tid create mode 100644 editions/test/tiddlers/tests/data/messages/tm-import-tiddler/default.tid diff --git a/core/modules/widgets/navigator.js b/core/modules/widgets/navigator.js index 2e39fdd20..efdbba83f 100755 --- a/core/modules/widgets/navigator.js +++ b/core/modules/widgets/navigator.js @@ -499,7 +499,8 @@ NavigatorWidget.prototype.handleImportTiddlersEvent = function(event) { // Get the tiddlers var tiddlers = $tw.utils.parseJSONSafe(event.param,[]); // Get the current $:/Import tiddler - var importTitle = event.importTitle ? event.importTitle : IMPORT_TITLE, + var paramObject = event.paramObject || {}, + importTitle = event.importTitle || paramObject.importTitle || IMPORT_TITLE, importTiddler = this.wiki.getTiddler(importTitle), importData = this.wiki.getTiddlerData(importTitle,{}), newFields = new Object({ @@ -540,7 +541,7 @@ NavigatorWidget.prototype.handleImportTiddlersEvent = function(event) { newFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces); this.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields)); // Update the story and history details - var autoOpenOnImport = event.autoOpenOnImport ? event.autoOpenOnImport : this.getVariable("tv-auto-open-on-import"); + var autoOpenOnImport = event.autoOpenOnImport || paramObject.autoOpenOnImport || this.getVariable("tv-auto-open-on-import"); if(autoOpenOnImport !== "no") { var storyList = this.getStoryList(), history = []; diff --git a/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/CustomTitle.tid b/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/CustomTitle.tid new file mode 100644 index 000000000..2c7b8ba05 --- /dev/null +++ b/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/CustomTitle.tid @@ -0,0 +1,35 @@ +title: Message/tm-import-tiddlers/CustomTitle +description: tm-import-tiddlers message can import to a tiddler with a custom title +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +text: <$text text={{MyCustomTitle}}/> +plugin-type: <$text text={{MyCustomTitle!!plugin-type}}/> +~$:/StoryList: <$text text={{$:/StoryList!!list}}/> ++ +title: Actions + +<$navigator story="$:/StoryList"> +<$action-sendmessage + $message="tm-import-tiddlers" + $param='[{"title": "Elephants"}, {"title": "Eagles"}]' + importTitle=MyCustomTitle/> + + ++ +title: ExpectedResult + +

text: { + "tiddlers": { + "Elephants": { + "title": "Elephants" + }, + "Eagles": { + "title": "Eagles" + } + } +} +plugin-type: import +$:/StoryList: MyCustomTitle

\ No newline at end of file diff --git a/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpen.tid b/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpen.tid new file mode 100644 index 000000000..cc2c3673a --- /dev/null +++ b/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpen.tid @@ -0,0 +1,35 @@ +title: Message/tm-import-tiddlers/NoAutoOpen +description: tm-import-tiddlers can import without automatically opening the import tiddler +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +text: <$text text={{$:/Import}}/> +plugin-type: <$text text={{$:/Import!!plugin-type}}/> +~$:/StoryList: <$text text={{$:/StoryList!!list}}/> ++ +title: Actions + +<$navigator story="$:/StoryList"> +<$action-sendmessage + $message="tm-import-tiddlers" + $param='[{"title": "Elephants"}, {"title": "Eagles"}]' + autoOpenOnImport=no/> + + ++ +title: ExpectedResult + +

text: { + "tiddlers": { + "Elephants": { + "title": "Elephants" + }, + "Eagles": { + "title": "Eagles" + } + } +} +plugin-type: import +$:/StoryList:

\ No newline at end of file diff --git a/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpenViaVar.tid b/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpenViaVar.tid new file mode 100644 index 000000000..6970131f1 --- /dev/null +++ b/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpenViaVar.tid @@ -0,0 +1,36 @@ +title: Message/tm-import-tiddlers/NoAutoOpenViaVar +description: tm-import-tiddlers can import and open based on tv-auto-open-on-import +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +text: <$text text={{$:/Import}}/> +plugin-type: <$text text={{$:/Import!!plugin-type}}/> +~$:/StoryList: <$text text={{$:/StoryList!!list}}/> ++ +title: Actions + +<$let tv-auto-open-on-import="no"> +<$navigator story="$:/StoryList"> +<$action-sendmessage + $message="tm-import-tiddlers" + $param='[{"title": "Elephants"}, {"title": "Eagles"}]'/> + + + ++ +title: ExpectedResult + +

text: { + "tiddlers": { + "Elephants": { + "title": "Elephants" + }, + "Eagles": { + "title": "Eagles" + } + } +} +plugin-type: import +$:/StoryList:

\ No newline at end of file diff --git a/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/default.tid b/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/default.tid new file mode 100644 index 000000000..715a763f4 --- /dev/null +++ b/editions/test/tiddlers/tests/data/messages/tm-import-tiddler/default.tid @@ -0,0 +1,34 @@ +title: Message/tm-import-tiddlers/default +description: tm-import-tiddlers message by default should import to $:/Import and open the tiddler +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +text: <$text text={{$:/Import}}/> +plugin-type: <$text text={{$:/Import!!plugin-type}}/> +~$:/StoryList: <$text text={{$:/StoryList!!list}}/> ++ +title: Actions + +<$navigator story="$:/StoryList"> +<$action-sendmessage + $message="tm-import-tiddlers" + $param='[{"title": "Elephants"}, {"title": "Eagles"}]'/> + + ++ +title: ExpectedResult + +

text: { + "tiddlers": { + "Elephants": { + "title": "Elephants" + }, + "Eagles": { + "title": "Eagles" + } + } +} +plugin-type: import +$:/StoryList: $:/Import

\ No newline at end of file From fb99d3050e462a1634c9f31909b1381f00e6dc4d Mon Sep 17 00:00:00 2001 From: Mateusz Wilczek <36714554+mateuszwilczek@users.noreply.github.com> Date: Fri, 17 Feb 2023 10:09:45 +0100 Subject: [PATCH 08/83] Sign the CLA (#7271) Mateusz Wilczek, @mateuszwilczek, 2023/02/16 --- licenses/cla-individual.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index 290fa85f5..2c5ddf048 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -519,3 +519,5 @@ Scott Sauye, @CrossEye, 2023-01-04 Marcus Winter, @yaisog, 2023-01-07 Ethan Weller, @gamedungeon, 2023-01-17 + +Mateusz Wilczek, @mateuszwilczek, 2023/02/16 From 55124b4ee62a8a0a49f5e05f02bd8ece1ac9d124 Mon Sep 17 00:00:00 2001 From: Mateusz Wilczek <36714554+mateuszwilczek@users.noreply.github.com> Date: Fri, 17 Feb 2023 19:14:21 +0100 Subject: [PATCH 09/83] Improve documentation of WikiText formatting (#7272) * Improve 'Formatting in WikiText.tid' Add highlight formatting example. Simplify code formatting example to be single line without nested list. Improve bold, italic, and underscore formatting examples to be consistent with others. * Improve 'Styles and Classes in WikiText.tid' Add more examples, including the default highlight styling when no style or class is defined, as introduced in #6877 --- .../wikitext/Formatting in WikiText.tid | 12 +++--- .../Styles and Classes in WikiText.tid | 42 ++++++++++++------- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid b/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid index 7166c28c8..b38f2b030 100644 --- a/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid +++ b/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid @@ -7,13 +7,13 @@ type: text/vnd.tiddlywiki Available character formatting includes: -* `backticks` for `code` (<<.icon $:/core/images/mono-line>>) -** Alternatively, ``double backticks allows `embedded` backticks``

-* `''bold''` for ''bold text'' (<<.icon $:/core/images/bold>>)

-* `//italic//` for //italic text// (<<.icon $:/core/images/italic>>)

-* `__underscore__` for __underscored text__ (<<.icon $:/core/images/underline>>)

+* `code` for `code` (<<.icon $:/core/images/mono-line>>), alternatively ``double backticks allow `embedded` single backticks``

+* `''bold''` for ''bold'' text (<<.icon $:/core/images/bold>>)

+* `//italic//` for //italic// text (<<.icon $:/core/images/italic>>)

+* `__underscore__` for __underscored__ text (<<.icon $:/core/images/underline>>)

* `^^superscript^^` for ^^superscripted^^ text (<<.icon $:/core/images/superscript>>)

* `,,subscript,,` for ,,subscripted,, text (<<.icon $:/core/images/subscript>>)

-* `~~strikethrough~~` for ~~strikethrough~~ text (<<.icon $:/core/images/strikethrough>>) +* `~~strikethrough~~` for ~~strikethrough~~ text (<<.icon $:/core/images/strikethrough>>)

+* `@@highlight@@` for @@highlighted@@ text (no editor toolbar button), see [[Styles and Classes in WikiText]] for more formatting options See also: [[Code Blocks in WikiText]] diff --git a/editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid b/editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid index 102a19836..eadbd2227 100644 --- a/editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid +++ b/editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid @@ -5,26 +5,36 @@ title: Styles and Classes in WikiText type: text/vnd.tiddlywiki caption: Styles and Classes -You can use this construction to cause the wrapped content to be assigned specified CSS classes or styles: +Content can be wrapped in `@@`double at signs`@@` to apply specified CSS styles or classes to it. There are multiple ways to use this syntax, as presented below. -<> + +Style attributes, e.g. `color`, each followed by `;` semicolon can be introduced immediately after the opening `@@`. + +<> + +Similarly a style can be applied to a multiline content: + +<> -Similar syntax is used to assign styles. For example: +A class may be applied to a multiline content only: -<> - -Multiple styles and classes can be mixed. For example: - -<> + +Multiple classes and styles can be used together: + +<> From 51a4d39c19b3587f3a03441ce38451bf634c1673 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Thu, 23 Feb 2023 10:13:13 +0000 Subject: [PATCH 10/83] Refresh text editors when the palette changes Fixes #7276 --- core/modules/editor/factory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/editor/factory.js b/core/modules/editor/factory.js index 90ab66ae9..b4f1ba922 100644 --- a/core/modules/editor/factory.js +++ b/core/modules/editor/factory.js @@ -218,7 +218,7 @@ function editTextWidgetFactory(toolbarEngine,nonToolbarEngine) { EditTextWidget.prototype.refresh = function(changedTiddlers) { var changedAttributes = this.computeAttributes(); // Completely rerender if any of our attributes have changed - if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes["default"] || changedAttributes["class"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE] || changedAttributes.disabled || changedAttributes.fileDrop) { + if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes["default"] || changedAttributes["class"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE] || changedTiddlers["$:/palette"] || changedAttributes.disabled || changedAttributes.fileDrop) { this.refreshSelf(); return true; } else if (changedTiddlers[this.editRefreshTitle]) { From ef03a4a5df787fae5c83eb6eed0885ec23b1ec97 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Fri, 24 Feb 2023 09:51:45 +0000 Subject: [PATCH 11/83] Markdown Plugin: Default to recognising TiddlyWiki-format links Fixes #7275 --- plugins/tiddlywiki/markdown/config.multids | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/tiddlywiki/markdown/config.multids b/plugins/tiddlywiki/markdown/config.multids index bb666812f..6d592bec3 100644 --- a/plugins/tiddlywiki/markdown/config.multids +++ b/plugins/tiddlywiki/markdown/config.multids @@ -7,5 +7,5 @@ markdown/breaks: false markdown/linkify: false markdown/quotes: “”‘’ markdown/renderWikiText: true -markdown/renderWikiTextPragma: \rules only html entity syslink wikilink commentblock commentinline macrocallblock macrocallinline transcludeblock transcludeinline filteredtranscludeblock filteredtranscludeinline +markdown/renderWikiTextPragma: \rules only html entity syslink prettylink image prettyextlink wikilink commentblock commentinline macrocallblock macrocallinline transcludeblock transcludeinline filteredtranscludeblock filteredtranscludeinline markdown/typographer: false \ No newline at end of file From eb8f4d66b957b4a3ef2633bd89f6cfdd442a1a19 Mon Sep 17 00:00:00 2001 From: cdruan <80615570+cdruan@users.noreply.github.com> Date: Fri, 24 Feb 2023 07:41:29 -0800 Subject: [PATCH 12/83] Markdown Plugin: Handle non-string attr values in tw_image() (#7284) --- .../markdown/markdown-it-tiddlywiki.js | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/plugins/tiddlywiki/markdown/markdown-it-tiddlywiki.js b/plugins/tiddlywiki/markdown/markdown-it-tiddlywiki.js index 03518d850..7870cb8c4 100644 --- a/plugins/tiddlywiki/markdown/markdown-it-tiddlywiki.js +++ b/plugins/tiddlywiki/markdown/markdown-it-tiddlywiki.js @@ -103,8 +103,9 @@ function render_tw_expr(tokens,idx) { return tokens[idx].content; } -// Overwrite default: render attribute strings in e"..." format instead, -// so HTML entities can be decoded. See parseStringLiteralExt() below. +// Overwrite default: attribute values can be either a string or {type;, value:}. +// 1) string attr val: render in e"..." format so HTML entities can be decoded. +// 2) object attr val: render value as is. function render_token_attrs(token) { var i, l, result; @@ -113,7 +114,11 @@ function render_token_attrs(token) { result = ''; for(i=0, l=token.attrs.length; i Date: Fri, 24 Feb 2023 17:50:49 +0100 Subject: [PATCH 13/83] Signing the CLA (#7287) --- licenses/cla-individual.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index 2c5ddf048..c64e6ede6 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -521,3 +521,5 @@ Marcus Winter, @yaisog, 2023-01-07 Ethan Weller, @gamedungeon, 2023-01-17 Mateusz Wilczek, @mateuszwilczek, 2023/02/16 + +Andrea Octo, @andrigamerita, 2023/02/24 From 925ce2b505bdd20352eb53a14dfac7033617e70a Mon Sep 17 00:00:00 2001 From: andrigamerita <37557992+andrigamerita@users.noreply.github.com> Date: Fri, 24 Feb 2023 17:51:30 +0100 Subject: [PATCH 14/83] Add meta viewport to StaticRiver (#6953) StaticRiver HTML didn't feature a + {{$:/core/wiki/title}} From 8c378e0d24e9f4b8986316bc17f077b894d1eb30 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sat, 25 Feb 2023 13:41:13 +0000 Subject: [PATCH 15/83] Let widget should specify a default value for variables Fixes #7270 --- core/modules/widgets/let.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/modules/widgets/let.js b/core/modules/widgets/let.js index afd3a2f20..dd3aa137a 100644 --- a/core/modules/widgets/let.js +++ b/core/modules/widgets/let.js @@ -74,7 +74,9 @@ LetWidget.prototype.getVariableInfo = function(name,options) { text: this.currentValueFor[name] }; } - return Widget.prototype.getVariableInfo.call(this,name,options); + return Widget.prototype.getVariableInfo.call(this,name,$tw.utils.extend(Object.create(null),options,{ + defaultValue: "" + })); }; /* From 2271f6885af8b6301696d3aa33f82472f691ba72 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Sat, 25 Feb 2023 18:25:46 +0000 Subject: [PATCH 16/83] Add focusSelectFromStart/focusSelectFromEnd attributes to <$edit-text> widget (#7222) * Initial commit * WIP * Align implementation with @yaisog's suggestion See https://github.com/Jermolene/TiddlyWiki5/pull/7222#issuecomment-1410194593 * Commit missing from 3262b8d77d1ac75aef2d8d399b7eaaa09c65f2d0 Thanks @pmario * Fix version number Thanks @yaisog * Add two examples for text selection (#7286) --------- Co-authored-by: yaisog --- core/modules/editor/engines/framed.js | 6 +++-- core/modules/editor/engines/simple.js | 8 ++++--- core/modules/editor/factory.js | 2 ++ core/modules/utils/dom/dom.js | 18 ++++++++++++++ .../tiddlers/widgets/EditTextWidget.tid | 24 ++++++++++++++++--- 5 files changed, 50 insertions(+), 8 deletions(-) diff --git a/core/modules/editor/engines/framed.js b/core/modules/editor/engines/framed.js index 10ab90b39..b4f700f2b 100644 --- a/core/modules/editor/engines/framed.js +++ b/core/modules/editor/engines/framed.js @@ -177,9 +177,11 @@ FramedEngine.prototype.fixHeight = function() { Focus the engine node */ FramedEngine.prototype.focus = function() { - if(this.domNode.focus && this.domNode.select) { + if(this.domNode.focus) { this.domNode.focus(); - this.domNode.select(); + } + if(this.domNode.select) { + $tw.utils.setSelectionByPosition(this.domNode,this.widget.editFocusSelectFromStart,this.widget.editFocusSelectFromEnd); } }; diff --git a/core/modules/editor/engines/simple.js b/core/modules/editor/engines/simple.js index e8be19a75..9840cb623 100644 --- a/core/modules/editor/engines/simple.js +++ b/core/modules/editor/engines/simple.js @@ -119,10 +119,12 @@ SimpleEngine.prototype.fixHeight = function() { /* Focus the engine node */ -SimpleEngine.prototype.focus = function() { - if(this.domNode.focus && this.domNode.select) { +SimpleEngine.prototype.focus = function() { + if(this.domNode.focus) { this.domNode.focus(); - this.domNode.select(); + } + if(this.domNode.select) { + $tw.utils.setSelectionByPosition(this.domNode,this.widget.editFocusSelectFromStart,this.widget.editFocusSelectFromEnd); } }; diff --git a/core/modules/editor/factory.js b/core/modules/editor/factory.js index b4f1ba922..6157ec67f 100644 --- a/core/modules/editor/factory.js +++ b/core/modules/editor/factory.js @@ -180,6 +180,8 @@ function editTextWidgetFactory(toolbarEngine,nonToolbarEngine) { this.editMinHeight = this.getAttribute("minHeight",DEFAULT_MIN_TEXT_AREA_HEIGHT); this.editFocusPopup = this.getAttribute("focusPopup"); this.editFocus = this.getAttribute("focus"); + this.editFocusSelectFromStart = $tw.utils.parseNumber(this.getAttribute("focusSelectFromStart","0")); + this.editFocusSelectFromEnd = $tw.utils.parseNumber(this.getAttribute("focusSelectFromEnd","0")); this.editTabIndex = this.getAttribute("tabindex"); this.editCancelPopups = this.getAttribute("cancelPopups","") === "yes"; this.editInputActions = this.getAttribute("inputActions"); diff --git a/core/modules/utils/dom/dom.js b/core/modules/utils/dom/dom.js index 20aa6896d..6d8f2a76d 100644 --- a/core/modules/utils/dom/dom.js +++ b/core/modules/utils/dom/dom.js @@ -28,6 +28,24 @@ exports.domMatchesSelector = function(node,selector) { return node.matches ? node.matches(selector) : node.msMatchesSelector(selector); }; +/* +Select text in a an input or textarea (setSelectionRange crashes on certain input types) +*/ +exports.setSelectionRangeSafe = function(node,start,end,direction) { + try { + node.setSelectionRange(start,end,direction); + } catch(e) { + node.select(); + } +}; + +/* +Select the text in an input or textarea by position +*/ +exports.setSelectionByPosition = function(node,selectFromStart,selectFromEnd) { + $tw.utils.setSelectionRangeSafe(node,selectFromStart,node.value.length - selectFromEnd); +}; + exports.removeChildren = function(node) { while(node.hasChildNodes()) { node.removeChild(node.firstChild); diff --git a/editions/tw5.com/tiddlers/widgets/EditTextWidget.tid b/editions/tw5.com/tiddlers/widgets/EditTextWidget.tid index ce8cc6f63..93da9b865 100644 --- a/editions/tw5.com/tiddlers/widgets/EditTextWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/EditTextWidget.tid @@ -1,6 +1,6 @@ caption: edit-text created: 20131024141900000 -modified: 20211104200554064 +modified: 20230122210049893 tags: Widgets title: EditTextWidget type: text/vnd.tiddlywiki @@ -24,6 +24,8 @@ The content of the `<$edit-text>` widget is ignored. |placeholder |Placeholder text to be displayed when the edit field is empty | |focusPopup |Title of a state tiddler for a popup that is displayed when the editing element has focus | |focus |Set to "yes" or "true" to automatically focus the editor after creation | +|focusSelectFromStart |<<.from-version 5.2.6>> If the `focus` attribute is enabled, determines the position of the start of the selection: `0` (default) places the start of the selection at the beginning of the text, `1` places the start of the selection after the first character, etc. | +|focusSelectFromEnd |<<.from-version 5.2.6>> If the `focus` attribute is enabled, determines the position of the end of the selection: `0` (default) places the end of the selection at the end of the text, `1` places the start of the selection before the final character, etc. | |tabindex |Sets the `tabindex` attribute of the input or textarea to the given value | |autocomplete |<<.from-version 5.1.23>> An optional string to provide a hint to the browser how to handle autocomplete for this input | |tag |Overrides the generated HTML editing element tag. For a multi-line editor use `tag=textarea`. For a single-line editor use `tag=input` | @@ -38,8 +40,7 @@ The content of the `<$edit-text>` widget is ignored. |disabled|<<.from-version "5.1.23">> Optional, disables the text input if set to "yes". Defaults to "no"| |fileDrop|<<.from-version "5.2.0">> Optional. When set to "yes" allows dropping or pasting images into the editor to import them. Defaults to "no"| - -! Example +! Examples If you wanted to change the field //myconfig// of the tiddler //AppSettings//, you could use an EditTextWidget to edit the field, and then show the result anywhere else by using `{{AppSettings!!myconfig}}`. Note that this will create tiddler AppSettings if it doesn't already exist. @@ -48,3 +49,20 @@ eg="""<$edit-text tiddler="AppSettings" field="myconfig"/>

Value of ''myconfig'' : {{AppSettings!!myconfig}} """/> +!! Text Selection + +If the edit field already contains text or a default value is provided, you can use the `focusSelectFromStart` and `focusSelectFromEnd` attributes to only select part of the text when using `focus="yes"`. + +Partial selection when editing this tiddler's //caption// field: + +<$macrocall $name=".example" n="2" +eg="""<$edit-text tiddler=<> field="caption" focus="yes" focusSelectFromStart="5" /> +"""/> + +!!! {{!!heading}} + +Provide a dated heading for this example where only the placeholder (but not the date) is selected for easier text input: + +<$macrocall $name=".example" n="3" +eg="""<$edit-text tiddler=<> field="heading" size="25" focus="yes" focusSelectFromEnd="13" default={{{ [[Heading Text (]] [] [[)]] +[join[]] }}} /> +"""/> From 6479c26b59c854f59fd718401cb5859eaa9aec04 Mon Sep 17 00:00:00 2001 From: btheado Date: Sun, 26 Feb 2023 15:42:10 -0600 Subject: [PATCH 17/83] Removes datauri triggered save instructions modal (#7296) * Do not trigger a save instructions modal when viewing through data uri * Removed all instances of the no longer used SaveInstructions tiddler --- .../en-GB/Modals/SaveInstructions.tid | 21 ----------------- core/modules/startup/rootwidget.js | 7 ------ languages/ar-PS/Modals/SaveInstructions.tid | 22 ------------------ languages/ca-ES/Modals/SaveInstructions.tid | 7 ------ languages/cs-CZ/Modals/SaveInstructions.tid | 22 ------------------ languages/da-DK/Modals/SaveInstructions.tid | 22 ------------------ languages/de-DE/Modals/SaveInstructions.tid | 23 ------------------- languages/el-GR/Modals/SaveInstructions.tid | 22 ------------------ languages/es-ES/Modals/SaveInstructions.tid | 22 ------------------ languages/fr-FR/Modals/SaveInstructions.tid | 22 ------------------ languages/hi-IN/Modals/SaveInstructions.tid | 22 ------------------ languages/ia-IA/Modals/SaveInstructions.tid | 22 ------------------ languages/it-IT/Modals/SaveInstructions.tid | 21 ----------------- languages/ja-JP/Modals/SaveInstructions.tid | 22 ------------------ languages/ko-KR/Modals/SaveInstructions.tid | 22 ------------------ languages/nl-NL/Modals/SaveInstructions.tid | 22 ------------------ languages/pa-IN/Modals/SaveInstructions.tid | 7 ------ languages/pl-PL/Modals/SaveInstructions.tid | 21 ----------------- languages/pt-BR/Modals/SaveInstructions.tid | 22 ------------------ languages/pt-PT/Modals/SaveInstructions.tid | 22 ------------------ languages/ru-RU/Modals/SaveInstructions.tid | 22 ------------------ languages/sk-SK/Modals/SaveInstructions.tid | 22 ------------------ languages/sl-SI/Modals/SaveInstructions.tid | 22 ------------------ languages/sv-SE/Modals/SaveInstructions.tid | 22 ------------------ languages/zh-Hans/Modals/SaveInstructions.tid | 22 ------------------ languages/zh-Hant/Modals/SaveInstructions.tid | 22 ------------------ 26 files changed, 525 deletions(-) delete mode 100644 core/language/en-GB/Modals/SaveInstructions.tid delete mode 100644 languages/ar-PS/Modals/SaveInstructions.tid delete mode 100644 languages/ca-ES/Modals/SaveInstructions.tid delete mode 100644 languages/cs-CZ/Modals/SaveInstructions.tid delete mode 100644 languages/da-DK/Modals/SaveInstructions.tid delete mode 100644 languages/de-DE/Modals/SaveInstructions.tid delete mode 100644 languages/el-GR/Modals/SaveInstructions.tid delete mode 100644 languages/es-ES/Modals/SaveInstructions.tid delete mode 100644 languages/fr-FR/Modals/SaveInstructions.tid delete mode 100644 languages/hi-IN/Modals/SaveInstructions.tid delete mode 100644 languages/ia-IA/Modals/SaveInstructions.tid delete mode 100644 languages/it-IT/Modals/SaveInstructions.tid delete mode 100644 languages/ja-JP/Modals/SaveInstructions.tid delete mode 100644 languages/ko-KR/Modals/SaveInstructions.tid delete mode 100644 languages/nl-NL/Modals/SaveInstructions.tid delete mode 100644 languages/pa-IN/Modals/SaveInstructions.tid delete mode 100644 languages/pl-PL/Modals/SaveInstructions.tid delete mode 100644 languages/pt-BR/Modals/SaveInstructions.tid delete mode 100644 languages/pt-PT/Modals/SaveInstructions.tid delete mode 100644 languages/ru-RU/Modals/SaveInstructions.tid delete mode 100644 languages/sk-SK/Modals/SaveInstructions.tid delete mode 100644 languages/sl-SI/Modals/SaveInstructions.tid delete mode 100755 languages/sv-SE/Modals/SaveInstructions.tid delete mode 100644 languages/zh-Hans/Modals/SaveInstructions.tid delete mode 100644 languages/zh-Hant/Modals/SaveInstructions.tid diff --git a/core/language/en-GB/Modals/SaveInstructions.tid b/core/language/en-GB/Modals/SaveInstructions.tid deleted file mode 100644 index 45028fc45..000000000 --- a/core/language/en-GB/Modals/SaveInstructions.tid +++ /dev/null @@ -1,21 +0,0 @@ -title: $:/language/Modals/SaveInstructions -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file. - -!!! Desktop browsers - -# Select ''Save As'' from the ''File'' menu -# Choose a filename and location -#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar -# Close this tab - -!!! Smartphone browsers - -# Create a bookmark to this page -#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above -# Close this tab - -//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below// diff --git a/core/modules/startup/rootwidget.js b/core/modules/startup/rootwidget.js index 41f3fe03f..a8ad5f8c6 100644 --- a/core/modules/startup/rootwidget.js +++ b/core/modules/startup/rootwidget.js @@ -87,13 +87,6 @@ exports.startup = function() { } }); } - // If we're being viewed on a data: URI then give instructions for how to save - if(document.location.protocol === "data:") { - $tw.rootWidget.dispatchEvent({ - type: "tm-modal", - param: "$:/language/Modals/SaveInstructions" - }); - } }; })(); diff --git a/languages/ar-PS/Modals/SaveInstructions.tid b/languages/ar-PS/Modals/SaveInstructions.tid deleted file mode 100644 index af2b726a1..000000000 --- a/languages/ar-PS/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -يجب حفظ التغييرات التي قمت بها على هذا الويكي كملف تدلي ويكي بامتداد HTML . - -!!! متصفحات سطح المكتب - -# أختر/ي "حفظ باسم" من قائمة "ملف" -# اختر/ي اسم الملف وموقعه -# * تتطلب بعض المتصفحات أيضًا تحديد تنسيق حفظ الملف بشكل صريح كـ "صفحة الويب ، HTML فقط" أو ما شابه -# أغلق علامة التبويب هذه - -!!! متصفحات الهواتف الذكية - -# إنشاء بوك مارك لهذه الصفحة -# * إذا قمت بإعداد iCloud أو Google Sync ، فستتم مزامنة الإشارة المرجعية تلقائيًا إلى سطح المكتب حيث يمكنك فتحه وحفظه كما هو موضح أعلاه -# أغلق علامة التبويب هذه - -// إذا فتحت البوك مارك مرة أخرى في متصفح سفاري للموبايل ، فستظهر لك هذه الرسالة مرة أخرى. إذا كنت تريد المضي قدمًا واستخدام الملف ، فما عليك سوى النقر فوق الزر "إغلاق" أدناه // diff --git a/languages/ca-ES/Modals/SaveInstructions.tid b/languages/ca-ES/Modals/SaveInstructions.tid deleted file mode 100644 index 87bb26b5e..000000000 --- a/languages/ca-ES/Modals/SaveInstructions.tid +++ /dev/null @@ -1,7 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Els vostres canvis a aquest wiki s'han de desar com un fitxer HTML ~TiddlyWiki.!!! Navegadors d'escriptori# Trieu ''Anomena i desa'' al menú ''Fitxer''# Trieu un nom i un lloc per al fitxer#* Per alguns navegadors també cal que el format del fitxer sigui 'Pàgina web, només HTML'' o similar# Tanqueu aquesta pestanya!!! Navegadors per mòbils# Deseu aquesta pàgina als Preferits#* Si teniu configurat iCloud o Google Sync llavors el preferits es sincronitzarà automaticament amb el vostre ordinador des d'on el podreu obrir i desar com s'indica més amunt# Tanqueu aquests pestanya//Si torneu a obrir el preferits a Safari Mobile tornareu a veure el missatge. Si voleu continuar i utilitzar el fitxer, només heu de clicat el botó 'tanca'' de sota// \ No newline at end of file diff --git a/languages/cs-CZ/Modals/SaveInstructions.tid b/languages/cs-CZ/Modals/SaveInstructions.tid deleted file mode 100644 index 8734cb1bf..000000000 --- a/languages/cs-CZ/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Změny v této wiki je potřeba uložit jako ~TiddlyWiki HTML soubor. - -!!! PC prohlížeče - -# Vyberte ''Uložit jako...'' z menu ''Soubor'' -# Zvolte složku a jméno souboru -#* V některých prohlížečích je třeba nastavit formát ukládní na ''Webová stránka, pouze HTML'' nebo podobné -# Zavřete tento tab - -!!! Mobilní prohlížeče - -# Uložte tuto stránku do záložek -#* Pokud máte nastavený iCloud nebo Google Sync, záložky se automaticky synchronizují s počítačem, kde můžete link otevřít a uložit podle postupu výše -# Zavřete tento tab - -//Pokud otevřete záložku znovu v Mobile Safari uvidíte tuto zpávu znovu. Pokud chcete pokračovat v práci, prostě klikněte na tlačítko ''zavřít'' nížš// diff --git a/languages/da-DK/Modals/SaveInstructions.tid b/languages/da-DK/Modals/SaveInstructions.tid deleted file mode 100644 index 76ee4e3ec..000000000 --- a/languages/da-DK/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Dine ændringer til denne wiki skal gemmes som en ~TiddlyWiki HTML file. - -!!! Computer browsere - -# Vælg ''Gem som'' fra ''Fil'' menuen -# Vælg et filnavn og placering -#* Nogle browsere kræver også, at du eksplicit angiver filens format som ''Webpage, HTML kun'' eller lignende -# Luk denne fane - -!!! Smartphone browsere - -# Opret et bogmærke til denne side -#* Hvis du har iCloud eller Google Sync sat op vil bogmærket automatisk synkroniseres til din desktop, hvor du kan åbne den og gemme den som ovenfor beskrevet -# Luk denne fane - -//Hvis du åbner bogmærket igen i Mobile Safari vil du se denne besked igen. Hvis du ønsker at fortsætte og bruge filen, skal du blot klikke på ''luk'' knappen nedenfor// diff --git a/languages/de-DE/Modals/SaveInstructions.tid b/languages/de-DE/Modals/SaveInstructions.tid deleted file mode 100644 index d652fdc2e..000000000 --- a/languages/de-DE/Modals/SaveInstructions.tid +++ /dev/null @@ -1,23 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Aktuellen Stand speichern -footer: <$button message="tm-close-tiddler">Schließen -help: https://tiddlywiki.com/static/SavingChanges.html - -Ihre Änderungen sollen als ~TiddlyWiki HTML Datei gespeichert werden. - -!!! Desktop Browser - -# Verwenden Sie ''Speichern unter'' aus dem ''Datei'' Menü. -# Wählen Sie den Dateinamen und das Verzeichnis. - -#* Bei einigen Browsern müssen Sie das Format explizit angeben. Zb: ''Webseite, nur HTML'' oder ähnliches. -# Den Browser-Tab schließen. - -!!! Smartphone Browser - -# Erstellen Sie ein "Lesezeichen" -#* Wenn Sie "iCloud" oder "Google Sync" verwenden, dann werden Ihre Daten automatisch mit dem Desktop PC synchronisiert. Dort können Sie wie oben beschrieben fortfahren. -# Den Browser-Tab schließen. - -//Wenn Sie das Lesezeichen mit "Mobile Safari" öffnen, dann wird diese Meldung erneut angezeigt. Klicken Sie ''Schließen'' um fort zu fahren.// diff --git a/languages/el-GR/Modals/SaveInstructions.tid b/languages/el-GR/Modals/SaveInstructions.tid deleted file mode 100644 index 4714ecde0..000000000 --- a/languages/el-GR/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Αποθηκεύστε την εργασία σας -footer: <$button message="tm-close-tiddler">Κλείσε -help: https://tiddlywiki.com/static/SavingChanges.html - -Οι αλλαγές σας σε αυτό το wiki χρειάζεται να αποθηκευτούν ως ένα ~TiddlyWiki HTML αρχείο. - -!!! Προγράμματα πλοήγησης για επιτραπέζιους υπολογιστές - -# Διαλέξτε ''Αποθήκευση ως'' από το μενού ''Αρχείο'' -# Διαλέξτε ένα όνομα αρχείου καθώς και μια τοποθεσία -#* Μερικά προγράμματα πλοήγησης χρειάζονται επιπρόσθετα να προσδιορίσετε την μορφή με την οποία θα αποθηκεύσετε το αρχείο ως ''Ιστοσελίδα πλήρης, HTML μόνο'' ή κάτι παρόμοιο -# Κλείστε αυτήν την καρτέλα - -!!! Προγράμματα πλοήγησης για έξυπνα κινητά τηλέφωνα - -# Φτιάξτε έναν σελιδοδείκτη για αυτήν την σελίδα -#* Αν έχετε iCloud, ή Google Sync εγκατάσταση τότε ο σελιδοδείκτης αυτόματα θα συγχρονιστεί με τον επιτραπέζιο υπολογιστή από όπου μπορείτε να τον ανοίξετε και να τον αποθηκεύσετε όπως παραπάνω -# Κλείστε αυτήν την καρτέλα - -//Αν ανοίξετε τον σελιδοδείκτη ξανά σε ένα κινητό με Safari θα δείτε αυτό το μήνυμα πάλι. Αν θέλετε να προχωρήσετε και να χρησιμοποιήσετε το αρχείο απλώς πατήστε το ''κλείσε'' κουμπί παρακάτω// diff --git a/languages/es-ES/Modals/SaveInstructions.tid b/languages/es-ES/Modals/SaveInstructions.tid deleted file mode 100644 index 80b53760a..000000000 --- a/languages/es-ES/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Los cambios realizados a este wiki necesitan ser guardados como archivo ~TiddlyWiki HTML. - -!!! Navegadores de ordenador - -# Selecciona ''Guardar como'' en el menú ''Archivo'' -# Elige nombre de archivo y directorio -#* Algunos navegadores también piden que especifiques el formato como ''Página web, sólo HTML'' o similar -# Cierra esta pestaña - -!!! Navegadores en teléfonos o tabletas - -# Añade la página a tus favoritos -#* Si tienes iCloud o Google Sync los favoritos se sincronizarán automáticamente con tu ordenador, desde donde puedes abrirlos o guardarlos como se explica más arriba -# Cierra esta pestaña - -//Si en Mobile Safari vuelves a abrir los favoritos, volverás a ver este mensaje. Si quieres continuar y usar el archivo, simplemente cierra haciendo clic en el boton de cerrar indicado abajo.// diff --git a/languages/fr-FR/Modals/SaveInstructions.tid b/languages/fr-FR/Modals/SaveInstructions.tid deleted file mode 100644 index 76f842ce4..000000000 --- a/languages/fr-FR/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Enregistrez votre travail -footer: <$button message="tm-close-tiddler">Fermer -help: https://tiddlywiki.com/static/SavingChanges.html - -Les modifications effectuées dans ce wiki doivent être sauvegardées sous forme de fichier ~TiddlyWiki HTML. - -!!! Navigateurs de bureau - -# Sélectionnez ''Enregistrer sous'' depuis le menu ''Fichier'' -# Choisissez un nom de fichier et un dossier -#* Certains navigateurs demandent aussi de spécifier explicitement le format d'enregistrement, à savoir ''Page Web, HTML uniquement'' ou quelque chose d'approchant -# Fermez cet onglet - -!!! Navigateurs sur smartphone - -# Créez un favori/signet pour cette page -#* Si vous utilisez iCloud ou Google Sync, le signet sera automatiquement synchronisé avec le navigateur de votre ordinateur de bureau, d'où vous pourrez l'ouvrir et enregistrer le fichier comme indiqué ci-dessus -# Fermez cet onglet - -//Si vous ouvrez à nouveau le signet dans Safari pour mobile, vous verrez ce message une nouvelle fois. Si vous voulez continuer et utiliser le fichier, cliquez simplement sur le bouton ''Fermer'' ci-dessous// diff --git a/languages/hi-IN/Modals/SaveInstructions.tid b/languages/hi-IN/Modals/SaveInstructions.tid deleted file mode 100644 index 56aef1273..000000000 --- a/languages/hi-IN/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -इस विकि में आपके परिवर्तन एक ~ टिड्लीविकि HTML फ़ाइल के रूप में सहेजा जाना चाहिए। - -!!! डेस्कटॉप ब्राउज़र - -# चुनें '' के रूप में सहेजें '' '' फ़ाइल '' मेनू से -# एक फ़ाइल नाम और स्थान का चयन -# * कुछ ब्राउज़रों भी आप स्पष्ट रूप से '' वेबपेज, एचटीएमएल केवल '' या इसी तरह के रूप प्रारूप बचत फ़ाइल को निर्दिष्ट करने की आवश्यकता होती है -# इस टैब बंद करें - -!!! स्मार्टफ़ोन ब्राउज़रों - -# इस पृष्ठ पर एक बुकमार्क बनाएं -# * आप iCloud या गूगल सिंक आप इसे खोल सकते हैं जहां फिर बुकमार्क स्वचालित रूप से अपने डेस्कटॉप के लिए सिंक जाएगा और ऊपर के रूप में इसे बचाने के लिए स्थापित मिल गया है -# इस टैब बंद करें - -आप मोबाइल सफारी में फिर से बुकमार्क खोलते हैं // आप फिर से इस संदेश को देखेंगे। तुम आगे बढ़ो और फ़ाइल का उपयोग करना चाहते हैं, तो बस // नीचे '' करीब '' बटन पर क्लिक करें \ No newline at end of file diff --git a/languages/ia-IA/Modals/SaveInstructions.tid b/languages/ia-IA/Modals/SaveInstructions.tid deleted file mode 100644 index 845aea300..000000000 --- a/languages/ia-IA/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Tu cambios a iste wiki debe esser salvate como un file HTML ~TiddlyWiki. - -!!! Navigatores sur computatores stationari - -# Selige ''Salva como'' in le menu ''File'' -# Selige un nomine de file e location -#* Alcun navigatores pote demandar que on specifica le formato de salvar como ''Pagina web, HTML solmente'' o simile -# Claude iste scheda - -!!! Navitatores sur telephonos mobile - -# Crea un marcator a iste pagina -#* Si tu ha iCloud o Google Sync activate, alora le marcator va automaticamente synchronisar con tu computator, ubi tu pote aperir lo e salvar lo como describite in alto -# Claude iste scheda - -//Si on aperi le marcator de novo in Mobile Safari, on vide iste message de novo. Si on vole avantiar e usar le file, clicca sur le button ''claude'' in basso// diff --git a/languages/it-IT/Modals/SaveInstructions.tid b/languages/it-IT/Modals/SaveInstructions.tid deleted file mode 100644 index d8bee5640..000000000 --- a/languages/it-IT/Modals/SaveInstructions.tid +++ /dev/null @@ -1,21 +0,0 @@ -title: $:/language/Modals/SaveInstructions -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Chiudi -help: https://tiddlywiki.com/static/SavingChanges.html - -Le modifiche a questo wiki devono essere salvate come un file ~TiddlyWiki HTML. - -!!! Browser su desktop - -# Seleziona ''Salva con nome'' dal menu ''File'' -# Scegli la posizione ed un nome file -#* Alcuni browser richiedono che sia indicato esplicitamente che il file deve essere salvato con il formato ''Webpage, solo HTML'' o qualcosa di simile -# Chiudi questo tab - -!!! Browser su smartphone - -# Crea un bookmark per questa pagina -#* Se hai attivato iCloud o Google Sync allora il bookmark sarà automaticamente sincronizzato con il tuo desktop dove potrai aprire il link e salvare il wiki come sopra -# Chiudi questo tab - -//Se riapri il bookmark con Mobile Safari vedrai ancora questo messaggio. Se desideri proseguire ed utilizzare il file, clicca semplicemente il pulsante ''chiudi'' qui sotto// diff --git a/languages/ja-JP/Modals/SaveInstructions.tid b/languages/ja-JP/Modals/SaveInstructions.tid deleted file mode 100644 index b042e9c78..000000000 --- a/languages/ja-JP/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: 作業内容を保存する -footer: <$button message="tm-close-tiddler">閉じる -help: https://tiddlywiki.com/static/SavingChanges.html - -この wiki への変更内容を ~TiddlyWiki HTML ファイルとして保存する必要があります。 - -!!! デスクトップブラウザの場合 - -# ''ファイル'' メニューから ''名前を付けて保存'' を選択します -# 保存場所とファイル名を指定します -#* 一部のブラウザでは保存のときに ''Webページ HTMLのみ'' などといった形式を選択しなければいけない場合があります -# タブを閉じます - -!!! スマートフォンブラウザの場合 - -# このページをブックマークします -#* すでに iCloud や Google Sync が設定済みならばブックマークは自動的にデスクトップ機に同期されます。デスクトップ機で改めてブックマークを開き、上記の手順で保存してください -# タブを閉じます - -//モバイルサファリでそのブックマークを開くとこのメッセージが再度表示されます。下にある「閉じる」ボタンでその先に進めます。// diff --git a/languages/ko-KR/Modals/SaveInstructions.tid b/languages/ko-KR/Modals/SaveInstructions.tid deleted file mode 100644 index 36ef0b3d3..000000000 --- a/languages/ko-KR/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: 작업 저장 -footer: <$button message="tm-close-tiddler">{{$:/language/Buttons/Close/Caption}} -help: https://tiddlywiki.com/static/SavingChanges.html - -이 위키의 바뀜을 티들리위키 HTML 파일로 저장해야 합니다. - -!!! 데스크톱 브라우저 - -# ''파일'' 메뉴에서 ''다른 이름으로 저장''을 선택합니다 -# 파일 이름 및 위치를 선택합니다 -#* 어떤 브라우저는 파일 저장 형식을 ''웹페이지, HTML만'' 또는 이와 유사한 형식으로 명시적으로 지정할 필요가 있습니다 -# 이 탭을 닫습니다 - -!!! 스마트폰 브라우저 - -# 이 페이지로 북마크를 만듭니다 -#* iCloud 또는 Google 동기화 설정이 있다면 북마크는 자동으로 위와 같이 열고 저장할 수 있는 데스크톱에 자동으로 동기화됩니다 -# 이 탭을 닫습니다 - -//모바일 Safari에서 북마크를 다시 연다면 이 메시지를 다시 볼 수 있습니다. 진행하고 파일을 사용하려면, 아래 ''닫기'' 버튼을 클릭하세요// diff --git a/languages/nl-NL/Modals/SaveInstructions.tid b/languages/nl-NL/Modals/SaveInstructions.tid deleted file mode 100644 index fa4859450..000000000 --- a/languages/nl-NL/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Je veranderingen aan deze wiki dienen als een ~TiddlyWiki HTML bestand opgeslagen te worden. - -!!! Desktop browsers - -# Kies ''Opslaan Als'' van het ''Bestand'' menu -# Kies een bestandsnaam en locatie -#* Bij sommige browsers moet het formaat expliciet opgegeven worden als ''Webpage, alleen HTML'' o.i.d. -# Sluit de browsertab - -!!! Smartphone browsers - -# Maak een favoriet naar deze pagina -#* Bij gebruik van iCloud of Google Sync worden favorieten automatisch met de desktop-PC gesynchroniseerd en kan je te werk gaan als boven beschreven -# Sluit de browsertab - -//Wordt de favoriet in mobile Safari geopend dan zie je de melding weer. Klik ''sluit'' om verder te gaan// diff --git a/languages/pa-IN/Modals/SaveInstructions.tid b/languages/pa-IN/Modals/SaveInstructions.tid deleted file mode 100644 index bee9d5b5d..000000000 --- a/languages/pa-IN/Modals/SaveInstructions.tid +++ /dev/null @@ -1,7 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -ਇਸ ਵਿਕੀ 'ਨੂੰ ਆਪਣੇ ਬਦਲਾਅ ਲਈ ਇੱਕ ~ TiddlyWiki ਨੂੰ HTML ਫਾਇਲ ਦੇ ਤੌਰ ਤੇ ਸੰਭਾਲਿਆ ਜਾ ਕਰਨ ਦੀ ਲੋੜ ਹੈ. !!! ਡੈਸਕਟਾਪ ਮੇਨੂ # 'ਵੈੱਬਪੇਜ, HTML ਸਿਰਫ' 'ਜ ਇਸੇ # ਕੁਝ ਬਰਾਊਜ਼ਰ ਵੀ ਤੁਹਾਨੂੰ ਸਪਸ਼ਟ' ਦੇ ਤੌਰ ਤੇ ਫਾਰਮੈਟ ਵਿੱਚ ਸੰਭਾਲਣ ਲਈ ਫਾਇਲ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਨ ਲਈ ਲੋੜ ਹੈ * ਇੱਕ ਫਾਇਲ ਅਤੇ ਟਿਕਾਣਾ # ਚੁਣੋ '' '' ਫਾਇਲ 'ਤੱਕ # ਚੁਣੋ' 'ਸੰਭਾਲੋ' 'ਬਰਾਊਜ਼ਰ ਇਹ ਟੈਬ ਬੰਦ ਕਰੋ !!! ਸਮਾਰਟਫੋਨ ਬਰਾਊਜ਼ਰ # ਤੁਹਾਨੂੰ iCloud ਜ Google ਸਮਕਾਲਤਾ ਤਦ ਬੁੱਕਮਾਰਕ ਨੂੰ ਆਪਣੇ ਆਪ ਹੀ ਇਹ ਟੈਬ // ਖੋਲ੍ਹਣ ਜੇ ਤੁਹਾਨੂੰ ਇਸ ਨੂੰ ਖੋਲ ਸਕਦੇ ਹਨ, ਜਿੱਥੇ ਆਪਣੇ ਡੈਸਕਟਾਪ ਨੂੰ ਸਮਕਾਲੀ ਕਰਨ ਤੇ ਅਤੇ # Close ਉਪਰ ਦੇ ਰੂਪ ਵਿੱਚ ਇਸ ਨੂੰ ਬਚਾ ਕਰੇਗਾ ਸੈੱਟ ਅੱਪ ਮਿਲ ਜੇ ਇਸ ਸਫ਼ੇ # * ਕਰਨ ਲਈ ਇੱਕ ਬੁੱਕਮਾਰਕ ਬਣਾਓ ਬੁੱਕਮਾਰਕ ਨੂੰ ਫਿਰ ਮੋਬਾਈਲ ਸਫਾਰੀ ਵਿੱਚ ਤੁਹਾਨੂੰ ਇਹ ਸੁਨੇਹਾ ਮੁੜ ਕੇ ਜਾਵੇਗਾ. ਤੁਹਾਨੂੰ ਅੱਗੇ ਜਾਣ ਅਤੇ ਫਾਇਲ ਨੂੰ ਇਸਤੇਮਾਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਨੂੰ ਸਿਰਫ਼ // ਹੇਠ '' ਬੰਦ ਕਰੋ '' ਬਟਨ ਨੂੰ ਦਬਾਉ \ No newline at end of file diff --git a/languages/pl-PL/Modals/SaveInstructions.tid b/languages/pl-PL/Modals/SaveInstructions.tid deleted file mode 100644 index 5f0fde7a5..000000000 --- a/languages/pl-PL/Modals/SaveInstructions.tid +++ /dev/null @@ -1,21 +0,0 @@ -title: $:/language/Modals/SaveInstructions -subtitle: Zapisz swoje zmiany -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Twoje zmieny muszą być zapisane jako plike HTML ~TiddlyWiki. - -!!! Przeglądarki na komputerach stacjonarnych - -# Wybierz ``Zapisz Jako`` z menu ``Plik`` -# Wybierz nazwię i miejsce -#* Niektóre przeglądarki wymagają ręcznego ustawienia formatu pliku na ''Strona internetowa, HTML'' lub podobne -# Zamknij zakładkę - -!!! Przeglądarki na smarfonach - -# Dodaj stronę do zakładek -# Jeżeli używasz iCloud lub synchronizacji Google, zakładka zostanie automatycznie zsynchronizowania z komputerem stacjonarnym, gdzie możesz zapisać wiki używając kroków powyżej. -# Zamknij zakładkę - -//Jeżeli otworzysz zakładkę ponownie na Mobilnej Safari zobaczysz ponownie tą wiadomość. Jeżeli chcesz używać tego pliku, po prostu kliknij przycisk ''zamknij'' poniżej// diff --git a/languages/pt-BR/Modals/SaveInstructions.tid b/languages/pt-BR/Modals/SaveInstructions.tid deleted file mode 100644 index 546be1885..000000000 --- a/languages/pt-BR/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: http://tiddlywiki.com/static/SavingChanges.html - -As suas alterações a esta wiki necessitam ser gravadas como um arquivo HTML ~TiddlyWiki - -!!! Navegadores de computador pessoal - -# Selecione ''Salvar como'' do menu ''Arquivo'' -# Escolha um nome e uma localização para o seu arquivo -#* Alguns navegadores necessitam que se especifique explicitamente o formato de gravação como ''Página da Internet, apenas HTML'' ou algo similar -# Fechar esta guia - -!!! Navegadores em smartfones, tablets e celulares - -# Crie um marcador ou favorito desta página -#* Se tiver o iCloud ou Google Sync configurados o seu marcador irá ser automaticamente sincronizado com o seu computador pessoal onde poderá abrir e gravar conforme indicado acima -# Fechar esta guia - -//Se abrir o marcador outra vez no Mobile Safari verá esta mensagem outra vez. Se quiser prosseguir e utilizar o arquivo, clique no botão ''fechar'' abaixo// diff --git a/languages/pt-PT/Modals/SaveInstructions.tid b/languages/pt-PT/Modals/SaveInstructions.tid deleted file mode 100644 index 253213e53..000000000 --- a/languages/pt-PT/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -As suas alterações a esta wiki necessitam de ser gravadas como um ficheiro HTML ~TiddlyWiki - -!!! Navegadores de computador pessoal - -# Seleccione ''Guardar como'' do menu ''Ficheiro'' -# Escolha um nome e uma localização para o seu ficheiro -#* Alguns navegadores necessitam que se especifique explicitamente o formato de gravação como ''Página da Internet, apenas HTML'' ou algo similar -# Fechar este separador - -!!! Navegadores em telemóveis ou dispositivos móveis - -# Crie um marcador ou favorito desta página -#* Se tiver o iCloud ou Google Sync configurados o seu marcador irá ser automaticamente sincronizado com o seu computador pessoal onde poderá abrir e gravar conforme indicado acima -# Fechar este separador - -//Se abrir o marcador outra vez no Mobile Safari verá esta mensagem outra vez. Se quiser prosseguir e utilizar o ficheiro, clique no botão ''fechar'' abaixo// diff --git a/languages/ru-RU/Modals/SaveInstructions.tid b/languages/ru-RU/Modals/SaveInstructions.tid deleted file mode 100644 index 8793c5690..000000000 --- a/languages/ru-RU/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Сохраните свою работу -footer: <$button message="tm-close-tiddler">Закрыть -help: https://tiddlywiki.com/static/SavingChanges.html - -Изменения должны быть сохранены в виде HTML файла ~TiddlyWiki. - -!!! На компьютере - -# Нажмите ''Сохранить как'' в меню ''Файл'' -# Выберите название и расположение файла -#* Иногда требуется также явно указать формат сохраняемого файла: ''Веб-страница, только HTML'' или подобный -# Закройте эту вкладку - -!!! На смартфоне - -# Поместите эту страницу в закладки -#* Если у вас настроен iCloud или Google Sync, тогда закладка автоматически синхронизируется с компьютером, и вы сможете открыть её и сохранить по инструкции для компьютеров -# Закройте эту вкладку - -//При открытии закладки в Mobile Safari вы снова увидите это сообщение. Если вы хотите продолжить работу с файлом, нажмите на кнопку ''Закрыть'' ниже// diff --git a/languages/sk-SK/Modals/SaveInstructions.tid b/languages/sk-SK/Modals/SaveInstructions.tid deleted file mode 100644 index 5846e1124..000000000 --- a/languages/sk-SK/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Vaše zmeny v tomto wiki treba uložiť ako ~TiddlyWiki HTML súbor. - -!!! PC browsery - -# Zvoľte si ''Uložiť ako'' z menu ''Súbor'' -# Zvoľte si meno súboru a miesto -#* Pri niektorých browseroch sa vyžaduje presne definovať formát uloženia ako ''web stránka, len HTML'' alebo niečo podobné -# Zatvorte túto záložku (tab) - -!!! Browsery v mobiloch - -# Vytvorte pre túto stránku bookmark -#* Ak používate iCloud alebo Google Sync, tak sa bookmark automaticky zosynchronizuje s vaším PC, kde wiki súbor môžete otvoriť a uložiť -# Zatvorte túto záložku (tab) - -//Ak bookmar znovu otvoríte v Mobile Safari, uvidíte túto hlášku znovu. Ak chcete rovno pokračovať a pracovať so súborom, tak len stlačte tlačítko ''zatvoriť'' nižšie// diff --git a/languages/sl-SI/Modals/SaveInstructions.tid b/languages/sl-SI/Modals/SaveInstructions.tid deleted file mode 100644 index 2b224488f..000000000 --- a/languages/sl-SI/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: http://tiddlywiki.com/static/SavingChanges.html - -Vaše spremembe v tem wikiju je treba shraniti kot datoteko HTML TiddlyWiki. - -!!! Namizni brskalniki - -# V meniju »Datoteka« izberite »Shrani kot« -# Izberite ime datoteke in lokacijo -#* Nekateri brskalniki zahtevajo, da izrecno določite obliko shranjevanja datoteke kot »spletna stran, samo HTML« ali podobno -# Zaprite ta zavihek - -!!! Brskalniki na pametnih telefonih - -# Stran dodajte med zaznamke -#* Če imate nastavljeno možnost iCloud ali Google Sync, se zaznamek samodejno sinhronizira z namizjem, kjer ga lahko odprete in ga shranite, kot je navedeno zgoraj -# Zaprite ta zavihek - -//Če zaznamek znova odprete v aplikaciji Mobile Safari, se to sporočilo znova prikaže. Če želite nadaljevati in uporabiti datoteko, kliknite gumb »Zapri« spodaj// \ No newline at end of file diff --git a/languages/sv-SE/Modals/SaveInstructions.tid b/languages/sv-SE/Modals/SaveInstructions.tid deleted file mode 100755 index 56e4a093a..000000000 --- a/languages/sv-SE/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">Close -help: https://tiddlywiki.com/static/SavingChanges.html - -Dina ändringar för denna wiki behöver sparas som en ~TiddlyWiki HTML-fil. - -!!! Webbläsare för datorer - -# Välj ''Spara som'' från ''Arkivmenyn'' -# Välj filnamn och plats -#* Vissa webbläsare kräver att man anger filens format som tex ''Websida, endast HTML'' eller liknande -# Stäng denna fliken - -!!! Webbläsare för smartphones - -# Skapa ett bokmärke till denna sidan -#* Om du har iCloud eller Google Sync inställt så kommer bokmärket automatiskt synkas till ditt skrivbord där du kan öppna och spara den enligt ovan -# Stäng denna fliken - -//Om du öppnar bokmärket igen i Mobile Safari så kommer du se detta meddelande igen. Om du vill fortsätta och använda filen, klicka bara på ''stängknappen'' nedanför// diff --git a/languages/zh-Hans/Modals/SaveInstructions.tid b/languages/zh-Hans/Modals/SaveInstructions.tid deleted file mode 100644 index b6ae6fe31..000000000 --- a/languages/zh-Hans/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">关闭 -help: https://tiddlywiki.com/static/SavingChanges.html - -您对此 wiki 的变更需被保存为 ~TiddlyWiki HTML 文件。 - -!!! 桌面版浏览器 - -# 从''文件''菜单点选 ''另存为'' -# 选定文件名及保存位置 -#* 某些浏览器依然需要明确指定文件格式为 ''Webpage, HTML only'' 或类似的。 -# 关闭此页签 - -!!! 智能手机版浏览器 - -# 为此页建立书签 -#* 若您已设置 iCloud 或 Google 同步,该书签将自动与之前开启及保存于您电脑的书签同步。 -# 关闭此页签 - -//若您再次于 Mobile Safari 开启该书签,将会再看到此信息。若要继续使用该文件,只需点击下列 ''关闭'' 按钮// diff --git a/languages/zh-Hant/Modals/SaveInstructions.tid b/languages/zh-Hant/Modals/SaveInstructions.tid deleted file mode 100644 index 15558cc64..000000000 --- a/languages/zh-Hant/Modals/SaveInstructions.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/language/Modals/SaveInstructions -type: text/vnd.tiddlywiki -subtitle: Save your work -footer: <$button message="tm-close-tiddler">關閉 -help: https://tiddlywiki.com/static/SavingChanges.html - -您對此 wiki 的變更需被儲存為 ~TiddlyWiki HTML 檔案。 - -!!! 桌面版瀏覽器 - -# 從''檔案''選單點選 ''另存新檔'' -# 選定檔名及儲存位置 -#* 某些瀏覽器依然需要明確指定檔案格式為 ''Webpage, HTML only'' 或類似的。 -# 關閉此頁籤 - -!!! 智慧手機版瀏覽器 - -# 為此頁建立書籤 -#* 若您已設定 iCloud 或 Google 同步,該書籤將自動與之前開啟及儲存於您電腦的書籤同步。 -# 關閉此頁籤 - -//若您再次於 Mobile Safari 開啟該書籤,將會再看到此訊息。若要繼續使用該檔案,只需點擊下列 ''關閉'' 按鈕// From ba2c9f44b07c46ae847d16480162a9be873dd988 Mon Sep 17 00:00:00 2001 From: yaisog Date: Mon, 27 Feb 2023 10:24:36 +0100 Subject: [PATCH 18/83] Make some cosmetic changes to the DateFormat and Date Fields documentation (#7295) * Add description of field date format * Add description of field date format and improvements Due to the re-creation of the PR all changes to this file got mushed together. --- .../tw5.com/tiddlers/concepts/Date Fields.tid | 4 +++- editions/tw5.com/tiddlers/features/DateFormat.tid | 15 ++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/editions/tw5.com/tiddlers/concepts/Date Fields.tid b/editions/tw5.com/tiddlers/concepts/Date Fields.tid index 7ffb40c5c..c58398d19 100644 --- a/editions/tw5.com/tiddlers/concepts/Date Fields.tid +++ b/editions/tw5.com/tiddlers/concepts/Date Fields.tid @@ -1,5 +1,5 @@ created: 20150117190213631 -modified: 20201201154211507 +modified: 20230226144641763 tags: Concepts title: Date Fields type: text/vnd.tiddlywiki @@ -21,6 +21,8 @@ Values of date fields are 17 or 18-character strings: To avoid problems arising from differences of time zone, TiddlyWiki always uses [[UTC|https://en.wikipedia.org/wiki/Coordinated_Universal_Time]]. +The [[DateFormat]] template for storage of dates in these fields is `[UTC]YYYY0MM0DD0hh0mm0ss0XXX`. + As an example, the <<.field created>> field of this tiddler has the value <<.value """<$view field="created"/>""">>. Dates can be [[converted to other formats|DateFormat]] for display: diff --git a/editions/tw5.com/tiddlers/features/DateFormat.tid b/editions/tw5.com/tiddlers/features/DateFormat.tid index 611ff03f4..f918d9a99 100644 --- a/editions/tw5.com/tiddlers/features/DateFormat.tid +++ b/editions/tw5.com/tiddlers/features/DateFormat.tid @@ -1,12 +1,12 @@ created: 20140418142957325 -modified: 20221121131150032 +modified: 20230226144359284 tags: Features title: DateFormat type: text/vnd.tiddlywiki -The default representation of dates is a compact string such as `20211002153802059`. For example, the `created` and `modified` fields are stored like this. +The default representation of dates is a compact string such as <<.value 20211002153802059>>. The associated template is `[UTC]YYYY0MM0DD0hh0mm0ss0XXX`. For example, the <<.field created>> and <<.field modified>> fields are stored like this. -The display format for this string can be controlled with a template. For example, transcluding the `modified` field automatically applies a template to display the date as `Sat Oct 02 2021 17:40:50 GMT+0200 (Central European Summer Time)`. A few widgets and filter operators allow you to manually specify a template, for example the ViewWidget: +The display format for this string can be controlled with a template. For example, transcluding the <<.field modified>> field automatically applies a template to display the date as <<.value "Sat Oct 02 2021 17:40:50 GMT+0200 (Central European Summer Time)">>. A few widgets and filter operators allow you to manually specify a template, for example the ViewWidget: `<$view field=modified format=date template="DDth mmm YYYY 0hh:0mm:0ss" />` @@ -52,7 +52,7 @@ The date string is processed with the following substitutions: Note that other text is passed through unchanged, allowing commas, colons or other separators to be used. -The `{era:BCE||CE}` notation can specify different strings for years that are negative, zero or positive. For example `{era:BC|Z|AD}` would display `BC` for negative years, `AD` for positive years, and `Z` for year zero. +The `{era:BCE||CE}` notation can specify different strings for years that are negative, zero or positive. For example `{era:BC|Z|AD}` would display <<.value BC>> for negative years, <<.value AD>> for positive years, and <<.value Z>> for year zero. ! Examples @@ -61,7 +61,7 @@ The `{era:BCE||CE}` notation can specify different strings for years that are ne |`DDth MMM \M\M\M YYYY` |16th February MMM 2011 | |`DDth mmm YYYY 0hh:0mm:0ss` |16th Feb 2011 11:38:42 | -!! Using `TIMESTAMP` to calculate time difference +!! Using <<.value TIMESTAMP>> to calculate time difference You can calculate the difference between two dates by doing the following: @@ -71,8 +71,9 @@ You can calculate the difference between two dates by doing the following: Here is an example of calculating the number of days that passed between creation and last modification of current tiddler: -* Fields `modified` and `created` contain their respective datetimes in the format `[UTC]YYYY0MM0DD0hh0mm0ssXXX` so convert them to timestamps -* `86400000` is the number of milliseconds in a day (1000 * 60 * 60 * 24) +* Convert the <<.field created>> and <<.field modified>> fields to timestamps +* Divide their difference by <<.value 86400000>> which is the number of milliseconds in a day +** 1000 milliseconds per second × 60 seconds per minute × 60 minutes per hour × 24 hours per day = 86,400,000 milliseconds per day <$macrocall $name=".example" n="0" eg="""<$let timestamp-modified={{{ [{!!modified}format:date[TIMESTAMP]] }}} From ce988f909a9f17c2ef45182d46fd649be6461a69 Mon Sep 17 00:00:00 2001 From: Maurycy Zarzycki Date: Mon, 27 Feb 2023 16:03:03 +0100 Subject: [PATCH 19/83] Add PL translations to strings introduce in 7b7063a7b20111a3a2cd9f0908c8ed90ecab0e21 (#7300) --- languages/pl-PL/Fields.multids | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/languages/pl-PL/Fields.multids b/languages/pl-PL/Fields.multids index 8977ee3fb..6b1fe1c41 100644 --- a/languages/pl-PL/Fields.multids +++ b/languages/pl-PL/Fields.multids @@ -1,11 +1,13 @@ title: $:/language/Docs/Fields/ _canonical_uri: Pełny adres URL do zewnętrznego obrazu +author: Imię autora wtyczki bag: Nazwa worka, z ktorego pochodzi tiddler caption: Tekst wyświetlany na zakładce lub przycisku code-body: Ustawienie wartości na ''tak'' spowoduje wyświetlanie tiddlera jako kod color: Wartość koloru CSS powiążanego z tym tiddlerem component: Nazwa komponentu odpowiedzialnego za [[alert|AlertMechanism]] +core-version: Wersja TiddlyWiki która jest wspierana przez wtyczkę current-tiddler: Używane by zapamiętać ostatniego tiddlera w [[liście historii|HistoryMechanism]] created: Data kiedy utworzono tiddlera creator: Imię twórcy tiddlera @@ -22,7 +24,9 @@ list-before: Jeżeli ustawione, nazwa tiddlera przed którym ten tiddler będzie list-after: Jeżeli ustawione, nazwa tiddlera po którym ten tiddler będzie dodany w sortowanej liście nazw tiddlerów; lub na końcu listy jeżeli pole jest obecne ale puste modified: Czas i data ostatniej modyfikacji modifier: Tytuł tiddlera powiązanego z osobą, która ostatnio modyfikowała tego tiddlera +module-type: Rodzaj modułu używany przez wtyczki napisane w javascripcie name: Czytelna nazwa powiązana z tiddlerem wtyczki +parent-plugin: Określa nadrzędną wtyczkę plugin-priority: Numeryczna wartość określająca tiddlera wtyczki plugin-type: Typ tiddlera wtyczki revision: Numer rewizji tiddlera przechowywany na serwerze From e313857822879187cda8ea1681a73b4a65ef845f Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Mon, 27 Feb 2023 15:12:07 +0000 Subject: [PATCH 20/83] Use sticky flag to improve regexp search performance (#7297) --- core/modules/parsers/parseutils.js | 17 +++++++++-------- core/modules/parsers/wikiparser/rules/html.js | 6 +++--- core/modules/parsers/wikiparser/rules/image.js | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/core/modules/parsers/parseutils.js b/core/modules/parsers/parseutils.js index 925674056..1c7525588 100644 --- a/core/modules/parsers/parseutils.js +++ b/core/modules/parsers/parseutils.js @@ -84,7 +84,8 @@ exports.parseTokenString = function(source,pos,token) { }; /* -Look for a token matching a regex. Returns null if not found, otherwise returns {type: "regexp", match:, start:, end:,} +Look for a token matching a regex at a specified position. Returns null if not found, otherwise returns {type: "regexp", match:, start:, end:,} +Use the "Y" (sticky) flag to avoid searching the entire rest of the string */ exports.parseTokenRegExp = function(source,pos,reToken) { var node = { @@ -145,7 +146,7 @@ exports.parseMacroParameter = function(source,pos) { start: pos }; // Define our regexp - var reMacroParameter = /(?:([A-Za-z0-9\-_]+)\s*:)?(?:\s*(?:"""([\s\S]*?)"""|"([^"]*)"|'([^']*)'|\[\[([^\]]*)\]\]|((?:(?:>(?!>))|[^\s>"'])+)))/g; + var reMacroParameter = /(?:([A-Za-z0-9\-_]+)\s*:)?(?:\s*(?:"""([\s\S]*?)"""|"([^"]*)"|'([^']*)'|\[\[([^\]]*)\]\]|((?:(?:>(?!>))|[^\s>"'])+)))/y; // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Look for the parameter @@ -184,7 +185,7 @@ exports.parseMacroInvocation = function(source,pos) { params: [] }; // Define our regexps - var reMacroName = /([^\s>"'=]+)/g; + var reMacroName = /([^\s>"'=]+)/y; // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Look for a double less than sign @@ -221,7 +222,7 @@ exports.parseFilterVariable = function(source) { params: [], }, pos = 0, - reName = /([^\s"']+)/g; + reName = /([^\s"']+)/y; // If there is no whitespace or it is an empty string then there are no macro parameters if(/^\S*$/.test(source)) { node.name = source; @@ -246,10 +247,10 @@ exports.parseAttribute = function(source,pos) { start: pos }; // Define our regexps - var reAttributeName = /([^\/\s>"'=]+)/g, - reUnquotedAttribute = /([^\/\s<>"'=]+)/g, - reFilteredValue = /\{\{\{([\S\s]+?)\}\}\}/g, - reIndirectValue = /\{\{([^\}]+)\}\}/g; + var reAttributeName = /([^\/\s>"'=]+)/y, + reUnquotedAttribute = /([^\/\s<>"'=]+)/y, + reFilteredValue = /\{\{\{([\S\s]+?)\}\}\}/y, + reIndirectValue = /\{\{([^\}]+)\}\}/y; // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Get the attribute name diff --git a/core/modules/parsers/wikiparser/rules/html.js b/core/modules/parsers/wikiparser/rules/html.js index 7fc4bb96e..fdaae03ba 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]*\r?\n(?:[^\S\n\r]*\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|$))/y); // Set whether we're in block mode tag.isBlock = this.is.block || hasLineBreak; // Parse the body if we need to @@ -78,7 +78,7 @@ exports.parseTag = function(source,pos,options) { orderedAttributes: [] }; // Define our regexps - var reTagName = /([a-zA-Z0-9\-\$]+)/g; + var reTagName = /([a-zA-Z0-9\-\$]+)/y; // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Look for a less than sign @@ -129,7 +129,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]*\r?\n(?:[^\S\n\r]*\r?\n|$))/g); + token = $tw.utils.parseTokenRegExp(source,pos,/([^\S\n\r]*\r?\n(?:[^\S\n\r]*\r?\n|$))/y); if(!token) { return null; } diff --git a/core/modules/parsers/wikiparser/rules/image.js b/core/modules/parsers/wikiparser/rules/image.js index 6b379d9c5..9bfce99d2 100644 --- a/core/modules/parsers/wikiparser/rules/image.js +++ b/core/modules/parsers/wikiparser/rules/image.js @@ -116,7 +116,7 @@ exports.parseImage = function(source,pos) { // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Get the source up to the terminating `]]` - token = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\]]*?)\|)?([^\]]+?)\]\]/g); + token = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\]]*?)\|)?([^\]]+?)\]\]/y); if(!token) { return null; } From 8d39ce95ebb26ea32ddc8b3102334b2081641df2 Mon Sep 17 00:00:00 2001 From: lin onetwo Date: Tue, 28 Feb 2023 01:32:20 +0800 Subject: [PATCH 21/83] FieldIndexer performance: use `isShadowTiddler` instead of `allTitles` (#7299) * feat: use `isShadowTiddler` insteadof `allTitles` * fix: use `tiddlerExists` instead --- core/modules/indexers/field-indexer.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/modules/indexers/field-indexer.js b/core/modules/indexers/field-indexer.js index e49583610..3aefc99ac 100644 --- a/core/modules/indexers/field-indexer.js +++ b/core/modules/indexers/field-indexer.js @@ -32,18 +32,18 @@ FieldIndexer.prototype.setMaxIndexedValueLength = function(length) { FieldIndexer.prototype.addIndexMethods = function() { var self = this; + // get all tiddlers, including those overwrite shadow tiddlers this.wiki.each.byField = function(name,value) { - var titles = self.wiki.allTitles(), - lookup = self.lookup(name,value); + var lookup = self.lookup(name,value); return lookup && lookup.filter(function(title) { - return titles.indexOf(title) !== -1; + return self.wiki.tiddlerExists(title) }); }; + // get shadow tiddlers, including shadow tiddlers that is overwritten this.wiki.eachShadow.byField = function(name,value) { - var titles = self.wiki.allShadowTitles(), - lookup = self.lookup(name,value); + var lookup = self.lookup(name,value); return lookup && lookup.filter(function(title) { - return titles.indexOf(title) !== -1; + return self.wiki.isShadowTiddler(title) }); }; this.wiki.eachTiddlerPlusShadows.byField = function(name,value) { From 5bce35d90b6c4b84f246429494b78b48a5a23b22 Mon Sep 17 00:00:00 2001 From: Saq Imtiaz Date: Tue, 28 Feb 2023 09:35:15 +0100 Subject: [PATCH 22/83] Fix: add twEditor attribute to paste events handled by codemirror (#7281) --- core/modules/widgets/dropzone.js | 2 +- plugins/tiddlywiki/codemirror/engine.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/modules/widgets/dropzone.js b/core/modules/widgets/dropzone.js index 729ad26ed..82fe3a51b 100644 --- a/core/modules/widgets/dropzone.js +++ b/core/modules/widgets/dropzone.js @@ -259,7 +259,7 @@ DropZoneWidget.prototype.handlePasteEvent = function(event) { } }; // Let the browser handle it if we're in a textarea or input box - if(["TEXTAREA","INPUT"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable) { + if(["TEXTAREA","INPUT"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable && !event.twEditor) { var self = this, items = event.clipboardData.items; // Enumerate the clipboard items diff --git a/plugins/tiddlywiki/codemirror/engine.js b/plugins/tiddlywiki/codemirror/engine.js index 4904d1ac2..e775e1c95 100755 --- a/plugins/tiddlywiki/codemirror/engine.js +++ b/plugins/tiddlywiki/codemirror/engine.js @@ -220,9 +220,15 @@ function CodeMirrorEngine(options) { } }); this.cm.on("paste",function(cm,event) { + event["twEditor"] = true; self.widget.handlePasteEvent.call(self.widget,event); }); + } else { + this.cm.on("paste",function(cm,event){ + event["twEditor"] = true; + }); } +; } /* From 3a9f848ea08a128ef6fe76796adf69689623875b Mon Sep 17 00:00:00 2001 From: Maurycy Zarzycki Date: Wed, 1 Mar 2023 17:18:41 +0100 Subject: [PATCH 23/83] Report ZoomIn issues when using tiddler template that starts with a text node (#7007) * add alert when zoomin error occurs plus protection to avoid TW getting stuck when it happens * Reverted additional logging and made the zoomin just silently and safely ignore the issue --- core/language/en-GB/Misc.multids | 1 + core/modules/storyviews/zoomin.js | 43 ++++++++++++++++++++++--------- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/core/language/en-GB/Misc.multids b/core/language/en-GB/Misc.multids index 00cb3c99c..52545bd86 100644 --- a/core/language/en-GB/Misc.multids +++ b/core/language/en-GB/Misc.multids @@ -40,6 +40,7 @@ Error/RetrievingSkinny: Error retrieving skinny tiddler list Error/SavingToTWEdit: Error saving to TWEdit Error/WhileSaving: Error while saving Error/XMLHttpRequest: XMLHttpRequest error code +Error/ZoominTextNode: Story View Error: It appears you tried to interact with a tiddler that displays in a custom container. This is most likely caused by using `$:/tags/StoryTiddlerTemplateFilter` with a template that contains text or whitespace at the start. Please use the pragma `\whitespace trim` and ensure the whole contents of the tiddler is wrapped in a single HTML element. The text that caused this issue: InternalJavaScriptError/Title: Internal JavaScript Error InternalJavaScriptError/Hint: Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser LayoutSwitcher/Description: Open the layout switcher diff --git a/core/modules/storyviews/zoomin.js b/core/modules/storyviews/zoomin.js index b2796e953..6452e6225 100644 --- a/core/modules/storyviews/zoomin.js +++ b/core/modules/storyviews/zoomin.js @@ -17,6 +17,10 @@ var easing = "cubic-bezier(0.645, 0.045, 0.355, 1)"; // From http://easings.net/ var ZoominListView = function(listWidget) { var self = this; this.listWidget = listWidget; + this.textNodeLogger = new $tw.utils.Logger("zoomin story river view", { + enable: true, + colour: 'red' + }); // Get the index of the tiddler that is at the top of the history var history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]), targetTiddler; @@ -48,7 +52,10 @@ ZoominListView.prototype.navigateTo = function(historyInfo) { var listItemWidget = this.listWidget.children[listElementIndex], targetElement = listItemWidget.findFirstDomNode(); // Abandon if the list entry isn't a DOM element (it might be a text node) - if(!targetElement || targetElement.nodeType === Node.TEXT_NODE) { + if(!targetElement) { + return; + } else if (targetElement.nodeType === Node.TEXT_NODE) { + this.logTextNodeRoot(targetElement); return; } // Make the new tiddler be position absolute and visible so that we can measure it @@ -130,7 +137,10 @@ function findTitleDomNode(widget,targetClass) { ZoominListView.prototype.insert = function(widget) { var targetElement = widget.findFirstDomNode(); // Abandon if the list entry isn't a DOM element (it might be a text node) - if(!targetElement || targetElement.nodeType === Node.TEXT_NODE) { + if(!targetElement) { + return; + } else if (targetElement.nodeType === Node.TEXT_NODE) { + this.logTextNodeRoot(targetElement); return; } // Make the newly inserted node position absolute and hidden @@ -173,16 +183,21 @@ ZoominListView.prototype.remove = function(widget) { var toWidgetDomNode = toWidget && toWidget.findFirstDomNode(); // Set up the tiddler we're moving back in if(toWidgetDomNode) { - $tw.utils.addClass(toWidgetDomNode,"tc-storyview-zoomin-tiddler"); - $tw.utils.setStyle(toWidgetDomNode,[ - {display: "block"}, - {transformOrigin: "50% 50%"}, - {transform: "translateX(0px) translateY(0px) scale(10)"}, - {transition: $tw.utils.roundTripPropertyName("transform") + " " + duration + "ms " + easing + ", opacity " + duration + "ms " + easing}, - {opacity: "0"}, - {zIndex: "500"} - ]); - this.currentTiddlerDomNode = toWidgetDomNode; + if (toWidgetDomNode.nodeType === Node.TEXT_NODE) { + this.logTextNodeRoot(toWidgetDomNode); + toWidgetDomNode = null; + } else { + $tw.utils.addClass(toWidgetDomNode,"tc-storyview-zoomin-tiddler"); + $tw.utils.setStyle(toWidgetDomNode,[ + {display: "block"}, + {transformOrigin: "50% 50%"}, + {transform: "translateX(0px) translateY(0px) scale(10)"}, + {transition: $tw.utils.roundTripPropertyName("transform") + " " + duration + "ms " + easing + ", opacity " + duration + "ms " + easing}, + {opacity: "0"}, + {zIndex: "500"} + ]); + this.currentTiddlerDomNode = toWidgetDomNode; + } } // Animate them both // Force layout @@ -206,6 +221,10 @@ ZoominListView.prototype.remove = function(widget) { return true; // Indicate that we'll delete the DOM node }; +ZoominListView.prototype.logTextNodeRoot = function(node) { + this.textNodeLogger.log($tw.language.getString("Error/ZoominTextNode") + " " + node.textContent); +}; + exports.zoomin = ZoominListView; })(); From c0ce53e3ea23c5f45245a6421f18979fbd74d4c5 Mon Sep 17 00:00:00 2001 From: Bram Chen Date: Thu, 2 Mar 2023 16:40:11 +0800 Subject: [PATCH 24/83] Update chinese language files (#7310) * Add chinese translation for the text of `Error/ZoominTextNode` in Misc.multids --- 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 3107626d2..183a677a6 100644 --- a/languages/zh-Hans/Misc.multids +++ b/languages/zh-Hans/Misc.multids @@ -40,6 +40,7 @@ Error/RetrievingSkinny: 简要条目清单提取错误 Error/SavingToTWEdit: 保存到 TWEdit 时,发生错误 Error/WhileSaving: 保存时,发生错误 Error/XMLHttpRequest: XMLHttpRequest 错误代码 +Error/ZoominTextNode: 故事视图错误:您似乎尝试与显示在自定义容器中的条目进行交互。这很可能是由于将 `$:/tags/StoryTiddlerTemplateFilter` 与开头包含文本或空格的模板一起使用引起的。请使用编译指示 `\whitespace trim`,并确保条目的全部内容都包含在单个 HTML 元素中。导致此问题的文本: InternalJavaScriptError/Title: 内部的 JavaScript 错误 InternalJavaScriptError/Hint: 喔,真是令人尴尬。建议刷新您的浏览器,重新启动 TiddlyWiki LayoutSwitcher/Description: 打开布局切换器 diff --git a/languages/zh-Hant/Misc.multids b/languages/zh-Hant/Misc.multids index 0269aa7dd..e850ebaf9 100644 --- a/languages/zh-Hant/Misc.multids +++ b/languages/zh-Hant/Misc.multids @@ -40,6 +40,7 @@ Error/RetrievingSkinny: 簡要條目清單擷取錯誤 Error/SavingToTWEdit: 儲存到 TWEdit 時,發生錯誤 Error/WhileSaving: 儲存時,發生錯誤 Error/XMLHttpRequest: XMLHttpRequest 錯誤代碼 +Error/ZoominTextNode: 故事視圖錯誤:您似乎嘗試與顯示在自定義容器中的條目進行互動。這很可能是由於將 `$:/tags/StoryTiddlerTemplateFilter` 與開頭包含文字或空格的範本一起使用引起的。請使用編譯指示 `\whitespace trim`,並確保條目的全部內容都包含在單個 HTML 元素中。導致此問題的文字: InternalJavaScriptError/Title: 內部的 JavaScript 錯誤 InternalJavaScriptError/Hint: 喔,真是令人尷尬。建議刷新您的瀏覽器,重新啟動 TiddlyWiki LayoutSwitcher/Description: 開啟版面切換器 From 8c39c9e911bbb63bdf13dfa939ee695bbbd81fea Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Fri, 3 Mar 2023 21:25:28 +0100 Subject: [PATCH 25/83] Docs: Add HTML Entities to WikiText info (#7321) --- .../tiddlers/wikitext/HTML Entities.tid | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 editions/tw5.com/tiddlers/wikitext/HTML Entities.tid diff --git a/editions/tw5.com/tiddlers/wikitext/HTML Entities.tid b/editions/tw5.com/tiddlers/wikitext/HTML Entities.tid new file mode 100644 index 000000000..59b674575 --- /dev/null +++ b/editions/tw5.com/tiddlers/wikitext/HTML Entities.tid @@ -0,0 +1,66 @@ +created: 20130204165019000 +modified: 20221025124615415 +tags: WikiText +title: HTML Entities +type: text/vnd.tiddlywiki + +!! Summary + +Use HTML entities to enter characters that cannot easily be typed on an ordinary keyboard. They take the form of an ampersand (`&`), an identifying string, and a terminating semi-colon (`;`), e.g. `&` for the ''&'' character. + +!! Markup + +``` +The value of Tiddlers™ cannot even be expressed in £, € or $. +``` + +''Displays as:'' + +The value of Tiddlers™ cannot even be expressed in £, € or $. + +!! Entity References + +Comprehensive lists of html entities can be found at... + +* [[Mozilla Developer Network -- Entities|https://developer.mozilla.org/en-US/docs/Glossary/Entity]] + +* [[HTML Spec official list -- Entities|https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references]] + + +!! Examples Of Common And Useful Entities + +|>|>|>|>|>|>| ! HTML Entities | +| &nbsp; |   | no-break space |    | &apos; | ' | single quote, apostrophe | +| &ndash; | – | en dash |~| &quot; | " | quotation mark | +| &mdash; | — | em dash |~| &prime; | ′ | prime; minutes; feet | +| &hellip; | … | horizontal ellipsis |~| &Prime; | ″ | double prime; seconds; inches | +| &copy; | © | Copyright symbol |~| &lsquo; | ‘ | left single quote | +| &reg; | ® | Registered symbol |~| &rsquo; | ’ | right single quote | +| &trade; | ™ | Trademark symbol |~| &ldquo; | “ | left double quote | +| &dagger; | † | dagger |~| &rdquo; | ” | right double quote | +| &Dagger; | ‡ | double dagger |~| &laquo; | « | left angle quote | +| &para; | ¶ | paragraph sign |~| &raquo; | » | right angle quote | +| &sect; | § | section sign |~| &times; | × | multiplication symbol | +| &uarr; | ↑ | up arrow |~| &darr; | ↓ | down arrow | +| &larr; | ← | left arrow |~| &rarr; | → | right arrow | +| &lArr; | ⇐ | double left arrow |~| &rArr; | ⇒ | double right arrow | +| &harr; | ↔ | left right arrow |~| &hArr; | ⇔ | double left right arrow | + +!! Accented Characters + +The table below shows how accented characters can be built up by //substituting// the +underscore (_) in the second table into the corresponding character. eg: + +|Code |Character |Example |Result |h +|`Ä` |Ä | `Äpfel` |Äpfel | + + +|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| ! Accented Characters | +| grave accent | &_grave; | À | à | È | è | Ì | ì | Ò | ò | Ù | ù |   |   |   |   |   |   | +| acute accent | &_acute; | Á | á | É | é | Í | í | Ó | ó | Ú | ú |   |   | Ý | ý |   |   | +| circumflex accent | &_circ; | Â | â | Ê | ê | Î | î | Ô | ô | Û | û |   |   |   |   |   |   | +| umlaut mark | &_uml; | Ä | ä | Ë | ë | Ï | ï | Ö | ö | Ü | ü |   |   | Ÿ | ÿ |   |   | +| tilde | &_tilde; | Ã | ã |   |   |   |   | Õ | õ |   |   | Ñ | ñ |   |   |   |   | +| ring | &_ring; | Å | å |   |   |   |   |   |   |   |   |   |   |   |   |   |   | +| slash | &_slash; |   |   |   |   |   |   | Ø | ø |   |   |   |   |   |   |   |   | +| cedilla | &_cedil; |   |   |   |   |   |   |   |   |   |   |   |   |   |   | Ç | ç | From 867d647839aebe9ebcce07f4590de543ea9013f2 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Fri, 3 Mar 2023 22:25:12 +0100 Subject: [PATCH 26/83] Move fourcolumns CSS class as multicolumns to tw5-styles for reuse (#7318) --- ...s with CSS - Specified Columns Methods.tid | 22 +++++-------------- .../tiddlers/system/tw5.com-styles.tid | 19 ++++++++++++++++ 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/editions/tw5.com/tiddlers/howtos/Formatting List Results as Tables with CSS - Specified Columns Methods.tid b/editions/tw5.com/tiddlers/howtos/Formatting List Results as Tables with CSS - Specified Columns Methods.tid index 817776a1a..853f868a0 100644 --- a/editions/tw5.com/tiddlers/howtos/Formatting List Results as Tables with CSS - Specified Columns Methods.tid +++ b/editions/tw5.com/tiddlers/howtos/Formatting List Results as Tables with CSS - Specified Columns Methods.tid @@ -33,29 +33,17 @@ Note the various places you need to indicate the number of columns ``` @@.fourcolumns -<$list filter="[tag[Filter Operators]]" variable="foo">
-<> +<$list filter="[tag[Filter Operators]]" variable="foo"> +<>
@@ ``` !! Example showing partial list of filter operators - - - @@.fourcolumns -<$list filter="[tag[Filter Operators]limit[24]]" variable="foo">
-<> +<$list filter="[tag[Filter Operators]limit[24]]" variable="foo"> +<>
@@ + diff --git a/editions/tw5.com/tiddlers/system/tw5.com-styles.tid b/editions/tw5.com/tiddlers/system/tw5.com-styles.tid index d6d00f86f..a8fff61b6 100644 --- a/editions/tw5.com/tiddlers/system/tw5.com-styles.tid +++ b/editions/tw5.com/tiddlers/system/tw5.com-styles.tid @@ -325,3 +325,22 @@ type: text/vnd.tiddlywiki .tc-btn-download:active { box-shadow: none; } + +/* WikiText rules */ + +.multi-columns, +.fourcolumns { + display: block; + column-count: 4; + column-gap: 1em; + -moz-column-count: 4; + -moz-column-gap: 1em; + -webkit-column-count: 4; + -webkit-column-gap: 1em; +} + +@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) { + .multi-columns { + column-count: 2; + } +} From 7f1064d14bef118a69ddb9ad6b6bf10ab5c0df50 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Fri, 3 Mar 2023 22:34:30 +0100 Subject: [PATCH 27/83] Add dollar sign to HTML entities (#7323) --- core/modules/config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/config.js b/core/modules/config.js index 77e74edf8..399af598b 100644 --- a/core/modules/config.js +++ b/core/modules/config.js @@ -30,7 +30,7 @@ exports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + "+" + exports.textPrimitives.upperLetter + exports.textPrimitives.anyLetter + "*"; -exports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 }; +exports.htmlEntities = {quot:34, dollar:36, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 }; exports.htmlVoidElements = "area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr".split(","); From d4b10605c3766fc1a4271f331845e70dff2baf75 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Fri, 3 Mar 2023 22:51:01 +0100 Subject: [PATCH 28/83] improve WikiText docs add a Markdown tiddler (#7319) * improve WikiText docs add a Markdown tiddler * remove Elements heading as requested --- editions/tw5.com/tiddlers/concepts/WikiText.tid | 12 ++++++------ editions/tw5.com/tiddlers/definitions/Markdown.tid | 10 ++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 editions/tw5.com/tiddlers/definitions/Markdown.tid diff --git a/editions/tw5.com/tiddlers/concepts/WikiText.tid b/editions/tw5.com/tiddlers/concepts/WikiText.tid index 6c4ab0b3a..c8d0141bc 100644 --- a/editions/tw5.com/tiddlers/concepts/WikiText.tid +++ b/editions/tw5.com/tiddlers/concepts/WikiText.tid @@ -1,15 +1,15 @@ created: 20131205155227468 -modified: 20140919191220377 +modified: 20230303214711802 tags: Concepts Reference title: WikiText type: text/vnd.tiddlywiki -~WikiText is a concise, expressive way of typing a wide range of text formatting, hypertext and interactive features. It allows you to focus on writing without a complex user interface getting in the way. It is designed to be familiar for users of [[MarkDown|http://daringfireball.net/projects/markdown/]], but with more of a focus on linking and the interactive features. +~WikiText is a concise, expressive way of typing a wide range of text formatting, hypertext and interactive features. It allows you to focus on writing without a complex user interface getting in the way. It is designed to be familiar for users of [[Markdown]] but with more of a focus on linking and the interactive features. -~WikiText can also be inserted to the text field using the [[Editor toolbar]]. +~WikiText can also be inserted to the text field using the [[Editor toolbar]] buttons. -See [[Formatting text in TiddlyWiki]] for an introduction to WikiText. +See [[Formatting in WikiText]] and [[Formatting text in TiddlyWiki]] for an introduction to ~WikiText. -The following elements of WikiText syntax are built into the core: +The following elements of ~WikiText syntax are built into the core: -<> +<> diff --git a/editions/tw5.com/tiddlers/definitions/Markdown.tid b/editions/tw5.com/tiddlers/definitions/Markdown.tid new file mode 100644 index 000000000..8c04a9b35 --- /dev/null +++ b/editions/tw5.com/tiddlers/definitions/Markdown.tid @@ -0,0 +1,10 @@ +created: 20220727090611178 +modified: 20220728191637376 +tags: Definitions +title: Markdown + +<<< +Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML). +<< Date: Sat, 4 Mar 2023 05:56:40 +0800 Subject: [PATCH 29/83] Allow deleteTiddler to not modify fs (#6047) * feat: allow deleteTiddler to not modify fs * refactor: add new function that merely delete file in cache, and let old func calls it * fix: self is undefined --- plugins/tiddlywiki/filesystem/filesystemadaptor.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/tiddlywiki/filesystem/filesystemadaptor.js b/plugins/tiddlywiki/filesystem/filesystemadaptor.js index 0ed686c84..0692fb2fe 100644 --- a/plugins/tiddlywiki/filesystem/filesystemadaptor.js +++ b/plugins/tiddlywiki/filesystem/filesystemadaptor.js @@ -140,7 +140,7 @@ FileSystemAdaptor.prototype.deleteTiddler = function(title,callback,options) { } } // Remove the tiddler from self.boot.files & return null adaptorInfo - delete self.boot.files[title]; + self.deleteTiddlerInCache(title); return callback(null,null); }); } else { @@ -148,6 +148,16 @@ FileSystemAdaptor.prototype.deleteTiddler = function(title,callback,options) { } }; +/* +Delete a tiddler in cache, without modifying file system. +*/ +FileSystemAdaptor.prototype.deleteTiddlerInCache = function(title) { + // Only delete the tiddler if we have writable information for the file + if(this.boot.files[title]) { + delete this.boot.files[title]; + }; +}; + if(fs) { exports.adaptorClass = FileSystemAdaptor; } From b16ed6629d4f5e69d40c5d6a2f26936d3a92e371 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Fri, 3 Mar 2023 22:57:21 +0100 Subject: [PATCH 30/83] Docs: Improve Formatting in Wikitext (#7320) * improve Formatting in Wikitext * formatting add more info about semantic meaning * back to 1 tiddler Formatting in Wikitext * single backtics are used for code - fix typo --- .../wikitext/Formatting in WikiText.tid | 63 +++++++++++++++---- 1 file changed, 52 insertions(+), 11 deletions(-) diff --git a/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid b/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid index b38f2b030..7ffb4e497 100644 --- a/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid +++ b/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid @@ -1,19 +1,60 @@ caption: Formatting created: 20131205155959399 -modified: 20220513120211686 +modified: 20230303215447403 tags: WikiText title: Formatting in WikiText type: text/vnd.tiddlywiki -Available character formatting includes: +!! Overview -* `code` for `code` (<<.icon $:/core/images/mono-line>>), alternatively ``double backticks allow `embedded` single backticks``

-* `''bold''` for ''bold'' text (<<.icon $:/core/images/bold>>)

-* `//italic//` for //italic// text (<<.icon $:/core/images/italic>>)

-* `__underscore__` for __underscored__ text (<<.icon $:/core/images/underline>>)

-* `^^superscript^^` for ^^superscripted^^ text (<<.icon $:/core/images/superscript>>)

-* `,,subscript,,` for ,,subscripted,, text (<<.icon $:/core/images/subscript>>)

-* `~~strikethrough~~` for ~~strikethrough~~ text (<<.icon $:/core/images/strikethrough>>)

-* `@@highlight@@` for @@highlighted@@ text (no editor toolbar button), see [[Styles and Classes in WikiText]] for more formatting options +Available character formatting in WikiText includes: -See also: [[Code Blocks in WikiText]] +|Wikitext | Button | Shortcut |Rendered Output |h +|Double single quotes are used for `''bold text''`| <<.icon $:/core/images/bold>> | <> |Double single quotes are used for ''bold text'' | +|Double slashes are used for `//italic text//`| <<.icon $:/core/images/italic>> | <> |Double slashes are used for //italic text//| +|Double underscores are used for `__underlined text__`| <<.icon $:/core/images/underline>> | <> |Double underscores are used for __underlined text__ | +|Double circumflex accents are used for `^^superscripted^^` text | <<.icon $:/core/images/superscript>> | <> |Double circumflex accents are used for ^^superscripted^^ text | +|Double commas are used for `,,subscripted,,` text | <<.icon $:/core/images/subscript>> | <> |Double commas are used for ,,subscripted,, text | +|Double tilde signs are used for `~~strikethrough~~` text | <<.icon $:/core/images/strikethrough>> | <> |Double tilde signs are used for ~~strikethrough~~ text | +|Single backticks are used for ```code` `` | <<.icon $:/core/images/mono-line>> | <> |Single backticks are used for `code` | +|Double @ characters are used to create a `@@highlight@@` | - | - |Double @ characters are used to create a @@highlight@@ | + +See [[Styles and Classes in WikiText]] for more formatting options + +!! Embedded Backticks + +|Wikitext |Rendered Output|h +|``double backticks allows `embedded` backticks``|``double backticks allows `embedded` backticks``| + +!! Keyboard Shortcuts + +The full list of KeyboardShortcuts can be found in the $:/ControlPanel -> ''Keyboard Shortcuts'' tab. + +!! Semantic Information + +|Wikitext | Resulting HTML Code |h +|Double single quotes are used for `''bold text''`|Double single quotes are used for `bold text` | +|Double slashes are used for `//italic text//`|Double slashes are used for `italic text` | +|Double underscores are used for `__underlined text__`|Double underscores are used for `underlined text` | +|Double circumflex accents are used for `^^superscripted^^` text |Double circumflex accents are used for `superscripted` text | +|Double commas are used for `,,subscripted,,` text |Double commas are used for `subscripted` text | +|Double tilde signs are used for `~~strikethrough~~` text |Double tilde signs are used for `strikethrough` text | +|Single backticks are used for ```code` `` |Single backticks are used for `code` | +|Double @ characters are used to create a `@@highlight@@` |Double @ characters are used to create a `highlighted` | + +!! Bold vs Strong + +In TW we use the term "bold" instead of "strong" because most users are used to it. ... The rendering process converts our "bold text" into the STRONG HTML element. + +>The `` element is for content that is of greater importance, while the `` element is used to draw attention to text without indicating that it's more important. +>https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong#b_vs._strong + +!! Underline vs. Underscore + +>Use underline to describe text formatting that puts a line under the characters. Use underscore to refer to the underscore character ( _ ). +>https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/u/underline-vs-underscore + +!! Emphasis vs Italics + +>The `` element represents stress emphasis of its contents, while the `` element represents text that is set off from the normal prose, such as a foreign word, fictional character thoughts, or when the text refers to the definition of a word instead of representing its semantic meaning. (The title of a work, such as the name of a book or movie, should use ``.) +>https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em#i_vs._em From 3627ad1d2822e5267b54a0c4cac2633523b07946 Mon Sep 17 00:00:00 2001 From: hffqyd Date: Sat, 4 Mar 2023 05:58:13 +0800 Subject: [PATCH 31/83] Signing the CLA (#7316) --- licenses/cla-individual.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index c64e6ede6..744b5e133 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -523,3 +523,5 @@ Ethan Weller, @gamedungeon, 2023-01-17 Mateusz Wilczek, @mateuszwilczek, 2023/02/16 Andrea Octo, @andrigamerita, 2023/02/24 + +HuanC Fu, @hffqyd, 2023/03/03 From 7d7ac662a2775b668fcc12cece6d38831c1728e6 Mon Sep 17 00:00:00 2001 From: hffqyd Date: Sat, 4 Mar 2023 06:02:15 +0800 Subject: [PATCH 32/83] Saving via a Minimal Web Server (#7315) A standalone mini web server enables support tiddlywiki as well as upload files/images, for use like `[img[images/uploaded.jpg]]`. --- .../Saving via a Minimal Web Server.tid | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 editions/tw5.com/tiddlers/saving/Saving via a Minimal Web Server.tid diff --git a/editions/tw5.com/tiddlers/saving/Saving via a Minimal Web Server.tid b/editions/tw5.com/tiddlers/saving/Saving via a Minimal Web Server.tid new file mode 100644 index 000000000..5bbf79485 --- /dev/null +++ b/editions/tw5.com/tiddlers/saving/Saving via a Minimal Web Server.tid @@ -0,0 +1,49 @@ +caption: tw5-server +color: #70c9a0 +community-author: hffqyd +created: 20230302011710789 +delivery: Server-side Script +description: Web server for saving and uploading +method: save +modified: 20230302055929311 +tags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge +title: Saving via a Minimal Web Server +type: text/vnd.tiddlywiki + +A local server for TiddlyWiki5 that saves and backups wikis, inspired by +[[tw5-server.rb | https://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da]]. + +tw5-server provides features of: + +* Server for TiddlyWiki5, as well as other files (e.g. images used in TW5 `[img[images/*.png]]`); +* Easy to save wiki via browsers; +* Backup wiki in compress format (.gz), to save disk space; +* Auto clean backups: keep one newest per previous month, keep all backups in current month. +* Upload files/images to server, for use in tiddlywiki as external links. +* Offer binary executable for Linux, macos and windows. + +Download executable script and binary at the github.com [[tw5-server|https://github.com/hffqyd/tw5-server]]. + +! Usage + +```bash +# python script: +python tw5-server.py -p 8000 -d ./ -b backup_dir + +# binary file: +tw5server -a:192.168.0.10 -p:8000 -d:./ -b:backup + +-h usage help +-a address, defautl localhost +-p port, default 8000 +-d directory to servering, default `current dir` +-b backup directory name, default `backup` +-l log saving messages to stdout + +Backups auto-clean strategy: +Keep all backups in current month, keep only the newest one for previous months. +``` + +In Unix/Linux, just excute `./tw5-server.py` (with `chmod +x tw5-server.py`). + +Then go to http://localhost:8000 (or other address:port specified in command) in your web browser, and click on your wiki html file. From 1946f173a9afcd17d031cfa3931bc3b682aaab5e Mon Sep 17 00:00:00 2001 From: yaisog Date: Sat, 4 Mar 2023 12:48:14 +0100 Subject: [PATCH 33/83] Update ActionListopsWidget documentation including notes on de-duplication (#7301) * Changed headings under Content Made them H2 and changed the wording a bit. * Move the list of filters to another tiddler There is a tiddler for Extended Listops Filters, and the list should go there, so that the Widget tiddler does not get too overcrowded. * Rework comparison to ActionSetFieldWidget * Add notes on de-duplication * Update link to Extended Listops Filters * Updated link to Extended Listops Filters * Update link to Extended Listops Filters Duh. This was the most important one. * Remove repeated links to widgets within one section * Re-create original tiddler with a redirect notice * Excised the examples into a separate tiddler Also created an "examples" subdirectory under tw5.com/tiddlers/widgets. --- .../learning/Introduction to Lists.tid | 2 +- .../tiddlers/releasenotes/Release 5.1.16.tid | 2 +- .../tiddlers/widgets/ActionListopsWidget.tid | 139 +++++------------- .../widgets/Extended Listops Filters.tid | 138 +++++++++++++++++ .../widgets/The Extended Listops Filters.tid | 115 +-------------- .../ActionListopsWidget (Examples).tid | 81 ++++++++++ 6 files changed, 258 insertions(+), 219 deletions(-) create mode 100644 editions/tw5.com/tiddlers/widgets/Extended Listops Filters.tid create mode 100644 editions/tw5.com/tiddlers/widgets/examples/ActionListopsWidget (Examples).tid diff --git a/editions/tw5.com/tiddlers/learning/Introduction to Lists.tid b/editions/tw5.com/tiddlers/learning/Introduction to Lists.tid index dd2a0269c..0cc883e47 100644 --- a/editions/tw5.com/tiddlers/learning/Introduction to Lists.tid +++ b/editions/tw5.com/tiddlers/learning/Introduction to Lists.tid @@ -6,7 +6,7 @@ type: text/vnd.tiddlywiki Making lists of items plays a central role in working with TiddlyWiki. The following is a brief run-through of some of the more common techniques. -~TiddlyWiki [[uses|The Extended Listops Filters]] lists [[internally|ListField]] for many purposes so the word can have several meanings. Here we are concerned with displaying sequences of items, but not necessarily presented as a conventional bullet list. +~TiddlyWiki [[uses|Extended Listops Filters]] lists [[internally|ListField]] for many purposes so the word can have several meanings. Here we are concerned with displaying sequences of items, but not necessarily presented as a conventional bullet list. ! Manually Typed Lists diff --git a/editions/tw5.com/tiddlers/releasenotes/Release 5.1.16.tid b/editions/tw5.com/tiddlers/releasenotes/Release 5.1.16.tid index 03754dbb6..90c62c110 100644 --- a/editions/tw5.com/tiddlers/releasenotes/Release 5.1.16.tid +++ b/editions/tw5.com/tiddlers/releasenotes/Release 5.1.16.tid @@ -112,7 +112,7 @@ Prompted by the [[General Data Protection Regulation (GDPR)|https://en.wikipedia * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3093]] problem with crash when dragging over TiddlyWiki on some browsers * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3079]] issue with new journal button * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3164]] problem with ''filter'' and ''value'' attributes of SetWidget -* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3190]] problem with numeric operands in the [[The Extended Listops Filters]] +* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3190]] problem with numeric operands in the [[Extended Listops Filters]] * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/df1f7e9798b5f6c3d2c3fd82e438cbc9713ade04]] problem with "put" saver and 412 return codes * [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3048]] problem with variable references in field values in the edit template * [[Extended|https://github.com/Jermolene/TiddlyWiki5/pull/3219]] behaviour of list-after field so that the tiddler is placed at the end of the list if the list-after field is present but empty diff --git a/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid b/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid index 4773e8405..0762f14e0 100644 --- a/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid @@ -1,25 +1,11 @@ caption: action-listops created: 20141025120850184 -list: efg hlm pqr -modified: 20211115091121133 +modified: 20230301183438774 myfield: -revision: 0 tags: ActionWidgets Widgets title: ActionListopsWidget type: text/vnd.tiddlywiki -\define .operator-rows(filter) -<$list filter="$filter$"> -<$link>{{!!caption}} -{{!!op-purpose}} <$list filter="[all[current]tag[Common Operators]]">{{$:/core/images/done-button}} -<$list filter="[all[current]tag[Negatable Operators]]">`!` - -\end - -\define .group-heading(_) -$_$ -\end - ! Introduction The ''action-listops'' widget is an [[action widget|ActionWidgets]] that manipulates user lists in any field or data index. ActionWidgets are used within triggering widgets such as the ButtonWidget. @@ -34,9 +20,9 @@ The ''action-listops'' widget is invisible. Any content within it is ignored. |$index |Optional index of a property in a [[data tiddler|DataTiddlers]] index to be manipulated as a list | |$filter |An optional filter expression, the output of which will be saved to the field/index being manipulated | |$subfilter |An optional subfilter expression, which takes the list being manipulated as input, and saves the modified list back to the field/index being manipulated | -|$tags |An optional subfilter expression, which takes the 'tags' field of the target tiddler as input, and saves the modified list of tags back to the 'tags' field | +|$tags |An optional subfilter expression, which takes the <<.field tags>> field of the target tiddler as input, and saves the modified list of tags back to the <<.field tags>> field | -! $filter vs. $subfilter +!! Using $filter or $subfilter Standalone use of the `$subfilter` attribute can be replaced by using a (more complicated) `$filter` attribute value. @@ -49,12 +35,12 @@ For example, the items "abc" and "123" can be appended to the field `myfield` us The same can be achieved using the `$filter` attribute and prepending the [[Filter Run]] `[all[current]get[myfield]enlist-input[]]` to the [[Filter Expression]]: ``` -<$action-listops $field="myfield" $filter="[all[current]get[myfield]enlist-input[]] abc 123"/> +<$action-listops $field="myfield" $filter="[enlist{!!myfield}] abc 123"/> ``` The short form is more convenient, but the long form is useful for live-debugging complicated `$subfilter` values using the filter tab of [[$:/AdvancedSearch]]. By using [[$:/AdvancedSearch]], the [[Filter Expression]] can be tested before using ''action-listops'' to modify actual tiddler fields. For this use case, the `all[current]` portion of the expression needs to be changed to select the proper test tiddler. -! $tags vs. $field + $subfilter +!! Using $tags or $subfilter [[Tagging]] is implemented using a tiddler's 'tags' field, so appending the tags "abc" and "123" using the `$tags` attribute like this: @@ -68,110 +54,53 @@ is mostly equivalent to using `$subfilter` along with "tags" for the value of `$ <$action-listops $field="tags" $subfilter="abc 123"/> ``` -! $action-listops widget vs. $action-setfield widget +!! Comparison to [[ActionSetFieldWidget]] -The ActionSetFieldWidget replaces a field's value using `$field`/`$value` attributes. A single ActionSetFieldWidget can be used to set any number of fields by using attributes not starting with $. +In general, ActionSetFieldWidget is better for setting multiple fields at once and for replacing the value of a field, which can also be a list. The ActionListopsWidget is better for modifying a list field based on the existing list and for using a [[Filter Expression]] to derive the value of the field. -The ActionListopsWidget replaces or modifies a single field's value. The new value is generated using filters. +The ~ActionSetFieldWidget sets the value of a field using `$field` and `$value` attribute pairs or attributes that do not start with a `$`. A single ~ActionSetFieldWidget can be used to set any number of fields of a single tiddler. -The following two examples are functionally equivalent: +The ~ActionListopsWidget replaces or modifies a single field's value using filter expressions. + +The following widgets are functionally equivalent: ``` <$action-setfield $field="myfield" $value="abc 123"/> -``` - -``` +<$action-setfield myfield="abc 123"/> <$action-listops $field="myfield" $filter="abc 123"/> ``` +Note that <<.value "abc 123">> in the first two cases is a literal string that is assigned to the field <<.field myfield>>, but in the third case a filter expression which evaluates to the same string. -In general, ActionSetFieldWidget is better for setting multiple fields at once and for replacing a field's value. The ActionListopsWidget is better for modifying a field based on the field's existing value and for using a [[Filter Expression]] to derive the value. +!! Extended Filter Operators -! Extended Filter Operators +A number of [[Extended Listops Filters]] are necessary for the manipulation of lists. These operators have been designed primarily for use in subfilter expressions whereby the modified current list is returned in place of the current list. -A number of [[extended filter operators|The Extended Listops Filters]] are necessary for the manipulation of lists. These operators have been designed primarily for use in subfilter expressions whereby the modified current list is returned in place of the current list. +!! Notes on de-duplication - -<<.group-heading "Listops Operators">> - - - - - -<<.operator-rows "[tag[Filter Operators]tag[Listops Operators]tag[Order Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">> -
OperatorPurpose
+In some cases, there may occur unexpected de-duplication of lists. -! Examples +!!! Assignments to the <<.field list>> field -In this example we shall populate and then clear a list in an ordinary field (myfield) of this tiddler (the default.) +When assigning filter results to the <<.field list>> field (default), the generated list is automatically de-duplicated, so + +``` +<$action-listops $filter="[[1]] :and[[1]]"/> +``` +will result in the <<.field list>> field of the current tiddler containing the string <<.value 1>>, but not <<.value "1 1">>. + +!!! Input to the subfilter expression + +The input to the subfilter expression in the `$subfilter` attribute is also de-duplicated. If you rely on lists containing duplicates, consider using this alternative using the `$filter` attribute: <$macrocall $name='wikitext-example-without-html' src="""<$button> -<$action-listops $field="myfield" $subfilter="efg hlm pqr"/> -Populate 'myfield' - -<$button> -<$action-listops $field="myfield" $subfilter="abc xyz"/> -Append More Items - -<$button> -<$action-listops $field="myfield" $subfilter="-abc -hlm"/> -Remove Items - -<$button> -<$action-listops $field="myfield" $filter="[[]]"/> -Clear 'myfield' +<$action-listops $field="myfield" $filter="[enlist:raw{!!myfield}] :all[[abc]]" /> +Add 'abc' to 'myfield' -<$list filter="[list[!!myfield]]"> +<$list filter="[enlist:raw{!!myfield}]" template="$:/core/ui/ListItemTemplate" /> +"""/> +The [[enlist Operator]] with `raw` suffix will enlist the list saved in <<.field myfield>> of the current tiddler without de-duplication, while e.g. the [[list Operator]] will always de-duplicate. The widget then adds the item <<.value abc>> -- whether or not it is already included in the list -- and replaces the original list in <<.field myfield>>. -"""/> ---- -In this example we shall append and remove items from a list in an ordinary field (myfield) of this tiddler (the default) and sort the resultant list. We shall then remove some of the appended items and sort the resulting list in reverse order. - -<$macrocall $name='wikitext-example-without-html' -src="""<$button> -<$action-listops $field="myfield" $subfilter="-efg ijk xyz [[this is a title]] +[sort[]]"/> -Mangle List - -<$button> -<$action-listops $field="myfield" $subfilter="-xyz -[[this is a title]] +[!sort[]]"/> -Unmangle List - - -<$list filter="[list[!!myfield]]"> - -"""/> - ---- -In this example we shall append a few tags to the 'tags' field of this tiddler (the default.) We shall then remove some of the appended tags. - -<$macrocall $name='wikitext-example-without-html' -src="""<$button> -<$action-listops $tags="+[append{Days of the Week!!short}] $:/tag1 $:/tag2 $:/tag3"/> -Populate 'tags' - -<$button> -<$action-listops $tags="+[!remove:2{!!tags}]"/> -Remove Last Two Tags - -<$button> -<$action-listops $tags="+[!prefix[$:/]]"/> -Remove System Tags - -<$button> -<$action-listops $tags="-Mon -Tue"/> -Remove Mon and Tue - -<$button> -<$action-listops $tags="+[prefix[$:/]] ActionWidgets Widgets"/> -Remove User Tags - -<$button> -<$action-listops $tags="+[[]] ActionWidgets Widgets"/> -Clear Tags - - -<$list filter="[list[!!tags]]"> - -"""/> +! [[Examples|ActionListopsWidget (Examples)]] diff --git a/editions/tw5.com/tiddlers/widgets/Extended Listops Filters.tid b/editions/tw5.com/tiddlers/widgets/Extended Listops Filters.tid new file mode 100644 index 000000000..4d11b4590 --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/Extended Listops Filters.tid @@ -0,0 +1,138 @@ +created: 20151014170727812 +days: Fri Wed Mon Tue +dofwks: Mon Tue Wed Thu Fri Sat Sun +item1: six +item2: seven +item3: eight +list: Yesterday Today Tomorrow +marker: Thursday +modified: 20230227175501965 +myfield: Monday Tuesday [[Middle of the Week]] Thursday Friday Saturday Sunday +numbers: 1 2 3 4 five 6 7 8 9 +tags: Filters +title: Extended Listops Filters + +\define .operator-rows(filter) +<$list filter="$filter$"> +<$link>{{!!caption}} +{{!!op-purpose}} +<$list filter="[all[current]tag[Common Operators]]">✓ +<$list filter="[all[current]tag[Negatable Operators]]">`!` + +\end + +\define .group-heading(_) +$_$ +\end + +! Introduction + +A number of filters are used to manipulate lists. + +Some filters are designed to move items from the tail of the list and insert them at specified locations in the list, e.g. [[putafter|putafter Operator]] or [[putbefore|putbefore Operator]]. Items are often appended to the list before using these filters. In general, these filters accept a suffix specifying the number of items to move (default to 1.) + +Some filters are designed to either add or remove from the list, a selected range of items from an array, e.g. [[append|append Operator]] or [[remove|remove Operator]]. These filters are best used with a reference to an array, stored in a field or data index elsewhere in the wiki (they may be used with a simple list of items, provided the items do not include white space.) In general, these filters accept a suffix specifying the number of items to move (default to All.) + + +<<.group-heading "Listops Operators">> + + + + + + +<<.operator-rows "[tag[Filter Operators]tag[Listops Operators]tag[Order Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">> +
OperatorPurpose`!`
+ +! Examples + +In this example we shall populate the '~DataIndex' index of the tiddler '~MyData' with the names of the days of the week, then clear this list. + +<$macrocall $name='wikitext-example-without-html' +src="""<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[list[Days of the Week]]"/> +Get days-of-the-week + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[[]]"/> +Clear + + +{{ListopsData}}"""/> + +--- +In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to insert items before and after a marker item (Wednesday) that are first appended to the list. + +<$macrocall $name='wikitext-example-without-html' +src="""<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="one two +[putbefore:2[Wednesday]]"/> +Put 2 Items Before Wednesday + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="four five +[putafter:2[Wednesday]] three +[putbefore[Wednesday]]"/> +Put One Item Before & Two Items After Wednesday + + +{{ListopsData}}"""/> + +--- +In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to replace the marker item (Wednesday) with items which are first appended to the list. We shall then move 3 items to the head of the list which have first been appended to the list from referenced fields. + +<$macrocall $name='wikitext-example-without-html' +src="""<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="[[---o]] [[o---]] +[replace:2{!!marker}]"/> +Replace '!!marker' with 2 Items + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="[{!!item1}] [{!!item2}] [{!!item3}] +[putfirst:3[]]"/> +Put 3 Items First + + +{{ListopsData}}"""/> + +--- +In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to append to the truncated list, items from a referenced field. We shall then remove the first two of the items added. + +<$macrocall $name='wikitext-example-without-html' +src="""|list: |<$view field="list"/> | + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[allbefore:include[Wednesday]] +[prepend{!!list}]"/> +Prepend '!!list' to items before 'Wednesday' + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[remove:2{!!list}]"/> +Remove first two items in '!!list' from current list + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[!remove:1{!!list}]"/> +Remove last item in '!!list' from current list + + +{{ListopsData}}"""/> + +--- +In this example we shall populate the list with numbers, then move items one by one from the head to the tail and from the tail to the head (best seen by clicking the lower buttons several times.) + +This example illustrates that the append[] and prepend[] operators do not enforce unique instances of an item and that, with the next run, any duplicates are removed. + +<$macrocall $name='wikitext-example-without-html' +src="""<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[[]]" $subfilter="+[append:3{!!numbers}]"/> +Setup some numbers + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[!append:6{!!numbers}]"/> +Append more numbers + + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[putfirst:2[]]"/> +Move last 2 items to the head + +<$button> +<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[putlast[]]"/> +Move the head to the last item + + +{{ListopsData}}"""/> diff --git a/editions/tw5.com/tiddlers/widgets/The Extended Listops Filters.tid b/editions/tw5.com/tiddlers/widgets/The Extended Listops Filters.tid index 7e51f4c8c..86b821deb 100644 --- a/editions/tw5.com/tiddlers/widgets/The Extended Listops Filters.tid +++ b/editions/tw5.com/tiddlers/widgets/The Extended Listops Filters.tid @@ -1,114 +1,5 @@ -created: 20151014170727812 -days: Fri Wed Mon Tue -dofwks: Mon Tue Wed Thu Fri Sat Sun -item1: six -item2: seven -item3: eight -list: Yesterday Today Tomorrow -marker: Thursday -modified: 20211114011103356 -myfield: Monday Tuesday [[Middle of the Week]] Thursday Friday Saturday Sunday -numbers: 1 2 3 4 five 6 7 8 9 -tags: Filters +created: 20230301172832597 +modified: 20230301172832597 title: The Extended Listops Filters -! Introduction - -A number of extended filters are necessary to manipulate lists. - -The first set of filters are designed to move items from the tail of the list and insert them at specified locations in the list. Items are often appended to the list before using these filters. In general, these filters accept a suffix specifying the number of items to move (default to 1.) - -A second set of filters are designed to either add or remove from the list, a selected range of items from an array. These filters are best used with a reference to an array, stored in a field or data index elsewhere in the wiki (they may be used with a simple list of items, provided the items do not include white space.) In general, these filters accept a suffix specifying the number of items to move (default to All.) - -! Examples - -In this example we shall populate the '~DataIndex' index of the tiddler '~MyData' with the names of the days of the week, then clear this list. - -<$macrocall $name='wikitext-example-without-html' -src="""<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[list[Days of the Week]]"/> -Get days-of-the-week - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[[]]"/> -Clear - - -{{ListopsData}}"""/> - ---- -In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to insert items before and after a marker item (Wednesday) that are first appended to the list. - -<$macrocall $name='wikitext-example-without-html' -src="""<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="one two +[putbefore:2[Wednesday]]"/> -Put 2 Items Before Wednesday - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="four five +[putafter:2[Wednesday]] three +[putbefore[Wednesday]]"/> -Put One Item Before & Two Items After Wednesday - - -{{ListopsData}}"""/> - ---- -In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to replace the marker item (Wednesday) with items which are first appended to the list. We shall then move 3 items to the head of the list which have first been appended to the list from referenced fields. - -<$macrocall $name='wikitext-example-without-html' -src="""<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="[[---o]] [[o---]] +[replace:2{!!marker}]"/> -Replace '!!marker' with 2 Items - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="[{!!item1}] [{!!item2}] [{!!item3}] +[putfirst:3[]]"/> -Put 3 Items First - - -{{ListopsData}}"""/> - ---- -In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to append to the truncated list, items from a referenced field. We shall then remove the first two of the items added. - -<$macrocall $name='wikitext-example-without-html' -src="""|list: |<$view field="list"/> | - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[allbefore:include[Wednesday]] +[prepend{!!list}]"/> -Prepend '!!list' to items before 'Wednesday' - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[remove:2{!!list}]"/> -Remove first two items in '!!list' from current list - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[!remove:1{!!list}]"/> -Remove last item in '!!list' from current list - - -{{ListopsData}}"""/> - ---- -In this example we shall populate the list with numbers, then move items one by one from the head to the tail and from the tail to the head (best seen by clicking the lower buttons several times.) - -This example illustrates that the append[] and prepend[] operators do not enforce unique instances of an item and that, with the next run, any duplicates are removed. - -<$macrocall $name='wikitext-example-without-html' -src="""<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[[]]" $subfilter="+[append:3{!!numbers}]"/> -Setup some numbers - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[!append:6{!!numbers}]"/> -Append more numbers - - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[putfirst:2[]]"/> -Move last 2 items to the head - -<$button> -<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[putlast[]]"/> -Move the head to the last item - - -{{ListopsData}}"""/> +See [[Extended Listops Filters]] \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/widgets/examples/ActionListopsWidget (Examples).tid b/editions/tw5.com/tiddlers/widgets/examples/ActionListopsWidget (Examples).tid new file mode 100644 index 000000000..8f8fe8a87 --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/examples/ActionListopsWidget (Examples).tid @@ -0,0 +1,81 @@ +created: 20230301174431218 +list: efg hlm pqr +modified: 20230301174431218 +myfield: +revision: 0 +title: ActionListopsWidget (Examples) +type: text/vnd.tiddlywiki + +In this example we shall populate and then clear a list in an ordinary field (myfield) of this tiddler (the default). + +<$macrocall $name='wikitext-example-without-html' +src="""<$button> +<$action-listops $field="myfield" $filter="efg hlm pqr"/> +Populate 'myfield' + +<$button> +<$action-listops $field="myfield" $subfilter="abc xyz"/> +Append More Items + +<$button> +<$action-listops $field="myfield" $subfilter="-abc -hlm"/> +Remove Items + +<$button> +<$action-listops $field="myfield" $filter="[[]]"/> +Clear 'myfield' + + +<$list filter="[list[!!myfield]]"> + +"""/> + +--- +In this example we shall append and remove items from a list in an ordinary field (myfield) of this tiddler (the default) and sort the resultant list. We shall then remove some of the appended items and sort the resulting list in reverse order. + +<$macrocall $name='wikitext-example-without-html' +src="""<$button> +<$action-listops $field="myfield" $subfilter="-efg ijk xyz [[this is a title]] +[sort[]]"/> +Mangle List + +<$button> +<$action-listops $field="myfield" $subfilter="-xyz -[[this is a title]] +[!sort[]]"/> +Unmangle List + + +<$list filter="[list[!!myfield]]"> + +"""/> + +--- +In this example we shall append a few tags to the 'tags' field of this tiddler (the default). We shall then remove some of the appended tags. + +<$macrocall $name='wikitext-example-without-html' +src="""<$button> +<$action-listops $tags="+[append{Days of the Week!!short}] $:/tag1 $:/tag2 $:/tag3"/> +Populate 'tags' + +<$button> +<$action-listops $tags="+[!remove:2{!!tags}]"/> +Remove Last Two Tags + +<$button> +<$action-listops $tags="+[!prefix[$:/]]"/> +Remove System Tags + +<$button> +<$action-listops $tags="-Mon -Tue"/> +Remove Mon and Tue + +<$button> +<$action-listops $tags="+[prefix[$:/]] ActionWidgets Widgets"/> +Remove User Tags + +<$button> +<$action-listops $tags="+[[]] ActionWidgets Widgets"/> +Clear Tags + + +<$list filter="[list[!!tags]]"> + +"""/> From 11ffc83493a4ef2d815dbe50662010bbc50be461 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Sat, 4 Mar 2023 21:16:26 +0000 Subject: [PATCH 34/83] Introduce new levenshtein, makepatches, applypatches operators (#7290) * Initial Commit * Fix crash with invalid patches See https://github.com/Jermolene/TiddlyWiki5/pull/7290#issuecomment-1453155311 Thanks @yaisog * Add words and lines options to makepatches (#7326) * Prevent infinite loop for single-word texts (#7327) * Add docs and examples for the new operators (#7328) * Create makepatches Operator.tid * Improve wording * Doc and examples for the new operators --------- Co-authored-by: yaisog --- core/modules/filters/strings.js | 109 +++++++++++++++++- .../tests/data/filters/DiffMergePatch1.tid | 28 +++++ .../tests/data/filters/DiffMergePatch2.tid | 25 ++++ .../tests/data/filters/DiffMergePatch3.tid | 22 ++++ editions/test/tiddlers/tests/test-filters.js | 14 +++ .../filters/applypatches Operator.tid | 15 +++ .../tiddlers/filters/examples/Hamlet.tid | 11 ++ .../levenshtein Operator (Examples).tid | 21 ++++ ...s and applypatches Operator (Examples).tid | 43 +++++++ .../tiddlers/filters/levenshtein Operator.tid | 17 +++ .../tiddlers/filters/makepatches Operator.tid | 23 ++++ .../tw5.com/tiddlers/system/doc-styles.tid | 4 + 12 files changed, 331 insertions(+), 1 deletion(-) create mode 100644 editions/test/tiddlers/tests/data/filters/DiffMergePatch1.tid create mode 100644 editions/test/tiddlers/tests/data/filters/DiffMergePatch2.tid create mode 100644 editions/test/tiddlers/tests/data/filters/DiffMergePatch3.tid create mode 100644 editions/tw5.com/tiddlers/filters/applypatches Operator.tid create mode 100644 editions/tw5.com/tiddlers/filters/examples/Hamlet.tid create mode 100644 editions/tw5.com/tiddlers/filters/examples/levenshtein Operator (Examples).tid create mode 100644 editions/tw5.com/tiddlers/filters/examples/makepatches and applypatches Operator (Examples).tid create mode 100644 editions/tw5.com/tiddlers/filters/levenshtein Operator.tid create mode 100644 editions/tw5.com/tiddlers/filters/makepatches Operator.tid diff --git a/core/modules/filters/strings.js b/core/modules/filters/strings.js index 60a36265d..4a3c7c170 100644 --- a/core/modules/filters/strings.js +++ b/core/modules/filters/strings.js @@ -74,6 +74,113 @@ exports.join = makeStringReducingOperator( },null ); +var dmp = require("$:/core/modules/utils/diff-match-patch/diff_match_patch.js"); + +exports.levenshtein = makeStringBinaryOperator( + function(a,b) { + var dmpObject = new dmp.diff_match_patch(), + diffs = dmpObject.diff_main(a,b); + return [dmpObject.diff_levenshtein(diffs) + ""]; + } +); + +// these two functions are adapted from https://github.com/google/diff-match-patch/wiki/Line-or-Word-Diffs +function diffLineWordMode(text1,text2,mode) { + var dmpObject = new dmp.diff_match_patch(); + var a = diffPartsToChars(text1,text2,mode); + var lineText1 = a.chars1; + var lineText2 = a.chars2; + var lineArray = a.lineArray; + var diffs = dmpObject.diff_main(lineText1,lineText2,false); + dmpObject.diff_charsToLines_(diffs,lineArray); + return diffs; +} + +function diffPartsToChars(text1,text2,mode) { + var lineArray = []; + var lineHash = {}; + lineArray[0] = ''; + + function diff_linesToPartsMunge_(text,mode) { + var chars = ''; + var lineStart = 0; + var lineEnd = -1; + var lineArrayLength = lineArray.length, + regexpResult; + const searchRegexp = /\W+/g; + while(lineEnd < text.length - 1) { + if(mode === "words") { + regexpResult = searchRegexp.exec(text); + lineEnd = searchRegexp.lastIndex; + if(regexpResult === null) { + lineEnd = text.length; + } + lineEnd = --lineEnd; + } else { + lineEnd = text.indexOf('\n', lineStart); + if(lineEnd == -1) { + lineEnd = text.length - 1; + } + } + var line = text.substring(lineStart, lineEnd + 1); + + if(lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) : (lineHash[line] !== undefined)) { + chars += String.fromCharCode(lineHash[line]); + } else { + if (lineArrayLength == maxLines) { + line = text.substring(lineStart); + lineEnd = text.length; + } + chars += String.fromCharCode(lineArrayLength); + lineHash[line] = lineArrayLength; + lineArray[lineArrayLength++] = line; + } + lineStart = lineEnd + 1; + } + return chars; + } + var maxLines = 40000; + var chars1 = diff_linesToPartsMunge_(text1,mode); + maxLines = 65535; + var chars2 = diff_linesToPartsMunge_(text2,mode); + return {chars1: chars1, chars2: chars2, lineArray: lineArray}; +}; + +exports.makepatches = function(source,operator,options) { + var dmpObject = new dmp.diff_match_patch(), + suffix = operator.suffix || "", + result = []; + + source(function(tiddler,title) { + var diffs, patches; + if(suffix === "lines" || suffix === "words") { + diffs = diffLineWordMode(title,operator.operand,suffix); + patches = dmpObject.patch_make(title,diffs); + } else { + patches = dmpObject.patch_make(title,operator.operand); + } + Array.prototype.push.apply(result,[dmpObject.patch_toText(patches)]); + }); + + return result; +}; + +exports.applypatches = makeStringBinaryOperator( + function(a,b) { + var dmpObject = new dmp.diff_match_patch(), + patches; + try { + patches = dmpObject.patch_fromText(b); + } catch(e) { + } + if(patches) { + return [dmpObject.patch_apply(patches,a)[0]]; + } else { + return [a]; + } + } +); + function makeStringBinaryOperator(fnCalc) { return function(source,operator,options) { var result = []; @@ -184,4 +291,4 @@ exports.charcode = function(source,operator,options) { return [chars.join("")]; }; -})(); +})(); \ No newline at end of file diff --git a/editions/test/tiddlers/tests/data/filters/DiffMergePatch1.tid b/editions/test/tiddlers/tests/data/filters/DiffMergePatch1.tid new file mode 100644 index 000000000..e6e519df5 --- /dev/null +++ b/editions/test/tiddlers/tests/data/filters/DiffMergePatch1.tid @@ -0,0 +1,28 @@ +title: Filters/DiffMergePatch1 +description: Tests for diff-merge-patch derived operators +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +\whitespace trim +\define text1() +the cat sat on the mat +\end + +\define text2() +the hat saw in every category +\end + +<$text text={{{ [makepatches] }}}/> ++ +title: ExpectedResult + +

@@ -1,22 +1,29 @@ + the +-c ++h + at sa +-t on the mat ++w in every category +

\ No newline at end of file diff --git a/editions/test/tiddlers/tests/data/filters/DiffMergePatch2.tid b/editions/test/tiddlers/tests/data/filters/DiffMergePatch2.tid new file mode 100644 index 000000000..1fa355573 --- /dev/null +++ b/editions/test/tiddlers/tests/data/filters/DiffMergePatch2.tid @@ -0,0 +1,25 @@ +title: Filters/DiffMergePatch2 +description: Tests for diff-merge-patch derived operators +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +\whitespace trim +\define text1() +the cat sat on the mat +\end + +\define text2() +the hat saw in every category +\end + +<$let patches={{{ [makepatches] }}}> + +<$text text={{{ [applypatches] }}}/> + + ++ +title: ExpectedResult + +the hat saw in every category \ No newline at end of file diff --git a/editions/test/tiddlers/tests/data/filters/DiffMergePatch3.tid b/editions/test/tiddlers/tests/data/filters/DiffMergePatch3.tid new file mode 100644 index 000000000..87d98e890 --- /dev/null +++ b/editions/test/tiddlers/tests/data/filters/DiffMergePatch3.tid @@ -0,0 +1,22 @@ +title: Filters/DiffMergePatch3 +description: Tests for diff-merge-patch derived operators +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +\whitespace trim +\define text1() +the cat sat on the mat +\end + +\define patches() +**NOT A VALID PATCH** +\end + +<$text text={{{ [applypatches] }}}/> + ++ +title: ExpectedResult + +the cat sat on the mat \ No newline at end of file diff --git a/editions/test/tiddlers/tests/test-filters.js b/editions/test/tiddlers/tests/test-filters.js index 2e5d45d22..2a9080de5 100644 --- a/editions/test/tiddlers/tests/test-filters.js +++ b/editions/test/tiddlers/tests/test-filters.js @@ -1071,6 +1071,20 @@ Tests the filtering mechanism. expect(wiki.filterTiddlers("[charcode[9],[10]]").join(" ")).toBe(String.fromCharCode(9) + String.fromCharCode(10)); expect(wiki.filterTiddlers("[charcode[]]").join(" ")).toBe(""); }); + + it("should handle the levenshtein operator", function() { + expect(wiki.filterTiddlers("[[apple]levenshtein[apple]]").join(" ")).toBe("0"); + expect(wiki.filterTiddlers("[[apple]levenshtein[banana]]").join(" ")).toBe("9"); + expect(wiki.filterTiddlers("[[representation]levenshtein[misreprehensionisation]]").join(" ")).toBe("10"); + expect(wiki.filterTiddlers("[[the cat sat on the mat]levenshtein[the hat saw in every category]]").join(" ")).toBe("13"); + }); + + it("should handle the makepatches operator", function() { + expect(wiki.filterTiddlers("[[apple]makepatches[apple]]").join(" ")).toBe(""); + expect(wiki.filterTiddlers("[[apple]makepatches[banana]]").join(" ")).toBe("@@ -1,5 +1,6 @@\n-apple\n+banana\n"); + expect(wiki.filterTiddlers("[[representation]makepatches[misreprehensionisation]]").join(" ")).toBe("@@ -1,13 +1,21 @@\n+mis\n repre\n-sent\n+hensionis\n atio\n"); + expect(wiki.filterTiddlers("[[the cat sat on the mat]makepatches[the hat saw in every category]]").join(" ")).toBe("@@ -1,22 +1,29 @@\n the \n-c\n+h\n at sa\n-t on the mat\n+w in every category\n"); + }); it("should parse filter variable parameters", function(){ expect($tw.utils.parseFilterVariable("currentTiddler")).toEqual( diff --git a/editions/tw5.com/tiddlers/filters/applypatches Operator.tid b/editions/tw5.com/tiddlers/filters/applypatches Operator.tid new file mode 100644 index 000000000..93bb0258c --- /dev/null +++ b/editions/tw5.com/tiddlers/filters/applypatches Operator.tid @@ -0,0 +1,15 @@ +caption: applypatches +created: 20230304154824762 +modified: 20230304154826621 +op-purpose: applies a set of patches to transform the input +op-input: a [[selection of titles|Title Selection]] +op-parameter: a string containing patches from the [[makepatches Operator]] +op-parameter-name: P +op-output: the transformed input to which the patches <<.place P>> have been applied +tags: [[Filter Operators]] [[String Operators]] +title: applypatches Operator +type: text/vnd.tiddlywiki + +<<.from-version "5.2.6">> + +<<.operator-examples "makepatches and applypatches">> diff --git a/editions/tw5.com/tiddlers/filters/examples/Hamlet.tid b/editions/tw5.com/tiddlers/filters/examples/Hamlet.tid new file mode 100644 index 000000000..da209b035 --- /dev/null +++ b/editions/tw5.com/tiddlers/filters/examples/Hamlet.tid @@ -0,0 +1,11 @@ +created: 20230304161453213 +modified: 20230304162156826 +tags: [[Operator Examples]] +title: Hamlet +type: application/json + +{ + "Shakespeare-old": "Hamlet: Do you see yonder cloud that's almost in shape of a camel?\nPolonius: By the mass, and 'tis like a camel, indeed.\nHamlet: Methinks it is like a weasel.\nPolonius: It is backed like a weasel.\nHamlet: Or like a whale?\nPolonius: Very like a whale.\n-- Shakespeare", + "Shakespeare-new": "Hamlet: Do you see the cloud over there that's almost the shape of a camel?\nPolonius: By golly, it is like a camel, indeed.\nHamlet: I think it looks like a weasel.\nPolonius: It is shaped like a weasel.\nHamlet: Or like a whale?\nPolonius: It's totally like a whale.\n-- Shakespeare", + "Trekkie-old": "Kirk: Do you see yonder cloud that's almost in shape of a Klingon?\nSpock: By the mass, and 'tis like a Klingon, indeed.\nKirk: Methinks it is like a Vulcan.\nSpock: It is backed like a Vulcan.\nKirk: Or like a Romulan?\nSpock: Very like a Romulan.\n-- Trekkie" +} \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/examples/levenshtein Operator (Examples).tid b/editions/tw5.com/tiddlers/filters/examples/levenshtein Operator (Examples).tid new file mode 100644 index 000000000..b5049e49c --- /dev/null +++ b/editions/tw5.com/tiddlers/filters/examples/levenshtein Operator (Examples).tid @@ -0,0 +1,21 @@ +created: 20230304183158728 +modified: 20230304183159654 +tags: [[levenshtein Operator]] [[Operator Examples]] +title: levenshtein Operator (Examples) +type: text/vnd.tiddlywiki + +Determine the Levenshtein distance between two words: + +<<.operator-example 1 "[[motel]levenshtein[money]]">> + +List the 10 tiddler titles with the smallest Levenstein distance to "~TiddlyWiki": + +<$macrocall $name='wikitext-example-without-html' +src="""
    +<$list filter="[all[tiddlers]!is[system]] :sort:number[levenshtein[TiddlyWiki]] :and[first[10]]"> +
  • +<$link /> (<$text text={{{ [all[current]levenshtein[TiddlyWiki]] }}} />) +
  • + +
+"""/> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/examples/makepatches and applypatches Operator (Examples).tid b/editions/tw5.com/tiddlers/filters/examples/makepatches and applypatches Operator (Examples).tid new file mode 100644 index 000000000..a9dd38d6e --- /dev/null +++ b/editions/tw5.com/tiddlers/filters/examples/makepatches and applypatches Operator (Examples).tid @@ -0,0 +1,43 @@ +created: 20230304160331362 +modified: 20230304160332927 +tags: [[makepatches Operator]] [[applypatches Operator]] [[Operator Examples]] +title: makepatches and applypatches Operator (Examples) +type: text/vnd.tiddlywiki + +These examples use the example texts in [[Hamlet]], taken from [[https://neil.fraser.name/software/diff_match_patch/demos/patch.html]] + +|^!Shakespeare's original |@@white-space: pre-wrap;{{Hamlet##Shakespeare-old}}@@ | +|^!Modern English |@@white-space: pre-wrap;{{Hamlet##Shakespeare-new}}@@ | +|^!Trekkie's Copy |@@white-space: pre-wrap;{{Hamlet##Trekkie-old}}@@ | + +
+ +Use `makepatches` to generate the set of patches to transform Shakepeare's original into Modern English: + +<<.operator-example 1 "[{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}]">> + +Use `applypatches` to apply the patches to Shakespeare's original text: + +<<.operator-example 2 "[{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}] :map[{Hamlet##Shakespeare-old}applypatches]">> + +In the above example, the [[Map Filter Run Prefix]] is used to pass the patches information as a parameter to `applypatches`. Inside `:map`, <<.value currentTiddler>> is set to the input title (i.e. the previously generated patches). + +The patch information from the Shakepeare texts can also be used to transform the //Trekkie's Copy// to a Modern English version: + +<<.operator-example 3 "[{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches]">> + +The above examples used the character mode of `makepatches`. The `word` mode yields very similar results in this case, even when applied to the //Trekkie's Copy//. + +<<.operator-example 4 "[{Hamlet##Shakespeare-old}makepatches:words{Hamlet##Shakespeare-new}]">> + +<<.operator-example 5 "[{Hamlet##Shakespeare-old}makepatches:words{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches]">> + +The `lines` mode doesn't work as well in this application: + +<<.operator-example 6 "[{Hamlet##Shakespeare-old}makepatches:lines{Hamlet##Shakespeare-new}]">> + +<<.operator-example 7 "[{Hamlet##Shakespeare-old}makepatches:lines{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches]">> + +It is better suited as a very fast algorithm to detect line-wise incremental changes to texts and store only the changes instead of multiple versions of the whole texts. + +
\ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/levenshtein Operator.tid b/editions/tw5.com/tiddlers/filters/levenshtein Operator.tid new file mode 100644 index 000000000..7abc3e4dd --- /dev/null +++ b/editions/tw5.com/tiddlers/filters/levenshtein Operator.tid @@ -0,0 +1,17 @@ +caption: levenshtein +created: 20230304181639768 +modified: 20230304181642365 +op-purpose: determine the Levenshtein distance of the input title(s) and a given string +op-input: a [[selection of titles|Title Selection]] +op-parameter: a string +op-parameter-name: S +op-output: the Levenshtein distance between the input title(s) and <<.place S>> +tags: [[Filter Operators]] [[String Operators]] +title: levenshtein Operator +type: text/vnd.tiddlywiki + +<<.from-version "5.2.6">> + +The Levenshtein distance is a metric for measuring the difference between two strings. Informally, the Levenshtein distance between two strings is the //minimum// number of single-character edits required to change one string into the other. + +<<.operator-examples "levenshtein">> diff --git a/editions/tw5.com/tiddlers/filters/makepatches Operator.tid b/editions/tw5.com/tiddlers/filters/makepatches Operator.tid new file mode 100644 index 000000000..c59284e22 --- /dev/null +++ b/editions/tw5.com/tiddlers/filters/makepatches Operator.tid @@ -0,0 +1,23 @@ +caption: makepatches +created: 20230304122354967 +modified: 20230304122400128 +op-purpose: returns a set of patches that transform the input to a given string +op-input: a [[selection of titles|Title Selection]] +op-parameter: a string of characters +op-parameter-name: S +op-output: a set of patch instructions per input title to be used by the [[applypatches Operator]] to transform the input title(s) into the string <<.place S>> +op-suffix: `lines` to operate in line mode, `words` to operate in word mode. If omitted (default), the algorithm operates in character mode. See notes below. +op-suffix-name: T +tags: [[Filter Operators]] [[String Operators]] +title: makepatches Operator +type: text/vnd.tiddlywiki + +<<.from-version "5.2.6">> + +The difference algorithm operates in character mode by default. This produces the most detailed diff possible. In `words` mode, each word in the input text is transformed into a meta-character, upon which the algorithm then operates. In the default character mode, the filter would find two patches between "ActionWidget" and "Action-Widgets" (the hyphen and the plural s), while in `words` mode, the whole word is found to be changed. In `lines` mode, the meta-character is formed from the whole line, delimited by newline characters, and is found to be changed independent of the number of changes within the line. + +The different modes influence the result when the patches are applied to texts other than the original, as well as the runtime. + +<<.tip "The calculation in `words` mode is roughly 10 times faster than the default character mode, while `lines` mode can be more than 100 times faster than the default.">> + +<<.operator-examples "makepatches and applypatches">> diff --git a/editions/tw5.com/tiddlers/system/doc-styles.tid b/editions/tw5.com/tiddlers/system/doc-styles.tid index b6d8eeee8..db6f71d81 100644 --- a/editions/tw5.com/tiddlers/system/doc-styles.tid +++ b/editions/tw5.com/tiddlers/system/doc-styles.tid @@ -133,6 +133,10 @@ td svg { padding-left: 20px; } +.doc-examples-hard-breaks .doc-example-result li { + white-space: pre-wrap; +} + .doc-bad-example code, .doc-bad-example pre, table.doc-bad-example { background-color:#ffff80; } From f9604c40d3efa83ddf29c23ca470f5843b5da9de Mon Sep 17 00:00:00 2001 From: cdruan <80615570+cdruan@users.noreply.github.com> Date: Sun, 5 Mar 2023 02:34:41 -0800 Subject: [PATCH 35/83] Add wikiparser.js dependency (#7330) --- plugins/tiddlywiki/markdown/wrapper.js | 30 ++++++++++++-------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/plugins/tiddlywiki/markdown/wrapper.js b/plugins/tiddlywiki/markdown/wrapper.js index cceb39138..98c5c2ae3 100755 --- a/plugins/tiddlywiki/markdown/wrapper.js +++ b/plugins/tiddlywiki/markdown/wrapper.js @@ -6,17 +6,13 @@ module-type: parser Wraps up the markdown-it parser for use as a Parser in TiddlyWiki \*/ -(function(realRequire){ +(function(){ /*jslint node: true, browser: true */ /*global $tw: false */ "use strict"; -var require = function(m) { - return realRequire("$:/plugins/tiddlywiki/markdown/" + m + ".js"); -}; - -var MarkdownIt = require("markdown-it"); +var MarkdownIt = require("./markdown-it"); function parseAsBoolean(tiddlerName) { return $tw.wiki.getTiddlerText(tiddlerName,"false").trim().toLowerCase() === "true"; @@ -61,8 +57,10 @@ function setupWikiRules(pluginOptions) { return rulesInfo; } + var WikiParser = require("$:/core/modules/parsers/wikiparser/wikiparser.js")["text/vnd.tiddlywiki"]; + // first pass: get all rule classes - var wikiParser = new $tw.Wiki.parsers["text/vnd.tiddlywiki"](null, '', {parseAsInline: true, wiki: $tw.wiki}); + var wikiParser = new WikiParser(null, '', {parseAsInline: true, wiki: $tw.wiki}); // restore all possible rules from each rule class wikiParser.pragmaRules = collectAllRules(wikiParser.pragmaRuleClasses,'pragma'); @@ -100,12 +98,12 @@ function setupWikiRules(pluginOptions) { // Creates markdown-it parser function createMarkdownEngine(markdownItOptions, pluginOptions) { var md = new MarkdownIt(markdownItOptions) - .use(require("markdown-it-sub")) - .use(require("markdown-it-sup")) - .use(require("markdown-it-ins")) - .use(require("markdown-it-mark")) - .use(require("markdown-it-footnote")) - .use(require("markdown-it-deflist")); + .use(require("./markdown-it-sub")) + .use(require("./markdown-it-sup")) + .use(require("./markdown-it-ins")) + .use(require("./markdown-it-mark")) + .use(require("./markdown-it-footnote")) + .use(require("./markdown-it-deflist")); var results = setupWikiRules(pluginOptions); @@ -116,10 +114,10 @@ function createMarkdownEngine(markdownItOptions, pluginOptions) { MarkdownParser.prototype.inlineRules = results.inlineRules; if(pluginOptions.renderWikiText && $tw.modules.titles["$:/plugins/tiddlywiki/katex/katex.min.js"]) { - md.use(require("markdown-it-katex")); + md.use(require("./markdown-it-katex")); } - md.use(require("markdown-it-tiddlywiki"),{ + md.use(require("./markdown-it-tiddlywiki"),{ renderWikiText: pluginOptions.renderWikiText, blockRules: results.blockRules, inlineRules: results.inlineRules @@ -263,4 +261,4 @@ function MarkdownParser(type,text,options) { exports["text/markdown"] = MarkdownParser; exports["text/x-markdown"] = MarkdownParser; -})(require); +})(); From 3f478f5689d0a390651107de0bf5e8a2ea32e89a Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 5 Mar 2023 17:40:04 +0000 Subject: [PATCH 36/83] Naming tweak to #6047 @linonetwo I realised on review that we refer to boot.files as the "tiddler file info" --- plugins/tiddlywiki/filesystem/filesystemadaptor.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/tiddlywiki/filesystem/filesystemadaptor.js b/plugins/tiddlywiki/filesystem/filesystemadaptor.js index 0692fb2fe..1779855df 100644 --- a/plugins/tiddlywiki/filesystem/filesystemadaptor.js +++ b/plugins/tiddlywiki/filesystem/filesystemadaptor.js @@ -140,7 +140,7 @@ FileSystemAdaptor.prototype.deleteTiddler = function(title,callback,options) { } } // Remove the tiddler from self.boot.files & return null adaptorInfo - self.deleteTiddlerInCache(title); + self.removeTiddlerFileInfo(title); return callback(null,null); }); } else { @@ -151,8 +151,8 @@ FileSystemAdaptor.prototype.deleteTiddler = function(title,callback,options) { /* Delete a tiddler in cache, without modifying file system. */ -FileSystemAdaptor.prototype.deleteTiddlerInCache = function(title) { - // Only delete the tiddler if we have writable information for the file +FileSystemAdaptor.prototype.removeTiddlerFileInfo = function(title) { + // Only delete the tiddler info if we have writable information for the file if(this.boot.files[title]) { delete this.boot.files[title]; }; From 3764ca4760cab52ba9dbda2c94d9bf0ac610ae1b Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 5 Mar 2023 17:59:32 +0000 Subject: [PATCH 37/83] Update release note --- .../prerelease/tiddlers/Release 5.2.6.tid | 47 ++++++++++++++++--- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/editions/prerelease/tiddlers/Release 5.2.6.tid b/editions/prerelease/tiddlers/Release 5.2.6.tid index 7bccaa61c..3a6ee78fb 100644 --- a/editions/prerelease/tiddlers/Release 5.2.6.tid +++ b/editions/prerelease/tiddlers/Release 5.2.6.tid @@ -1,39 +1,55 @@ caption: 5.2.6 -created: 20230119221001957 -modified: 20230119221001957 +created: 20230304213950684 +modified: 20230304213950684 tags: ReleaseNotes title: Release 5.2.6 type: text/vnd.tiddlywiki //[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.5...master]]// +! Major Improvements + +* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7290">> three new operators exposing previously hidden features of the [[Diff-Match-Patch|https://neil.fraser.name/software/diff_match_patch]] library that is integrated with TiddlyWiki: +** new [[levenshtein Operator]] to calculate the similarity of two strings as the number of characters that need to be inserted, deleted or modified in order to turn one into the other +** new [[makepatches Operator]] and [[applypatches Operator]] that can be used to make and apply patches that represent the difference between two different texts. See the [[examples|makepatches and applypatches Operator (Examples)]] + ! Translation Improvements Improvements to the following translations: * Chinese * Italian +* Polish ! Plugin Improvements +* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7169">> integration between the [[BrowserStorage Plugin]] and the client-server configuration to allow changes to be made while offline and then later resynchronised with the server * <<.link-badge-updated "https://github.com/Jermolene/TiddlyWiki5/pull/6528">> the [[Markdown Plugin]] to use the newer and better maintained [[markdown-it|https://github.com/markdown-it/markdown-it]] library. The previous Markdown plugin remains available as "markdown-legacy" * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7176">> [[Innerwiki Plugin]] to allow the `<$data>` widget to override existing tiddler fields * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7207">>, <<.link-badge-here "https://github.com/Jermolene/TiddlyWiki5/commit/c39ef398bffae12c0ed7324d9b6d9d29f0f2f9ff">> and <<.link-badge-here "https://github.com/Jermolene/TiddlyWiki5/commit/8f7441f296351a4dd0852c3c782f8874d398e052">> problem preventing [[Share Plugin]] from working properly +* <<.link-badge-updated "https://github.com/Jermolene/TiddlyWiki5/commit/524cee1489f260375cac8cfe878fdc5942a4596e">> [[XLSX Plugin|XLSX Utilities Edition]] to handle importing numeric fields +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/81f514116657d0d567be7a4c45762a85beaa8bc0">> Dynannotate plugin crash when using the fake DOM used for static rendering +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7281">> bug where pasting text into the CodeMirror editor also opened an `$:/Import` tiddler +! Accessibility Improvements + +* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7232">> appearance of save wiki button so that it is accessible to users without colour vision ! Usability Improvements * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7217">> consistency of tiddler deletion by allowing missing tiddlers to be 'deleted', which just results in them being closed * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/commit/34643a42790777f1b235f57b5093bb29bd0b3a14">> layout switcher to include an optional icon for each layout * <<.link-badge-removed "https://github.com/Jermolene/TiddlyWiki5/commit/c0615e20ecf7d5d5e66d8a2acd28b80e8d59688d">> [[improvements to table layout|https://github.com/Jermolene/TiddlyWiki5/pull/7010]] from v5.2.5 that have proved to not be backwards compatible +* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7323">> support for `$` HTML entity ! Widget Improvements -* +* <<.link-badge-extended "https://github.com/Jermolene/TiddlyWiki5/pull/7222">> EditTextWidget to support `focusSelectFromStart` and `focusSelectFromEnd` attributes to give better control over text selection ! Filter improvements * <<.link-badge-extended "https://github.com/Jermolene/TiddlyWiki5/pull/7121">> [[encodeuricomponent Operator]] to encode characters such as `*` that are illegal in Windows filenames +* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/commit/89fd8871b6217634c9896b9402069757ca5ea189">> [[encodebase64 Operator]] and [[decodebase64 Operator]] ! Hackability Improvements @@ -41,6 +57,7 @@ Improvements to the following translations: * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7118">> readability of [[tag-picker Macro]] and [[keyboard-driven-input Macro]] * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7129">> reliability of [[list-links-draggable Macro]] and [[list-tagged-draggable Macro]] by using the new GenesisWidget instead of textual substitution * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7210">> [[external JavaScript core support|Using the external JavaScript template]] to make it possible to save an external JS wiki as a standard single file wiki +* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7007">> a warning message in the browser console when the Zoomin storyview fails due to the tiddler view template lacking a single containing element ! Bug Fixes @@ -50,42 +67,58 @@ Improvements to the following translations: * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7121">> (and <<.link-badge-here "https://github.com/Jermolene/TiddlyWiki5/pull/7219">>) overriding `toc-caption` macro for [[Table-of-Contents Macros]] * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7212">> rendering of $:/core/ui/MoreSideBar/Tags when viewed within the story river * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7156">> undefined variable crash in [[reduce Operator]], [[filter Operator]] and [[sortsub Operator]] -* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/7153">> GenesisWidget not to create anything if the `$type` attribute is blank or missing +* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/issues/7153">> GenesisWidget not to create anything if the `$type` attribute is blank or missing +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7230">> GenesisWidget to pass `isBlock` flag to the generated widget * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/7160">> crash using [[jsonget Operator]] with "fixed" as key name * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/0b39e47ce88c7620b7a66c1553a71efaff06edb9">> importing of MP3 files to match current browser implementations * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7122">> crash when attempting to create an element with a blank tag name +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7224">> layout issue with "save tiddler" button +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/3d0ec5b1bdc157f87d65b8c9b76e681c14337eb4">> (and <<.link-badge-here "https://github.com/Jermolene/TiddlyWiki5/commit/4e5c957e975459350cd7df3038e5fb3c7aea859f">>) handling of whitespace in lists to cover all Unicode whitespace characters +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7228">> test spacing of parser rule checkboxes in control panel +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/f249b79e81e51d48364ea8147fe27850df9f577f">> CSS classes assigned to edit toolbar buttons +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/7247">> usage of broken CSS class `tc-storyview-zoomin-tiddler` in Zoomin story view +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7243">> usage of `importTitle` and `autoOpenOnImport` options for [[WidgetMessage: tm-import-tiddlers]] +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7276">> fixed text editor refresh when the palette is changed +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/7270">> crash with LetWidget when referencing a variable that exists but has an undefined value ! Node.js Improvements -* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7169">> integration between the [[BrowserStorage Plugin]] and the client-server configuration to allow changes to be made while offline and then later resynchronised with the server * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7130">> duplicate fields in internal templates used in client-server configuration * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/7138">> lazy loading not triggering a sync from the server * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/bf8e1ca5b0587787bf80692b0213bb7b038c7868">> crash on creating a new tiddler if anonymous users manage to create syncable tiddlers in a read only wiki * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/commit/95e61688397ff1bc9be04193bc4ce2e3c8c48dce">> handling of logout in the client-server configuration to avoid 404 errors +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/7238">> problem with saving tiddlers with `_canonical_uri` field as `.tid` files +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/6953">> missing meta viewport to static river template ! Performance Improvements -* +* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7297">> wikitext parsing to use "sticky" flag for improved performance +* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7299">> field indexer to more efficiently process lookups ! Acknowledgements [[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: <<.contributors """ +andrigamerita AnthonyMuscio BramChen btheado cdruan CrossEye cs8425 +EvidentlyCube fkmiec flibbles GameDungeon +hffqyd jeffrey4l joebordes kookma +linonetwo m42e Marxsal +mateuszwilczek newmedicine pippep pmario @@ -94,4 +127,4 @@ Telumire twMat wincentbalin yaisog -""">> +""">> \ No newline at end of file From 2ce14ac8f993370229507e8492eb8900c55ee665 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 5 Mar 2023 18:05:25 +0000 Subject: [PATCH 38/83] Remove erroneously committed storylist tiddler --- editions/prerelease/tiddlers/$__StoryList.tid | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 editions/prerelease/tiddlers/$__StoryList.tid diff --git a/editions/prerelease/tiddlers/$__StoryList.tid b/editions/prerelease/tiddlers/$__StoryList.tid deleted file mode 100644 index d1a1e959f..000000000 --- a/editions/prerelease/tiddlers/$__StoryList.tid +++ /dev/null @@ -1,5 +0,0 @@ -created: 20201222190149806 -list: [[Release 5.1.23]] -modified: 20201222190149806 -title: $:/StoryList -type: text/vnd.tiddlywiki \ No newline at end of file From 416a2fae7a17b05279247178884805d9ce732348 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Mon, 6 Mar 2023 17:12:26 +0100 Subject: [PATCH 39/83] Add syntax docs to railroad plugin (#7334) --- .../railroad/doc/example-transclusion.tid | 3 + plugins/tiddlywiki/railroad/doc/syntax.tid | 250 ++++++++++++++++++ plugins/tiddlywiki/railroad/parser.js | 4 +- 3 files changed, 255 insertions(+), 2 deletions(-) create mode 100644 plugins/tiddlywiki/railroad/doc/example-transclusion.tid diff --git a/plugins/tiddlywiki/railroad/doc/example-transclusion.tid b/plugins/tiddlywiki/railroad/doc/example-transclusion.tid new file mode 100644 index 000000000..f8d1144b1 --- /dev/null +++ b/plugins/tiddlywiki/railroad/doc/example-transclusion.tid @@ -0,0 +1,3 @@ +title: $:/plugins/tiddlywiki/railroad/example-transclusion + +"railroad transclusion example" text \ No newline at end of file diff --git a/plugins/tiddlywiki/railroad/doc/syntax.tid b/plugins/tiddlywiki/railroad/doc/syntax.tid index fc0d8d87f..0e6e809dd 100644 --- a/plugins/tiddlywiki/railroad/doc/syntax.tid +++ b/plugins/tiddlywiki/railroad/doc/syntax.tid @@ -2,6 +2,7 @@ created: 20150103184022184 modified: 20150119220342000 title: $:/plugins/tiddlywiki/railroad/syntax + The railroad widget uses a special notation to construct the components defined below. `x` and `y` here stand for any component. @@ -12,9 +13,28 @@ Names (as opposed to quoted strings) are available when a value starts with a le ; sequence : <$railroad text=""" ["<-"] {x} ["->"] """/> + * A sequence of components * The `<-` and `->` delimiters allow you to force a single component to be treated as a sequence. This is occasionally useful for spacing a diagram out +examples + +<<< + +``` +x y z sequence +``` +<$railroad text=""" x y z """/> + +``` +<-x y z-> explicit sequence +``` + +<$railroad text=""" <- x y z -> """/> + +<<< + + --- ; optional @@ -22,6 +42,24 @@ Names (as opposed to quoted strings) are available when a value starts with a le * A component that can be omitted * The colon makes `x` appear straight ahead +examples + +<<< + +``` +[:x] optional, normally included +``` +<$railroad text=""" [:x] """/> + +``` +[x] optional, normally omitted +``` + +<$railroad text=""" [x] """/> + +<<< + + --- ; repeated @@ -29,12 +67,62 @@ Names (as opposed to quoted strings) are available when a value starts with a le * A list of one or more `x` * The `+` suffix adds `y` as a separator between each `x` and the next +examples + +<<< + +``` +{x} one or more +``` +<$railroad text=""" {x} """/> + +``` +{x +","} one or more, comma-separated +``` + +<$railroad text=""" {x +","} """/> + +<<< + + --- ; optional repeated : <$railroad text=""" "[{" [":"] x [:"+" y] "}]" """/> * An optional list of `x`, i.e. a list of zero or more `x` +examples + +<<< + +``` +[{:x}] zero or more, normally included +``` + +<$railroad text=""" [{:x}] """/> + +``` +[{:x +","}] zero or more, comma-separated, normally included +``` + +<$railroad text=""" [{:x +","}] """/> + +``` +[{x}] zero or more, normally omitted +``` + +<$railroad text=""" [{x}] """/> + +``` +[{x +","}] zero or more, comma-separated, normally omitted +``` + +<$railroad text=""" [{x +","}] """/> + +<<< + + + --- ; choice @@ -42,6 +130,25 @@ Names (as opposed to quoted strings) are available when a value starts with a le * A set of alternatives * The colon indicates which branch appears straight ahead. By default, it's the first branch +examples + +<<< + +``` +(x|y|z) alternatives +``` + +<$railroad text=""" (x|y|z) """/> + +``` +(x|:y|z) alternatives, normally y +``` + +<$railroad text=""" (x|:y|z) """/> + +<<< + + --- ; string / terminal @@ -49,36 +156,117 @@ Names (as opposed to quoted strings) are available when a value starts with a le * A literal or terminal component * This follows the normal ~TiddlyWiki rules for quoted strings +examples + +<<< + +``` +"x" terminal +``` + +<$railroad text=""" "x" """/> + +<<< + + --- ; nonterminal : <$railroad text=""" (name | "<" string ">") """/> * A nonterminal component, i.e. the name of another diagram +examples + +<<< + +``` +<"x"> nonterminal +``` + +<$railroad text=""" <"x"> """/> + +<<< + + --- ; comment : <$railroad text=""" "/" string "/" """/> * A comment +examples + +<<< + +``` +/ "comment" / comment +``` + +<$railroad text=""" / "comment" / """/> + +<<< + + --- ; dummy : <$railroad text=""" "-" """/> * The absence of a component +examples + +<<< + +``` +- dummy +``` + +<$railroad text=""" - """/> + +<<< + + --- ; link : <$railroad text=""" "[[" x "|" (name|string) "]]" """/> * A link to the tiddler title or URI given by the string or name +examples + +<<< + +``` +[[x|"tiddler"]] link +``` + +<$railroad text=""" [[x|"tiddler"]] """/> + +<<< + + --- ; transclusion : <$railroad text=""" "{{" (name|string) "}}" """/> * Treats the content of another tiddler as diagram syntax and transcludes it into the current diagram +examples + +<<< + +``` +{{"$:/plugins/tiddlywiki/railroad/example-transclusion"}} transclusion + +// "railroad transclusion example" text <- text in the tidlder + +``` + +<$railroad text=""" {{ "$:/plugins/tiddlywiki/railroad/example-transclusion" }} """/> + +<<< + + --- ; arrow pragma @@ -86,14 +274,76 @@ Names (as opposed to quoted strings) are available when a value starts with a le * Controls whether repeat paths have an arrow on them * Can be toggled on and off in mid-diagram, if desired +examples + +<<< +``` +<$railroad text=""" +\arrow yes +[{:x}] +"""/> + +``` + +<$railroad text="""\arrow yes [{:x}] """/> + +``` +<$railroad text=""" +\arrow no +[{:x}] +"""/> +``` + +<$railroad text="""\arrow no [{:x}] """/> + +<<< + + --- ; debug pragma : <$railroad text=""" "\debug" """/> * Causes the diagram to display its parse tree +examples + +<<< + +``` +\debug +x +``` + +<$railroad text="""\debug x """/> + +<<< + + --- ; start/end pragma : <$railroad text=""" ("\start" |: "\end") ("none" |: "single" | "double") """/> * Controls the style of the diagram's startpoint or endpoint +examples + +<<< + +``` +\start none x +``` + +<$railroad text=""" \start none x """/> + +``` +\start double +\end double + x +``` + +<$railroad text=""" \start double +\end double +x +"""/> + +<<< + diff --git a/plugins/tiddlywiki/railroad/parser.js b/plugins/tiddlywiki/railroad/parser.js index bb55b57b8..013d898d7 100644 --- a/plugins/tiddlywiki/railroad/parser.js +++ b/plugins/tiddlywiki/railroad/parser.js @@ -5,6 +5,8 @@ module-type: library Parser for the source of a railroad diagram. +x y z sequence +<-x y z-> explicit sequence [:x] optional, normally included [x] optional, normally omitted {x} one or more @@ -13,8 +15,6 @@ Parser for the source of a railroad diagram. [{:x +","}] zero or more, comma-separated, normally included [{x}] zero or more, normally omitted [{x +","}] zero or more, comma-separated, normally omitted -x y z sequence -<-x y z-> explicit sequence (x|y|z) alternatives (x|:y|z) alternatives, normally y "x" terminal From 6732d96f78d4ecde003a5d2e93696958dc25b8bd Mon Sep 17 00:00:00 2001 From: yaisog Date: Mon, 6 Mar 2023 17:14:08 +0100 Subject: [PATCH 40/83] Add a description and examples for "strict" results from getindex (#7333) * Add a description and examples for "strict" results * Add another example * Amend description of output with suffix "index" --- .../tiddlers/filters/examples/getindex.tid | 20 +++++++++++++++--- .../tw5.com/tiddlers/filters/getindex.tid | 21 +++++++++++-------- editions/tw5.com/tiddlers/filters/has.tid | 6 +++--- 3 files changed, 32 insertions(+), 15 deletions(-) diff --git a/editions/tw5.com/tiddlers/filters/examples/getindex.tid b/editions/tw5.com/tiddlers/filters/examples/getindex.tid index 780c09946..ca18bce84 100644 --- a/editions/tw5.com/tiddlers/filters/examples/getindex.tid +++ b/editions/tw5.com/tiddlers/filters/examples/getindex.tid @@ -1,8 +1,22 @@ created: 20150203140000000 -modified: 20170608150301791 +modified: 20230306140231272 tags: [[getindex Operator]] [[Operator Examples]] title: getindex Operator (Examples) type: text/vnd.tiddlywiki -<<.operator-example 1 "[[$:/palettes/Vanilla]getindex[background]]" "returns the value at index ''background'' of the [[DataTiddler|DataTiddlers]] [[$:/palettes/Vanilla]]">> -<<.operator-example 2 "[all[shadows+tiddlers]tag[$:/tags/Palette]getindex[background]]" "returns all background colors defined in any of the ColourPalettes">> \ No newline at end of file +<<.operator-example 1 "[[$:/palettes/Vanilla]getindex[background]]" "returns the value at index <<.value background>> of the [[DataTiddler|DataTiddlers]] [[$:/palettes/Vanilla]]">> +<<.operator-example 2 "[all[shadows+tiddlers]tag[$:/tags/Palette]getindex[background]]" "returns all background colors defined in any of the ColourPalettes">> + +[[ListopsData]] contains an empty index <<.value ~DataIndex>> which is not returned by the filter operator: +<<.operator-example 3 "[[ListopsData]getindex[DataIndex]]">> + +This filter expression can be used to return the value, even if it is an empty string: +<<.operator-example 4 "[[ListopsData]] :filter[has:index[DataIndex]] :and[getindex[DataIndex]else[]]">> + +There are 5 palettes which define the index <<.value diff-equal-background>>, but none defines a value: +<<.operator-example 5 "[all[shadows+tiddlers]tag[$:/tags/Palette]] :filter[has:index[diff-equal-background]] :map[getindex[diff-equal-background]else[]]">> +In the above example, the [[Map Filter Run Prefix]] is used instead of `:and` as it does not de-duplicate its results. + +Another way to check if an index has an empty value is to [[count|count Operator]] the results from the [[getindex Operator]]: +<<.operator-example 6 "[[$:/palettes/Vanilla]indexes[]] :filter[[$:/palettes/Vanilla]getindexcount[]compare:number:eq[0]]">> +Here, the input to `:filter` is the [[list of indexes|indexes Operator]] which are contained in [[$:/palettes/Vanilla]]. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/getindex.tid b/editions/tw5.com/tiddlers/filters/getindex.tid index 89ddabb83..03302cc6b 100644 --- a/editions/tw5.com/tiddlers/filters/getindex.tid +++ b/editions/tw5.com/tiddlers/filters/getindex.tid @@ -1,17 +1,20 @@ +caption: getindex created: 20150203140000000 -modified: 20150203140000000 +modified: 20230306131335009 +op-purpose: select all values of a data property in the input titles +op-input: a [[selection of titles|Title Selection]] +op-parameter: the name of a [[property|DataTiddlers]] +op-parameter-name: P +op-output: the values of property <<.place P>> in each of the input titles tags: [[Filter Operators]] [[Field Operators]] title: getindex Operator caption: getindex -op-purpose: select all values of a data property in the input titles - -<$macrocall $name=".operator-def" -input="a [[selection of titles|Title Selection]]" -parameter="the name of a [[property|DataTiddlers]]" -paramName="P" -output="the values of property <<.place P>> in each of the input titles" -/> Each input title is processed in turn, and is ignored if it does not denote a [[data tiddler|DataTiddlers]]. If the tiddler contains property <<.place P>>, the value of that property is [[dominantly appended|Dominant Append]] to the output. +<<.tip """If a data tiddler contains index <<.place P>> with an empty value, the empty string is not appended. The following [[Filter Expression]] can be used to also return an empty string +
:filter[has:index[P]] :and[getindex[P]else[]]
""">> + <<.operator-examples "getindex">> + + diff --git a/editions/tw5.com/tiddlers/filters/has.tid b/editions/tw5.com/tiddlers/filters/has.tid index cccb152ae..f05ae1e05 100644 --- a/editions/tw5.com/tiddlers/filters/has.tid +++ b/editions/tw5.com/tiddlers/filters/has.tid @@ -1,9 +1,9 @@ caption: has created: 20140410103123179 -modified: 20190518145446047 +modified: 20230306143207920 op-input: a [[selection of titles|Title Selection]] -op-neg-output: ''without suffix''
» those input tiddlers in which field <<.place F>> does <<.em not>> exist or has an empty value
''suffix `field`''
» those input tiddlers in which field <<.place F>> does <<.em not>> exist
''suffix `index`''
» those input tiddlers in which index <<.place F>> does <<.em not>> exist -op-output: ''without suffix''
» those input tiddlers in which field <<.place F>> has a non-empty value
''suffix `field`''
» those input tiddlers in which field <<.place F>> exists +op-neg-output: ''without suffix''
» those input tiddlers in which field <<.place F>> does <<.em not>> exist or has an empty value
''suffix `field`''
» those input tiddlers in which field <<.place F>> does <<.em not>> exist
''suffix `index`''
» those input data tiddlers in which index <<.place F>> does <<.em not>> exist +op-output: ''without suffix''
» those input tiddlers in which field <<.place F>> has a non-empty value
''suffix `field`''
» those input tiddlers in which field <<.place F>> exists
''suffix `index`''
» those input data tiddlers in which index <<.place F>> exists op-parameter: the name of a [[field|TiddlerFields]]
''suffix `index`''
» those input tiddlers in which index <<.place F>> exists op-parameter: the name of a [[field|TiddlerFields]] or, optionally an [[index|TextReference]] op-parameter-name: F From ba01d0696270e5e26144e4da223fb0e00cf26a91 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Tue, 7 Mar 2023 09:56:41 +0100 Subject: [PATCH 41/83] German Translation: fix some typos and add missing tiddlers (#7337) --- editions/de-AT/tiddlers/beispiele/TaskManagement.tid | 4 ++-- editions/de-AT/tiddlers/beispiele/done.tid | 4 ++-- editions/de-AT/tiddlers/howto/Importieren von Tiddlern.tid | 6 ++++++ editions/de-AT/tiddlers/howto/Liste aller HowTo's.tid | 4 ++-- editions/de-AT/tiddlers/konzept/Tagging.tid | 6 ++++++ .../$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid | 6 ++++++ editions/de-AT/tiddlers/widgets/ListWidget.tid | 7 +++++++ editions/de-AT/tiddlers/widgets/TranscludeWidget.tid | 7 +++++++ editions/de-AT/tiddlers/wikitext/Bilder in WikiText.tid | 6 +++--- editions/de-AT/tiddlers/wikitext/Makros in WikiText.tid | 6 +++--- .../de-AT/tiddlers/wikitext/Transclusion in WikiText.tid | 7 +++++++ 11 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 editions/de-AT/tiddlers/howto/Importieren von Tiddlern.tid create mode 100644 editions/de-AT/tiddlers/konzept/Tagging.tid create mode 100644 editions/de-AT/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid create mode 100644 editions/de-AT/tiddlers/widgets/ListWidget.tid create mode 100644 editions/de-AT/tiddlers/widgets/TranscludeWidget.tid create mode 100644 editions/de-AT/tiddlers/wikitext/Transclusion in WikiText.tid diff --git a/editions/de-AT/tiddlers/beispiele/TaskManagement.tid b/editions/de-AT/tiddlers/beispiele/TaskManagement.tid index 2bc4bd0c0..159676eae 100644 --- a/editions/de-AT/tiddlers/beispiele/TaskManagement.tid +++ b/editions/de-AT/tiddlers/beispiele/TaskManagement.tid @@ -1,11 +1,11 @@ created: 20140923173639039 creator: pmario -modified: 20140924155046340 +modified: 20230307080008193 modifier: pmario title: TaskManagement type: text/vnd.tiddlywiki -In dieser Edition sind folgende Task Management Varianten beschreiben: +In dieser Edition sind folgende Task Management Varianten beschrieben: <> diff --git a/editions/de-AT/tiddlers/beispiele/done.tid b/editions/de-AT/tiddlers/beispiele/done.tid index 9972856b7..626fa3f33 100644 --- a/editions/de-AT/tiddlers/beispiele/done.tid +++ b/editions/de-AT/tiddlers/beispiele/done.tid @@ -2,7 +2,7 @@ color: #37d011 created: 20140923104300415 creator: pmario icon: $:/core/images/done-button -modified: 20140923105208878 +modified: 20230307080039831 modifier: ChrisK tags: done title: done @@ -12,5 +12,5 @@ Diese Tag wird verwendet um "Tasks" als erledigt zu markieren. Siehe auch: -* [[Task Management]] .. Beispiel +* [[Task Management|TaskManagement]] .. Beispiel * [[Tag Manager|$:/TagManager]] .. Zuweisung der Farben und Symbole \ No newline at end of file diff --git a/editions/de-AT/tiddlers/howto/Importieren von Tiddlern.tid b/editions/de-AT/tiddlers/howto/Importieren von Tiddlern.tid new file mode 100644 index 000000000..e9ea480b4 --- /dev/null +++ b/editions/de-AT/tiddlers/howto/Importieren von Tiddlern.tid @@ -0,0 +1,6 @@ +created: 20230307080413903 +modified: 20230307080417122 +title: Importieren von Tiddlern +type: text/vnd.tiddlywiki + +https://tiddlywiki.com/#Importing%20Tiddlers \ No newline at end of file diff --git a/editions/de-AT/tiddlers/howto/Liste aller HowTo's.tid b/editions/de-AT/tiddlers/howto/Liste aller HowTo's.tid index 9dcc7e62a..0c88f3e1e 100644 --- a/editions/de-AT/tiddlers/howto/Liste aller HowTo's.tid +++ b/editions/de-AT/tiddlers/howto/Liste aller HowTo's.tid @@ -1,11 +1,11 @@ created: 20140918094051245 creator: pmario -modified: 20140918094948642 +modified: 20230307080301079 modifier: pmario tags: Referenz title: Liste aller HowTo's type: text/vnd.tiddlywiki -Hier finden Sie eine Auflistung aller HowTo's +Hier finden Sie eine Auflistung aller ~HowTo's <> \ No newline at end of file diff --git a/editions/de-AT/tiddlers/konzept/Tagging.tid b/editions/de-AT/tiddlers/konzept/Tagging.tid new file mode 100644 index 000000000..fa28765ba --- /dev/null +++ b/editions/de-AT/tiddlers/konzept/Tagging.tid @@ -0,0 +1,6 @@ +created: 20230307081437974 +modified: 20230307081439303 +title: Tagging +type: text/vnd.tiddlywiki + +https://tiddlywiki.com/#Tagging \ No newline at end of file diff --git a/editions/de-AT/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid b/editions/de-AT/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid new file mode 100644 index 000000000..66a4cbad8 --- /dev/null +++ b/editions/de-AT/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid @@ -0,0 +1,6 @@ +created: 20230307080103029 +modified: 20230307080103029 +title: $:/themes/tiddlywiki/vanilla/options/sidebarlayout +type: text/vnd.tiddlywiki + +fluid-fixed \ No newline at end of file diff --git a/editions/de-AT/tiddlers/widgets/ListWidget.tid b/editions/de-AT/tiddlers/widgets/ListWidget.tid new file mode 100644 index 000000000..44430e62c --- /dev/null +++ b/editions/de-AT/tiddlers/widgets/ListWidget.tid @@ -0,0 +1,7 @@ +created: 20230307081923415 +modified: 20230307081953759 +tags: Widgets +title: ListWidget +type: text/vnd.tiddlywiki + +https://tiddlywiki.com/#ListWidget \ No newline at end of file diff --git a/editions/de-AT/tiddlers/widgets/TranscludeWidget.tid b/editions/de-AT/tiddlers/widgets/TranscludeWidget.tid new file mode 100644 index 000000000..e2e0cbdaf --- /dev/null +++ b/editions/de-AT/tiddlers/widgets/TranscludeWidget.tid @@ -0,0 +1,7 @@ +created: 20230307082002353 +modified: 20230307082023207 +tags: Widgets +title: TranscludeWidget +type: text/vnd.tiddlywiki + +https://tiddlywiki.com/#TranscludeWidget \ No newline at end of file diff --git a/editions/de-AT/tiddlers/wikitext/Bilder in WikiText.tid b/editions/de-AT/tiddlers/wikitext/Bilder in WikiText.tid index 1a2407ad8..53ffd37d1 100644 --- a/editions/de-AT/tiddlers/wikitext/Bilder in WikiText.tid +++ b/editions/de-AT/tiddlers/wikitext/Bilder in WikiText.tid @@ -1,7 +1,7 @@ caption: Bilder created: 20131205160221762 creator: pmario -modified: 20140921170652909 +modified: 20230307081713229 modifier: pmario tags: WikiText title: Bilder in WikiText @@ -25,7 +25,7 @@ oder Wenn die Bildquelle der Titel eines existierenden Tiddlers ist, dann wird dieser direkt angezeigt. Ansonsten wird die Quelle als URL angesehen und ein HTML `` Element wird erzeugt. Das `src` Attribut wird auf die [[URL]] gesetzt. -Ein [[Tooltip]] kann ebenfalls angegeben werden: +Ein Tooltip kann ebenfalls angegeben werden: ``` [img[Ich bin der Tooltip text|Motovun Jack.jpg]] @@ -33,7 +33,7 @@ Ein [[Tooltip]] kann ebenfalls angegeben werden: [img width=100 [Ich bin der Tooltip text|Motovun Jack.jpg]] -Attribute wie zB: CSS Klassen oder die Höhe und Breite können ebenfalls angegeben werden. +Attribute wie z.B: CSS Klassen oder die Höhe und Breite können ebenfalls angegeben werden. ``` [img width=64 [Motovun Jack.jpg]] diff --git a/editions/de-AT/tiddlers/wikitext/Makros in WikiText.tid b/editions/de-AT/tiddlers/wikitext/Makros in WikiText.tid index dd336588e..c2141999a 100644 --- a/editions/de-AT/tiddlers/wikitext/Makros in WikiText.tid +++ b/editions/de-AT/tiddlers/wikitext/Makros in WikiText.tid @@ -1,7 +1,7 @@ caption: Makros created: 20131205160746466 creator: pmario -modified: 20140922124415476 +modified: 20230307080132949 modifier: ChrisK tags: WikiText title: Makros in WikiText @@ -15,7 +15,7 @@ Hallo, Ich bin $name$ und lebe in $adresse$ Hallo, Ich bin $name$ und würde gerne mal wieder nach $adresse$ fahren:) \end -!! Makros Definieren +!! Makros definieren !!! Für die Ungeduldigen @@ -76,7 +76,7 @@ Für einzeilige Makros kann die `\end` Markierung entfallen! * Makros können mit dem ImportVariablesWidget importiert werden. (Für geübte Anwender) -!! Makros Verwenden +!! Makros verwenden ``` <> diff --git a/editions/de-AT/tiddlers/wikitext/Transclusion in WikiText.tid b/editions/de-AT/tiddlers/wikitext/Transclusion in WikiText.tid new file mode 100644 index 000000000..bb8798ebf --- /dev/null +++ b/editions/de-AT/tiddlers/wikitext/Transclusion in WikiText.tid @@ -0,0 +1,7 @@ +created: 20230307081757660 +modified: 20230307081814992 +tags: WikiText +title: Transclusion in WikiText +type: text/vnd.tiddlywiki + +https://tiddlywiki.com/#Transclusion%20in%20WikiText \ No newline at end of file From 2bac676ac4815ed06f497f4788df1ce800d5bfb7 Mon Sep 17 00:00:00 2001 From: yaisog Date: Tue, 7 Mar 2023 22:51:52 +0100 Subject: [PATCH 42/83] Docs: Align description with example (#7339) --- editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid b/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid index 0762f14e0..2aadfe677 100644 --- a/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid @@ -32,7 +32,7 @@ For example, the items "abc" and "123" can be appended to the field `myfield` us <$action-listops $field="myfield" $subfilter="abc 123"/> ``` -The same can be achieved using the `$filter` attribute and prepending the [[Filter Run]] `[all[current]get[myfield]enlist-input[]]` to the [[Filter Expression]]: +The same can be achieved using the `$filter` attribute and prepending the [[Filter Run]] `[enlist{!!myfield}]` to the [[Filter Expression]]: ``` <$action-listops $field="myfield" $filter="[enlist{!!myfield}] abc 123"/> From b16d6953863c144bcae63374bf779bcb6a6bc78b Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Wed, 8 Mar 2023 08:53:02 +0000 Subject: [PATCH 43/83] Update release note --- editions/prerelease/tiddlers/Release 5.2.6.tid | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/editions/prerelease/tiddlers/Release 5.2.6.tid b/editions/prerelease/tiddlers/Release 5.2.6.tid index 3a6ee78fb..3e4410a6a 100644 --- a/editions/prerelease/tiddlers/Release 5.2.6.tid +++ b/editions/prerelease/tiddlers/Release 5.2.6.tid @@ -9,6 +9,16 @@ type: text/vnd.tiddlywiki ! Major Improvements +!! Improved Markdown Plugin + +* <<.link-badge-updated "https://github.com/Jermolene/TiddlyWiki5/pull/6528">> the [[Markdown Plugin]] to use the newer and better maintained [[markdown-it|https://github.com/markdown-it/markdown-it]] library. The previous Markdown plugin remains available as "markdown-legacy" + +!! Better Handling of Loss of Network Connectivity with Client Server Configuration + +* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7169">> integration between the [[BrowserStorage Plugin]] and the client-server configuration to allow changes to be made while offline and then later resynchronised with the server + +!! New Diff-Match-Patch Primitives + * <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7290">> three new operators exposing previously hidden features of the [[Diff-Match-Patch|https://neil.fraser.name/software/diff_match_patch]] library that is integrated with TiddlyWiki: ** new [[levenshtein Operator]] to calculate the similarity of two strings as the number of characters that need to be inserted, deleted or modified in order to turn one into the other ** new [[makepatches Operator]] and [[applypatches Operator]] that can be used to make and apply patches that represent the difference between two different texts. See the [[examples|makepatches and applypatches Operator (Examples)]] @@ -23,8 +33,6 @@ Improvements to the following translations: ! Plugin Improvements -* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7169">> integration between the [[BrowserStorage Plugin]] and the client-server configuration to allow changes to be made while offline and then later resynchronised with the server -* <<.link-badge-updated "https://github.com/Jermolene/TiddlyWiki5/pull/6528">> the [[Markdown Plugin]] to use the newer and better maintained [[markdown-it|https://github.com/markdown-it/markdown-it]] library. The previous Markdown plugin remains available as "markdown-legacy" * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7176">> [[Innerwiki Plugin]] to allow the `<$data>` widget to override existing tiddler fields * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7207">>, <<.link-badge-here "https://github.com/Jermolene/TiddlyWiki5/commit/c39ef398bffae12c0ed7324d9b6d9d29f0f2f9ff">> and <<.link-badge-here "https://github.com/Jermolene/TiddlyWiki5/commit/8f7441f296351a4dd0852c3c782f8874d398e052">> problem preventing [[Share Plugin]] from working properly * <<.link-badge-updated "https://github.com/Jermolene/TiddlyWiki5/commit/524cee1489f260375cac8cfe878fdc5942a4596e">> [[XLSX Plugin|XLSX Utilities Edition]] to handle importing numeric fields From d8c2ab3bafe58b666b42f6a388ba88c30d41cc63 Mon Sep 17 00:00:00 2001 From: Michelle Saad Date: Wed, 8 Mar 2023 18:16:48 +0000 Subject: [PATCH 44/83] Sign CLA (#7342) --- licenses/cla-individual.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index 744b5e133..6be49c5e0 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -525,3 +525,5 @@ Mateusz Wilczek, @mateuszwilczek, 2023/02/16 Andrea Octo, @andrigamerita, 2023/02/24 HuanC Fu, @hffqyd, 2023/03/03 + +Michelle Saad, @michsa, 2023-03-08 From 714587cdfcdd60de4409dbe8cfbf41698c6aa3cf Mon Sep 17 00:00:00 2001 From: yaisog Date: Fri, 10 Mar 2023 09:48:28 +0100 Subject: [PATCH 45/83] Improve documentation for get and getindex - Update descriptions and examples (#7349) --- .../tw5.com/tiddlers/filters/examples/get.tid | 16 ++++++++++--- .../tiddlers/filters/examples/getindex.tid | 23 ++++++++----------- editions/tw5.com/tiddlers/filters/get.tid | 16 ++++++------- .../tw5.com/tiddlers/filters/getindex.tid | 14 ++++------- 4 files changed, 36 insertions(+), 33 deletions(-) diff --git a/editions/tw5.com/tiddlers/filters/examples/get.tid b/editions/tw5.com/tiddlers/filters/examples/get.tid index c49d876d6..de56361cf 100644 --- a/editions/tw5.com/tiddlers/filters/examples/get.tid +++ b/editions/tw5.com/tiddlers/filters/examples/get.tid @@ -1,9 +1,19 @@ created: 20150118134611000 -modified: 20150124201839000 +modified: 20230309180521925 +myfield: tags: [[get Operator]] [[Operator Examples]] title: get Operator (Examples) type: text/vnd.tiddlywiki <<.operator-example 1 "[all[current]get[draft.of]]" "the title of the tiddler of which the current tiddler is a draft">> -<<.operator-example 2 "[get[tags]]">> -<<.operator-example 3 "[each[tags]get[tags]]">> + +<<.operator-example 2 "[get[tags]]" "returns the tags of all tiddlers without de-duplication">> + +<<.operator-example 3 "[get[tags]unique[]]" "returns the tags of all tiddlers with de-duplication">> + +<<.tip """If a data tiddler contains a field with an empty value, the empty string is not appended to the results.""">> + +<<.operator-example 4 "[all[current]get[myfield]]" "the empty value of field <<.field myfield>> is not returned by the <<.olink get>> operator">> + +<<.operator-example 5 "[all[current]] :filter[has:field[myfield]] :map[get[myfield]]" "also returns the empty string">> +The above example works by first using the [[Filter Filter Run Prefix]] to only select titles that have the field <<.field myfield>> and then using the [[Map Filter Run Prefix]] to replace those titles with their value of that field. The [[Map Filter Run Prefix]] outputs an empty string when its filter run returns an empty [[selection|Title Selection]]. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/examples/getindex.tid b/editions/tw5.com/tiddlers/filters/examples/getindex.tid index ca18bce84..beb52fc19 100644 --- a/editions/tw5.com/tiddlers/filters/examples/getindex.tid +++ b/editions/tw5.com/tiddlers/filters/examples/getindex.tid @@ -1,22 +1,19 @@ created: 20150203140000000 -modified: 20230306140231272 +modified: 20230309180501044 tags: [[getindex Operator]] [[Operator Examples]] title: getindex Operator (Examples) type: text/vnd.tiddlywiki -<<.operator-example 1 "[[$:/palettes/Vanilla]getindex[background]]" "returns the value at index <<.value background>> of the [[DataTiddler|DataTiddlers]] [[$:/palettes/Vanilla]]">> -<<.operator-example 2 "[all[shadows+tiddlers]tag[$:/tags/Palette]getindex[background]]" "returns all background colors defined in any of the ColourPalettes">> +<<.operator-example 1 "[[$:/palettes/Vanilla]getindex[background]]" "returns the value of property <<.value background>> of the [[DataTiddler|DataTiddlers]] [[$:/palettes/Vanilla]]">> -[[ListopsData]] contains an empty index <<.value ~DataIndex>> which is not returned by the filter operator: -<<.operator-example 3 "[[ListopsData]getindex[DataIndex]]">> +<<.operator-example 2 "[all[shadows+tiddlers]tag[$:/tags/Palette]getindex[background]]" "returns all background colors defined in any of the ColourPalettes (notice the duplicates in the resulting list)">> -This filter expression can be used to return the value, even if it is an empty string: -<<.operator-example 4 "[[ListopsData]] :filter[has:index[DataIndex]] :and[getindex[DataIndex]else[]]">> +<<.tip """If a data tiddler contains a property with an empty value, the empty string is not appended to the results.""">> -There are 5 palettes which define the index <<.value diff-equal-background>>, but none defines a value: -<<.operator-example 5 "[all[shadows+tiddlers]tag[$:/tags/Palette]] :filter[has:index[diff-equal-background]] :map[getindex[diff-equal-background]else[]]">> -In the above example, the [[Map Filter Run Prefix]] is used instead of `:and` as it does not de-duplicate its results. +<<.operator-example 3 "[[ListopsData]getindex[DataIndex]]" "the empty value of the property <<.field ~DataIndex>> in [[ListopsData]] is not returned by the <<.olink getindex>> operator">> -Another way to check if an index has an empty value is to [[count|count Operator]] the results from the [[getindex Operator]]: -<<.operator-example 6 "[[$:/palettes/Vanilla]indexes[]] :filter[[$:/palettes/Vanilla]getindexcount[]compare:number:eq[0]]">> -Here, the input to `:filter` is the [[list of indexes|indexes Operator]] which are contained in [[$:/palettes/Vanilla]]. \ No newline at end of file +<<.operator-example 4 "[[ListopsData]] :filter[has:index[DataIndex]] :map[getindex[DataIndex]]" "also returns the empty string">> +The above example works by first using the [[Filter Filter Run Prefix]] to only select titles that have the property <<.field ~DataIndex>> and then using the [[Map Filter Run Prefix]] to replace those titles with their value of that property. The [[Map Filter Run Prefix]] outputs an empty string when its filter run returns an empty [[selection|Title Selection]]. + +<<.operator-example 5 "[[$:/palettes/Vanilla]indexes[]] :filter[[$:/palettes/Vanilla]getindexcount[]compare:number:eq[0]]" "returns those colors in [[$:/palettes/Vanilla]] which are defined, but have no value assigned">> +In the above example, <<.olink count>> is used to check if <<.olink getindex>> returns a result (i.e. the corresponding property has a value) or not. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/get.tid b/editions/tw5.com/tiddlers/filters/get.tid index 8623aa6d6..818f1602f 100644 --- a/editions/tw5.com/tiddlers/filters/get.tid +++ b/editions/tw5.com/tiddlers/filters/get.tid @@ -1,17 +1,17 @@ +caption: get created: 20140426183123179 -modified: 20150203185001000 +modified: 20230309163844434 +op-input: a [[selection of titles|Title Selection]] +op-output: the values of field <<.place F>> in each of the input titles +op-parameter: the name of a [[field|TiddlerFields]] +op-parameter-name: F +op-purpose: select all values of a field in the input titles tags: [[Filter Operators]] [[Field Operators]] title: get Operator type: text/vnd.tiddlywiki -caption: get -op-purpose: select all values of a field in the input titles -op-input: a [[selection of titles|Title Selection]] -op-parameter: the name of a [[field|TiddlerFields]] -op-parameter-name: F -op-output: the values of field <<.place F>> in each of the input titles Each input title is processed in turn. If the corresponding tiddler contains field <<.place F>>, and the value of this field is not empty, then its value is appended to the output. -Unlike most other [[Filter Operators]], the [[selection|Title Selection]] output by <<.op get>> can contain duplicates. To avoid duplicates, use `each[F]get[F]`. +<<.tip "Unlike most other [[Filter Operators]], the [[selection|Title Selection]] output by <<.op get>> can contain duplicates. To avoid duplicates, use `get[F]unique[]`.">> <<.operator-examples "get">> diff --git a/editions/tw5.com/tiddlers/filters/getindex.tid b/editions/tw5.com/tiddlers/filters/getindex.tid index 03302cc6b..225a68252 100644 --- a/editions/tw5.com/tiddlers/filters/getindex.tid +++ b/editions/tw5.com/tiddlers/filters/getindex.tid @@ -1,20 +1,16 @@ caption: getindex created: 20150203140000000 -modified: 20230306131335009 -op-purpose: select all values of a data property in the input titles +modified: 20230309163838670 op-input: a [[selection of titles|Title Selection]] +op-output: the values of property <<.place P>> in each of the input titles op-parameter: the name of a [[property|DataTiddlers]] op-parameter-name: P -op-output: the values of property <<.place P>> in each of the input titles +op-purpose: select all values of a data property in the input titles tags: [[Filter Operators]] [[Field Operators]] title: getindex Operator -caption: getindex -Each input title is processed in turn, and is ignored if it does not denote a [[data tiddler|DataTiddlers]]. If the tiddler contains property <<.place P>>, the value of that property is [[dominantly appended|Dominant Append]] to the output. +Each input title is processed in turn, and is ignored if it does not denote a [[data tiddler|DataTiddlers]]. If the corresponding tiddler contains property <<.place P>>, and the value of this property is not empty, then its value is appended to the output. -<<.tip """If a data tiddler contains index <<.place P>> with an empty value, the empty string is not appended. The following [[Filter Expression]] can be used to also return an empty string -
:filter[has:index[P]] :and[getindex[P]else[]]
""">> +<<.tip "Unlike most other [[Filter Operators]], the [[selection|Title Selection]] output by <<.op getindex>> can contain duplicates. To avoid duplicates, use `getindex[P]unique[]`.">> <<.operator-examples "getindex">> - - From 007b75942166e1ff138a46893250d4e62e85c85d Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Fri, 10 Mar 2023 09:41:18 +0000 Subject: [PATCH 46/83] Undefined variables in let widget: Revert fix for #7270 Reverts 8c378e0d24e9f4b8986316bc17f077b894d1eb30 and adds a test --- core/modules/widgets/let.js | 4 +--- .../data/widgets/LetWidgetSelfReferences.tid | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 editions/test/tiddlers/tests/data/widgets/LetWidgetSelfReferences.tid diff --git a/core/modules/widgets/let.js b/core/modules/widgets/let.js index dd3aa137a..afd3a2f20 100644 --- a/core/modules/widgets/let.js +++ b/core/modules/widgets/let.js @@ -74,9 +74,7 @@ LetWidget.prototype.getVariableInfo = function(name,options) { text: this.currentValueFor[name] }; } - return Widget.prototype.getVariableInfo.call(this,name,$tw.utils.extend(Object.create(null),options,{ - defaultValue: "" - })); + return Widget.prototype.getVariableInfo.call(this,name,options); }; /* diff --git a/editions/test/tiddlers/tests/data/widgets/LetWidgetSelfReferences.tid b/editions/test/tiddlers/tests/data/widgets/LetWidgetSelfReferences.tid new file mode 100644 index 000000000..b81fc7d75 --- /dev/null +++ b/editions/test/tiddlers/tests/data/widgets/LetWidgetSelfReferences.tid @@ -0,0 +1,15 @@ +title: Widgets/LetWidgetSelfReferences +description: Test let widget self references +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +\whitespace trim +<$let default={{{ [[default]is[variable]then[aa]else[bb]] }}} > +<> + ++ +title: ExpectedResult + +

bb

\ No newline at end of file From 589813f23335bbd3b50be52ad5d5211fbbffee33 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Fri, 10 Mar 2023 09:41:36 +0000 Subject: [PATCH 47/83] Improved fix for #7270 --- core/modules/widgets/let.js | 4 +++- .../data/widgets/LetWidgetUndefinedVariable.tid | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 editions/test/tiddlers/tests/data/widgets/LetWidgetUndefinedVariable.tid diff --git a/core/modules/widgets/let.js b/core/modules/widgets/let.js index afd3a2f20..2b2886530 100644 --- a/core/modules/widgets/let.js +++ b/core/modules/widgets/let.js @@ -53,7 +53,9 @@ LetWidget.prototype.computeAttributes = function() { name = attribute.name; // Now that it's prepped, we're allowed to look this variable up // when defining later variables - self.currentValueFor[name] = value; + if(value !== undefined) { + self.currentValueFor[name] = value; + } }); // Run through again, setting variables and looking for differences $tw.utils.each(this.currentValueFor,function(value,name) { diff --git a/editions/test/tiddlers/tests/data/widgets/LetWidgetUndefinedVariable.tid b/editions/test/tiddlers/tests/data/widgets/LetWidgetUndefinedVariable.tid new file mode 100644 index 000000000..e6163d915 --- /dev/null +++ b/editions/test/tiddlers/tests/data/widgets/LetWidgetUndefinedVariable.tid @@ -0,0 +1,15 @@ +title: Widgets/LetWidgetUndefinedVariable +description: Test let widget undefined variable +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +\whitespace trim +<$let test1=<> test2={{{ [] }}}> +<> + ++ +title: ExpectedResult + +

\ No newline at end of file From f247686970f246fda69925e1f7b663c3dedc6f39 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Fri, 10 Mar 2023 12:32:52 +0000 Subject: [PATCH 48/83] Remove "const" accidentally included in #7290 See #7350 --- core/modules/filters/strings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/filters/strings.js b/core/modules/filters/strings.js index 4a3c7c170..538dd0597 100644 --- a/core/modules/filters/strings.js +++ b/core/modules/filters/strings.js @@ -107,7 +107,7 @@ function diffPartsToChars(text1,text2,mode) { var lineEnd = -1; var lineArrayLength = lineArray.length, regexpResult; - const searchRegexp = /\W+/g; + var searchRegexp = /\W+/g; while(lineEnd < text.length - 1) { if(mode === "words") { regexpResult = searchRegexp.exec(text); From e6175227b229b8db1374b824da9dfa207d748c28 Mon Sep 17 00:00:00 2001 From: yaisog Date: Fri, 10 Mar 2023 16:57:51 +0100 Subject: [PATCH 49/83] Add another example for the `get` operator (#7351) --- editions/tw5.com/tiddlers/filters/examples/get.tid | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/filters/examples/get.tid b/editions/tw5.com/tiddlers/filters/examples/get.tid index de56361cf..87655d0cb 100644 --- a/editions/tw5.com/tiddlers/filters/examples/get.tid +++ b/editions/tw5.com/tiddlers/filters/examples/get.tid @@ -1,5 +1,5 @@ created: 20150118134611000 -modified: 20230309180521925 +modified: 20230310154010278 myfield: tags: [[get Operator]] [[Operator Examples]] title: get Operator (Examples) @@ -16,4 +16,7 @@ type: text/vnd.tiddlywiki <<.operator-example 4 "[all[current]get[myfield]]" "the empty value of field <<.field myfield>> is not returned by the <<.olink get>> operator">> <<.operator-example 5 "[all[current]] :filter[has:field[myfield]] :map[get[myfield]]" "also returns the empty string">> -The above example works by first using the [[Filter Filter Run Prefix]] to only select titles that have the field <<.field myfield>> and then using the [[Map Filter Run Prefix]] to replace those titles with their value of that field. The [[Map Filter Run Prefix]] outputs an empty string when its filter run returns an empty [[selection|Title Selection]]. \ No newline at end of file +The above example works by first using the [[Filter Filter Run Prefix]] to only select titles that have the field <<.field myfield>> and then using the [[Map Filter Run Prefix]] to replace those titles with their value of that field. The [[Map Filter Run Prefix]] outputs an empty string when its filter run returns an empty [[selection|Title Selection]]. + +<<.operator-example 6 "[all[tiddlers]] :filter[get[created]compare:date:lt{HelloThere!!created}]" "return all tiddlers that are older than [[HelloThere]]">> +The above example demonstrates two different ways of accessing field values in filters: Use <<.olink get>> when the title is not known in advance as with the [[Filter Filter Run Prefix]] where <<.var currentTiddler>> is set to the current input title. Use a [[TextReference]] as an indirect [[Filter Parameter]] when the title is known. From 964993f879c1d9a8232e7799ac082d0337091184 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sat, 11 Mar 2023 11:13:35 +0000 Subject: [PATCH 50/83] New-here: Fix unwanted double braces around tags specified in $:/config/NewTiddler/Tags Fixes #7354 --- core/ui/ViewToolbar/new-here.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/ui/ViewToolbar/new-here.tid b/core/ui/ViewToolbar/new-here.tid index 25721f5fd..31e8e4158 100644 --- a/core/ui/ViewToolbar/new-here.tid +++ b/core/ui/ViewToolbar/new-here.tid @@ -6,7 +6,7 @@ description: {{$:/language/Buttons/NewHere/Hint}} \whitespace trim \define newHereActions() \whitespace trim -<$set name="tags" filter="[] [{$:/config/NewTiddler/Tags}]"> +<$set name="tags" filter="[] [enlist{$:/config/NewTiddler/Tags}]"> <$action-sendmessage $message="tm-new-tiddler" tags=<>/> \end From 0a20c0810738862e83d30f38c0712436b7e27b14 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 12 Mar 2023 15:49:37 +0000 Subject: [PATCH 51/83] Fix Typo Thanks @timp --- editions/tw5.com/tiddlers/concepts/JSONTiddlers.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/concepts/JSONTiddlers.tid b/editions/tw5.com/tiddlers/concepts/JSONTiddlers.tid index caffd063c..1a5a77d17 100644 --- a/editions/tw5.com/tiddlers/concepts/JSONTiddlers.tid +++ b/editions/tw5.com/tiddlers/concepts/JSONTiddlers.tid @@ -8,4 +8,4 @@ A JSON tiddler is a [[data tiddler|DataTiddlers]] containing a [[JSON|JavaScript Its [[ContentType]] is `application/json`. -The [[history list|$:/HistoryList]] is an of a JSON tiddler. +The [[history list|$:/HistoryList]] is an example of a JSON tiddler. From 6f038e362e517606b3037a3f8b2e411e4418c16d Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Sun, 12 Mar 2023 17:49:15 +0100 Subject: [PATCH 52/83] External-js: fix index.html overwrites external wiki (#7356) --- editions/tw5.com/tiddlywiki.info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlywiki.info b/editions/tw5.com/tiddlywiki.info index 1de8bdc87..7379908ee 100644 --- a/editions/tw5.com/tiddlywiki.info +++ b/editions/tw5.com/tiddlywiki.info @@ -52,7 +52,7 @@ "--render","[!is[system]]","[encodeuricomponent[]addprefix[static/]addsuffix[.html]]","text/plain","$:/core/templates/static.tiddler.html", "--render","$:/core/templates/static.template.css","static/static.css","text/plain"], "external-js": [ - "--render","$:/core/save/offline-external-js","index.html","text/plain", + "--render","$:/core/save/offline-external-js","[[external-]addsuffixaddsuffix[.html]]","text/plain", "--render","$:/core/templates/tiddlywiki5.js","[[tiddlywikicore-]addsuffixaddsuffix[.js]]","text/plain"] }, "config": { From aa5a6627e65f46d534397753e79f2e577a951003 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 12 Mar 2023 17:02:16 +0000 Subject: [PATCH 53/83] Revert "Use sticky flag to improve regexp search performance (#7297)" This reverts commit e313857822879187cda8ea1681a73b4a65ef845f. --- core/modules/parsers/parseutils.js | 17 ++++++++--------- core/modules/parsers/wikiparser/rules/html.js | 6 +++--- core/modules/parsers/wikiparser/rules/image.js | 2 +- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/core/modules/parsers/parseutils.js b/core/modules/parsers/parseutils.js index 1c7525588..925674056 100644 --- a/core/modules/parsers/parseutils.js +++ b/core/modules/parsers/parseutils.js @@ -84,8 +84,7 @@ exports.parseTokenString = function(source,pos,token) { }; /* -Look for a token matching a regex at a specified position. Returns null if not found, otherwise returns {type: "regexp", match:, start:, end:,} -Use the "Y" (sticky) flag to avoid searching the entire rest of the string +Look for a token matching a regex. Returns null if not found, otherwise returns {type: "regexp", match:, start:, end:,} */ exports.parseTokenRegExp = function(source,pos,reToken) { var node = { @@ -146,7 +145,7 @@ exports.parseMacroParameter = function(source,pos) { start: pos }; // Define our regexp - var reMacroParameter = /(?:([A-Za-z0-9\-_]+)\s*:)?(?:\s*(?:"""([\s\S]*?)"""|"([^"]*)"|'([^']*)'|\[\[([^\]]*)\]\]|((?:(?:>(?!>))|[^\s>"'])+)))/y; + var reMacroParameter = /(?:([A-Za-z0-9\-_]+)\s*:)?(?:\s*(?:"""([\s\S]*?)"""|"([^"]*)"|'([^']*)'|\[\[([^\]]*)\]\]|((?:(?:>(?!>))|[^\s>"'])+)))/g; // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Look for the parameter @@ -185,7 +184,7 @@ exports.parseMacroInvocation = function(source,pos) { params: [] }; // Define our regexps - var reMacroName = /([^\s>"'=]+)/y; + var reMacroName = /([^\s>"'=]+)/g; // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Look for a double less than sign @@ -222,7 +221,7 @@ exports.parseFilterVariable = function(source) { params: [], }, pos = 0, - reName = /([^\s"']+)/y; + reName = /([^\s"']+)/g; // If there is no whitespace or it is an empty string then there are no macro parameters if(/^\S*$/.test(source)) { node.name = source; @@ -247,10 +246,10 @@ exports.parseAttribute = function(source,pos) { start: pos }; // Define our regexps - var reAttributeName = /([^\/\s>"'=]+)/y, - reUnquotedAttribute = /([^\/\s<>"'=]+)/y, - reFilteredValue = /\{\{\{([\S\s]+?)\}\}\}/y, - reIndirectValue = /\{\{([^\}]+)\}\}/y; + var reAttributeName = /([^\/\s>"'=]+)/g, + reUnquotedAttribute = /([^\/\s<>"'=]+)/g, + reFilteredValue = /\{\{\{([\S\s]+?)\}\}\}/g, + reIndirectValue = /\{\{([^\}]+)\}\}/g; // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Get the attribute name diff --git a/core/modules/parsers/wikiparser/rules/html.js b/core/modules/parsers/wikiparser/rules/html.js index fdaae03ba..7fc4bb96e 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]*\r?\n(?:[^\S\n\r]*\r?\n|$))/y); + 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 @@ -78,7 +78,7 @@ exports.parseTag = function(source,pos,options) { orderedAttributes: [] }; // Define our regexps - var reTagName = /([a-zA-Z0-9\-\$]+)/y; + var reTagName = /([a-zA-Z0-9\-\$]+)/g; // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Look for a less than sign @@ -129,7 +129,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]*\r?\n(?:[^\S\n\r]*\r?\n|$))/y); + token = $tw.utils.parseTokenRegExp(source,pos,/([^\S\n\r]*\r?\n(?:[^\S\n\r]*\r?\n|$))/g); if(!token) { return null; } diff --git a/core/modules/parsers/wikiparser/rules/image.js b/core/modules/parsers/wikiparser/rules/image.js index 9bfce99d2..6b379d9c5 100644 --- a/core/modules/parsers/wikiparser/rules/image.js +++ b/core/modules/parsers/wikiparser/rules/image.js @@ -116,7 +116,7 @@ exports.parseImage = function(source,pos) { // Skip whitespace pos = $tw.utils.skipWhiteSpace(source,pos); // Get the source up to the terminating `]]` - token = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\]]*?)\|)?([^\]]+?)\]\]/y); + token = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\]]*?)\|)?([^\]]+?)\]\]/g); if(!token) { return null; } From 308e207a6778a3b6fe9544df20d637f23efa3d98 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 12 Mar 2023 17:03:19 +0000 Subject: [PATCH 54/83] Remove reference to #7297 from release note --- editions/prerelease/tiddlers/Release 5.2.6.tid | 1 - 1 file changed, 1 deletion(-) diff --git a/editions/prerelease/tiddlers/Release 5.2.6.tid b/editions/prerelease/tiddlers/Release 5.2.6.tid index 3e4410a6a..f2c0ef4b3 100644 --- a/editions/prerelease/tiddlers/Release 5.2.6.tid +++ b/editions/prerelease/tiddlers/Release 5.2.6.tid @@ -100,7 +100,6 @@ Improvements to the following translations: ! Performance Improvements -* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7297">> wikitext parsing to use "sticky" flag for improved performance * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7299">> field indexer to more efficiently process lookups ! Acknowledgements From 95f987544cf13c2acc9e1664db1f42eba5a9cc55 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Tue, 14 Mar 2023 14:50:52 +0000 Subject: [PATCH 55/83] Update save wiki "dirty" state icon See https://talk.tiddlywiki.org/t/now-is-the-time-to-help-with-testing-the-tiddlywiki-v5-2-6-prerelease/6405/60 Addendum to #7232 --- core/images/save-button-dynamic.tid | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/images/save-button-dynamic.tid b/core/images/save-button-dynamic.tid index d0aa13f83..02e66df17 100644 --- a/core/images/save-button-dynamic.tid +++ b/core/images/save-button-dynamic.tid @@ -5,8 +5,7 @@ tags: $:/tags/Image - - - + + \ No newline at end of file From c9e1b91099bbb2e93544433c04a26857f802a296 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sat, 18 Mar 2023 16:02:55 +0000 Subject: [PATCH 56/83] Simplify save wiki button dirty state Thanks to Thomas_Chuffart at https://talk.tiddlywiki.org/t/now-is-the-time-to-help-with-testing-the-tiddlywiki-v5-2-6-prerelease/6405/66 Addendum to #7232 --- core/images/save-button-dynamic.tid | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/images/save-button-dynamic.tid b/core/images/save-button-dynamic.tid index 02e66df17..e88312aac 100644 --- a/core/images/save-button-dynamic.tid +++ b/core/images/save-button-dynamic.tid @@ -5,7 +5,7 @@ tags: $:/tags/Image - - + + \ No newline at end of file From 4ae2d8422b28eaa80e3122e37c3cba8910bf3e9c Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Mon, 20 Mar 2023 14:58:33 +0000 Subject: [PATCH 57/83] Revert to original icon for "dirty" version of save wiki icon This restores the circle-in-a-circle image first introduced in #7232 --- core/images/save-button-dynamic.tid | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/images/save-button-dynamic.tid b/core/images/save-button-dynamic.tid index e88312aac..d0aa13f83 100644 --- a/core/images/save-button-dynamic.tid +++ b/core/images/save-button-dynamic.tid @@ -6,6 +6,7 @@ tags: $:/tags/Image - + + \ No newline at end of file From da1825e6c5652568df79c8bf5168691ee9ff665a Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Mon, 20 Mar 2023 15:10:38 +0000 Subject: [PATCH 58/83] Update release note --- editions/prerelease/tiddlers/Release 5.2.6.tid | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/editions/prerelease/tiddlers/Release 5.2.6.tid b/editions/prerelease/tiddlers/Release 5.2.6.tid index f2c0ef4b3..143d73bd5 100644 --- a/editions/prerelease/tiddlers/Release 5.2.6.tid +++ b/editions/prerelease/tiddlers/Release 5.2.6.tid @@ -28,6 +28,7 @@ type: text/vnd.tiddlywiki Improvements to the following translations: * Chinese +* German * Italian * Polish @@ -38,6 +39,7 @@ Improvements to the following translations: * <<.link-badge-updated "https://github.com/Jermolene/TiddlyWiki5/commit/524cee1489f260375cac8cfe878fdc5942a4596e">> [[XLSX Plugin|XLSX Utilities Edition]] to handle importing numeric fields * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/81f514116657d0d567be7a4c45762a85beaa8bc0">> Dynannotate plugin crash when using the fake DOM used for static rendering * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7281">> bug where pasting text into the CodeMirror editor also opened an `$:/Import` tiddler +* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7334">> documentation for the [[Railroad Plugin]] ! Accessibility Improvements @@ -88,6 +90,7 @@ Improvements to the following translations: * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7243">> usage of `importTitle` and `autoOpenOnImport` options for [[WidgetMessage: tm-import-tiddlers]] * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7276">> fixed text editor refresh when the palette is changed * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/7270">> crash with LetWidget when referencing a variable that exists but has an undefined value +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/7354">> unwanted double braces around tags specified in $:/config/NewTiddler/Tags when using "new here" button ! Node.js Improvements @@ -127,6 +130,7 @@ m42e Marxsal mateuszwilczek newmedicine +michsa pippep pmario saqimtiaz From 4cddfa228bef3316d99abf67fba572a2b1c2bd4e Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Mon, 20 Mar 2023 18:28:07 +0000 Subject: [PATCH 59/83] New release banner for v5.2.6 See competition at https://talk.tiddlywiki.org/t/vote-for-the-tiddlywiki-banner-v5-2-6/6469 --- .../tiddlers/images/New Release Banner.png | Bin 69195 -> 45900 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/editions/tw5.com/tiddlers/images/New Release Banner.png b/editions/tw5.com/tiddlers/images/New Release Banner.png index 6cacb3e3dd58df0e074250a57768443b69aadc33..3fcd908434d8e27538443cd64957a1b44e0f83f0 100644 GIT binary patch literal 45900 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 Eg4bjQI{*Lx literal 69195 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�b3o>3j4 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

qnnV{6qZ!4>k%WY(SahHBpC(&pMg|f)Cl^G2S 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 From 3a2831870b4418b8b01d155b057db5b7485562c1 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Mon, 20 Mar 2023 18:32:59 +0000 Subject: [PATCH 60/83] Remove peace symbol from new release banner Our code of conduct declares that TiddlyWiki does not espouse any political statements. --- .../tiddlers/images/New Release Banner.png | Bin 45900 -> 92174 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/editions/tw5.com/tiddlers/images/New Release Banner.png b/editions/tw5.com/tiddlers/images/New Release Banner.png index 3fcd908434d8e27538443cd64957a1b44e0f83f0..7f30a31b66ceda8e9e80d123a2f72e9d55c3d730 100644 GIT binary patch literal 92174 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

Du?FIdTcxQJ%go77 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 Eg4bjQI{*Lx From 2789bc8ef67e12afede1d432e882433ee849d158 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Mon, 20 Mar 2023 18:44:43 +0000 Subject: [PATCH 61/83] Update release note to add banner competition information --- editions/prerelease/tiddlers/Release 5.2.6.tid | 10 ++++++++-- editions/tw5.com/tiddlers/hellothere/HelloThere.tid | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/editions/prerelease/tiddlers/Release 5.2.6.tid b/editions/prerelease/tiddlers/Release 5.2.6.tid index 143d73bd5..69e85f137 100644 --- a/editions/prerelease/tiddlers/Release 5.2.6.tid +++ b/editions/prerelease/tiddlers/Release 5.2.6.tid @@ -1,12 +1,18 @@ caption: 5.2.6 -created: 20230304213950684 -modified: 20230304213950684 +created: 20230320184352916 +modified: 20230320184352916 tags: ReleaseNotes title: Release 5.2.6 type: text/vnd.tiddlywiki //[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.5...master]]// +<<.banner-credits + credit:"""Congratulations to [[StS|https://talk.tiddlywiki.org/u/StS]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-tiddlywiki-v5-2-6/6403/3]] and the [[voting thread|https://talk.tiddlywiki.org/t/vote-for-the-tiddlywiki-banner-v5-2-6/6469]]). +""" + url:"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/3a2831870b4418b8b01d155b057db5b7485562c1/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png" +>> + ! Major Improvements !! Improved Markdown Plugin diff --git a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid index d80da69c4..100e9ec5b 100644 --- a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +++ b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid @@ -1,6 +1,6 @@ created: 20130822170200000 list: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]] -modified: 20221219184500440 +modified: 20230320184352916 tags: TableOfContents title: HelloThere type: text/vnd.tiddlywiki From e47f038d2a9149ebdae1548ab0e892d42d68b220 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Mon, 20 Mar 2023 18:48:56 +0000 Subject: [PATCH 62/83] Preparing for release of v5.2.6 --- .../prerelease/tiddlers/Release 5.2.7.tid | 60 +++++++++++++++++++ .../tiddlers/releasenotes}/Release 5.2.6.tid | 3 +- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 editions/prerelease/tiddlers/Release 5.2.7.tid rename editions/{prerelease/tiddlers => tw5.com/tiddlers/releasenotes}/Release 5.2.6.tid (99%) diff --git a/editions/prerelease/tiddlers/Release 5.2.7.tid b/editions/prerelease/tiddlers/Release 5.2.7.tid new file mode 100644 index 000000000..d45999418 --- /dev/null +++ b/editions/prerelease/tiddlers/Release 5.2.7.tid @@ -0,0 +1,60 @@ +caption: 5.2.7 +created: 20230320184352916 +modified: 20230320184352916 +tags: ReleaseNotes +title: Release 5.2.7 +type: text/vnd.tiddlywiki + +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.6...master]]// + +! Major Improvements + +! Translation Improvements + +Improvements to the following translations: + +* + +! Plugin Improvements + +* + +! Accessibility Improvements + +* + +! Usability Improvements + +* + +! Widget Improvements + +* + +! Filter improvements + +* + +! Hackability Improvements + +* + +! Bug Fixes + +* + +! Node.js Improvements + +* + +! Performance Improvements + +* + +! Acknowledgements + +[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: + +<<.contributors """ + +""">> \ No newline at end of file diff --git a/editions/prerelease/tiddlers/Release 5.2.6.tid b/editions/tw5.com/tiddlers/releasenotes/Release 5.2.6.tid similarity index 99% rename from editions/prerelease/tiddlers/Release 5.2.6.tid rename to editions/tw5.com/tiddlers/releasenotes/Release 5.2.6.tid index 69e85f137..575d9d47b 100644 --- a/editions/prerelease/tiddlers/Release 5.2.6.tid +++ b/editions/tw5.com/tiddlers/releasenotes/Release 5.2.6.tid @@ -1,11 +1,12 @@ caption: 5.2.6 created: 20230320184352916 modified: 20230320184352916 +released: 20230320184352916 tags: ReleaseNotes title: Release 5.2.6 type: text/vnd.tiddlywiki -//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.5...master]]// +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.5...v5.2.6]]// <<.banner-credits credit:"""Congratulations to [[StS|https://talk.tiddlywiki.org/u/StS]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-tiddlywiki-v5-2-6/6403/3]] and the [[voting thread|https://talk.tiddlywiki.org/t/vote-for-the-tiddlywiki-banner-v5-2-6/6469]]). From e6149e7e29f721dcfa9472636ba718edd35fc35f Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Mon, 20 Mar 2023 18:50:30 +0000 Subject: [PATCH 63/83] Update readme for v5.2.6 --- readme.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index fb82c6b4e..42a8b6cab 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,15 @@

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.

Learn more and see it in action at https://tiddlywiki.com/

Developer documentation is in progress at https://tiddlywiki.com/dev/

Join the Community

Official Forums

The new official forum for talking about TiddlyWiki: requests for help, announcements of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.

https://talk.tiddlywiki.org/

Note that talk.tiddlywiki.org is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.

For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):

https://groups.google.com/group/TiddlyWiki

Developer Forums

There are several resources for developers to learn more about TiddlyWiki and to discuss and contribute to its development.

Other Forums

Documentation

There is also a discussion group specifically for discussing TiddlyWiki documentation improvement initiatives: https://groups.google.com/group/tiddlywikidocs

-

Installing TiddlyWiki on Node.js

  1. Install Node.js
    • Linux:
      Debian/Ubuntu:
      apt install nodejs
      May need to be followed up by:
      apt install npm
      Arch Linux
      yay -S tiddlywiki
      (installs node and tiddlywiki)
    • Mac
      brew install node
    • Android
    • Other
  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:
    sudo npm install -g tiddlywiki (Mac/Linux)
  3. Ensure TiddlyWiki is installed by typing:
    tiddlywiki --version
    • In response, you should see TiddlyWiki report its current version (eg "5.2.5". You may also see other debugging information reported.)
  4. Try it out:
    1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
    2. tiddlywiki mynewwiki --listen to start TiddlyWiki
    3. Visit http://127.0.0.1:8080/ in your browser
    4. Try editing and creating tiddlers
  5. Optionally, make an offline copy:
    • click the save changes button in the sidebar, OR
    • tiddlywiki mynewwiki --build index

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

If you are using Debian or Debian-based Linux and you are receiving a node: command not found error though node.js package is installed, you may need to create a symbolic link between nodejs and node. Consult your distro's manual and whereis to correctly create a link. See github issue 1434.

Example Debian v8.0: sudo ln -s /usr/bin/nodejs /usr/bin/node


+

Installing TiddlyWiki on Node.js

  1. Install Node.js
    • Linux:
      Debian/Ubuntu:
      apt install nodejs
      May need to be followed up by:
      apt install npm
      Arch Linux
      yay -S tiddlywiki
      (installs node and tiddlywiki)
    • Mac
      brew install node
    • Android
    • Other
  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:
    sudo npm install -g tiddlywiki (Mac/Linux)
  3. Ensure TiddlyWiki is installed by typing:
    tiddlywiki --version
    • In response, you should see TiddlyWiki report its current version (eg "5.2.6". You may also see other debugging information reported.)
  4. Try it out:
    1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
    2. tiddlywiki mynewwiki --listen to start TiddlyWiki
    3. Visit http://127.0.0.1:8080/ in your browser
    4. Try editing and creating tiddlers
  5. Optionally, make an offline copy:
    • click the + + + + + + + + save changes button in the sidebar, OR
    • tiddlywiki mynewwiki --build index

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

If you are using Debian or Debian-based Linux and you are receiving a node: command not found error though node.js package is installed, you may need to create a symbolic link between nodejs and node. Consult your distro's manual and whereis to correctly create a link. See github issue 1434.

Example Debian v8.0: sudo ln -s /usr/bin/nodejs /usr/bin/node


You can also install prior versions like this:
npm install -g tiddlywiki@5.1.13

Using TiddlyWiki on Node.js

TiddlyWiki5 includes a set of commands for use on the command line to perform an extensive set of operations based on TiddlyWikiFolders, TiddlerFiles.

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.

New in: 5.1.20 First, there can be zero or more plugin references identified by the prefix + for plugin names or ++ for a path to a plugin folder. These plugins are loaded in addition to any specified in the TiddlyWikiFolder.

The next 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 [+<pluginname> | ++<pluginpath>] [<wikipath>] [--<command> [<arg>[,<arg>]]]

For example:

tiddlywiki --version
 tiddlywiki +plugins/tiddlywiki/filesystem +plugins/tiddlywiki/tiddlyweb mywiki --listen

From 97bc9039e61fb21d21a31be8274ef652efc2ea39 Mon Sep 17 00:00:00 2001
From: "jeremy@jermolene.com" 
Date: Mon, 20 Mar 2023 18:51:07 +0000
Subject: [PATCH 64/83] Version number update for 5.2.6

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 1d0d46415..02b2aaec7 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "tiddlywiki",
   "preferGlobal": "true",
-  "version": "5.2.6-prerelease",
+  "version": "5.2.6",
   "author": "Jeremy Ruston ",
   "description": "a non-linear personal web notebook",
   "contributors": [

From 925ff202a07689882e9670fb1426167076f8bb7a Mon Sep 17 00:00:00 2001
From: "jeremy@jermolene.com" 
Date: Mon, 20 Mar 2023 19:01:54 +0000
Subject: [PATCH 65/83] Preparing for v5.2.7

---
 bin/build-site.sh                             |   2 +-
 core/wiki/config/OfficialPluginLibrary.tid    |   2 +-
 .../PrereleaseOfficialPluginLibrary.tid       |   2 +-
 .../tiddlers/images/New Release Banner.png    | Bin 92174 -> 79948 bytes
 package.json                                  |   2 +-
 5 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bin/build-site.sh b/bin/build-site.sh
index 7f56e6d30..d718ac1cb 100755
--- a/bin/build-site.sh
+++ b/bin/build-site.sh
@@ -5,7 +5,7 @@
 # Default to the current version number for building the plugin library
 
 if [  -z "$TW5_BUILD_VERSION" ]; then
-    TW5_BUILD_VERSION=v5.2.6
+    TW5_BUILD_VERSION=v5.2.7
 fi
 
 echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"
diff --git a/core/wiki/config/OfficialPluginLibrary.tid b/core/wiki/config/OfficialPluginLibrary.tid
index cddb5e1fc..a04ff855e 100644
--- a/core/wiki/config/OfficialPluginLibrary.tid
+++ b/core/wiki/config/OfficialPluginLibrary.tid
@@ -1,6 +1,6 @@
 title: $:/config/OfficialPluginLibrary
 tags: $:/tags/PluginLibrary
-url: https://tiddlywiki.com/library/v5.2.6/index.html
+url: https://tiddlywiki.com/library/v5.2.7/index.html
 caption: {{$:/language/OfficialPluginLibrary}}
 
 {{$:/language/OfficialPluginLibrary/Hint}}
diff --git a/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid b/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid
index b9ffb0fce..699502dd4 100644
--- a/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid
+++ b/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid
@@ -1,6 +1,6 @@
 title: $:/config/OfficialPluginLibrary
 tags: $:/tags/PluginLibrary
-url: https://tiddlywiki.com/prerelease/library/v5.2.6/index.html
+url: https://tiddlywiki.com/prerelease/library/v5.2.7/index.html
 caption: {{$:/language/OfficialPluginLibrary}} (Prerelease)
 
 The prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.
diff --git a/editions/tw5.com/tiddlers/images/New Release Banner.png b/editions/tw5.com/tiddlers/images/New Release Banner.png
index 7f30a31b66ceda8e9e80d123a2f72e9d55c3d730..164561b399768795b84bd11ab79d7a5a53fbe4b3 100644
GIT binary patch
delta 79386
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
47@7I4dzHx5z< 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 q942p}!ou7n2nL0AB{x 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

Du?FIdTcxQJ%go77 z=Fm4u1+H)DNtO0NKOxXB9m~8mS6)Lf+<6o4oXEKP=BeJesKtkzubA6|mAc@*eDw6i z!BLm2xPyaB%V~RgHK_TmX3%K1Yc-!a>!c1h)k)Plp$i4p8xB~^DykAOR5(w}WNN^h zKF~Qb9zMiaMdr|X&M4PBniJ9(70im2Sz$J$V$+ktq*n_E+obhKYvY*Jd?*p)+t7<*xMKT)1;~Tu%BqdiLVlJTA6c#DipRiwi?a$_D1(rr`uj>C&WtA zI7yOpYB%K4VZ*F^&Ljx*qu5Uz8&Q5LmSUFa`3yVXsAH3tZ92=RhxT;X07-k4b zwFt?z9Zn98)pwwE=;8D1t4#Nl26+0cADdLt_!*JA4=T!N+lg zm+^C{9~QAwMuiH%lB-S#My*rewm!=1&;#VRDeNE;M_4xOs>XEvkjhnM(gyKDt`g2z zQQd-;RL%Our%;hA2;(?+7swcoT!0i8R%y67^NWjM;it|OZDMt5x{iBN?lBkSp2eOz zG1UKK0k2VAD9KTkT^tXw;;yoaDl8gSOj6GImP^CU70bLzswd7IjsXoujEA@(DU*%L zg=*kdxf7)&?X283ntQ1nhN9yR-;^uE@&~GHP0Tm!j+_x}=;Fi6t1-23#*_3tYWVow z0TsMa!-eJ0TQpRwVk>g0un3S>$FD%P%>ji*!T?2mZgWE8;7YVhQZz#zo(5(j)1XmB z+BH`d)(3LE!RZ%R8U0OhZGh|*Lob=$N;Xu%;QjQZk0~~Lp%acb0*ezz;F@u+ap}nl z70QBSV`dYrfhNE%hDnMI9N3HyPvVl|^jUgS+jV@`0|gveS7;h$SU@^@N{tvy23&d3 z98}#-3?rFXpWLz3meO47&Tg3@8qJx%D7w)&{U3y9j1r02SFsT+(o7Nc3tZyYIfH5y zDo8Q0kVF_}209-jNfQc^%C0W*XoZ#8Dnp7h^>BGjz^ue(aE;;4bK-1v612Y-E&_yH zb_5q=7LsO-@I`*V^W%*Wg>z|;=C8A|w<>_tLW0=^lHByxFo}RTH#dxzNXv7f5p#=y z!#RW^q_>bZUeiu#c#OL$Qv$%&k*tPj`fui{C?P6I z#l=Bo6I7^BE-)dv+#Y?Cvu3+_;#sY95RuNN@nDB1)S1q@Tqt)?6CFpH)?|qdkj8#8 zV`EY`TCP@!MlB}DSuUCR0nlT2c8^-_yr|jZRwLOt6)}Zzk@;_Ns7$>I7X+A)B0$^4 z=BhCRMwiR`741I&X0l^90yxsR$DT}O z0R2fsK~xiY2W#{86m~-u2%?iS-r&z zG!y(113z{d$p|hQ-g?Qh`2*&9xwzW5z7H=H#GTajTNG9a?kda)3mYYwY@~;YmO*n; ztm@5m-y14B-ZF?bjRwi=ieP=U;w>ti4=BOlC=r);RV-{+ZRt&|@TMb", "description": "a non-linear personal web notebook", "contributors": [ From bcca4eca813b98cb00d32b97a5932843d33b4f34 Mon Sep 17 00:00:00 2001 From: Cameron Fischer Date: Thu, 23 Mar 2023 18:37:35 -0400 Subject: [PATCH 66/83] Fixed issue with trailing newlines in macrodefs (#7371) --- .../parsers/wikiparser/rules/macrodef.js | 2 +- .../tests/data/macros/TrailingNewlines.tid | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 editions/test/tiddlers/tests/data/macros/TrailingNewlines.tid diff --git a/core/modules/parsers/wikiparser/rules/macrodef.js b/core/modules/parsers/wikiparser/rules/macrodef.js index 1d7ac9211..1efd3449a 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 = new RegExp("(\\r?\\n\\s*\\\\end[^\\S\\n\\r]*(?:" + $tw.utils.escapeRegExp(this.match[1]) + ")?(?:$|\\r?\\n))","mg"); + reEnd = new RegExp("(\\r?\\n[^\\S\\n\\r]*\\\\end[^\\S\\n\\r]*(?:" + $tw.utils.escapeRegExp(this.match[1]) + ")?(?:$|\\r?\\n))","mg"); } else { // Otherwise, the end of the definition is marked by the end of the line reEnd = /($|\r?\n)/mg; diff --git a/editions/test/tiddlers/tests/data/macros/TrailingNewlines.tid b/editions/test/tiddlers/tests/data/macros/TrailingNewlines.tid new file mode 100644 index 000000000..18037fac2 --- /dev/null +++ b/editions/test/tiddlers/tests/data/macros/TrailingNewlines.tid @@ -0,0 +1,22 @@ +title: Macros/TrailingNewlines +description: Trailing newlines in macros must not be dropped +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] + +title: Output + +\define inner() +Paragraph 1 + +Paragraph 2 +\end +\define outer() +<$macrocall $name=inner /> + +\end +<> + ++ +title: ExpectedResult + +

Paragraph 1

Paragraph 2

\ No newline at end of file From 7926af85419ef2f813276a05833598d6d65e2ecd Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sat, 25 Mar 2023 07:52:44 +0000 Subject: [PATCH 67/83] Updated release banner for v5.2.7 --- .../tiddlers/images/New Release Banner.png | Bin 79948 -> 31837 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/editions/tw5.com/tiddlers/images/New Release Banner.png b/editions/tw5.com/tiddlers/images/New Release Banner.png index 164561b399768795b84bd11ab79d7a5a53fbe4b3..1d9c610f248ac98b956517e4f33b61dc9420dc50 100644 GIT binary patch literal 31837 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

1<;xcBM1zV}q` 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 From e82053609bf996568d67fe1425cabb69e0a07902 Mon Sep 17 00:00:00 2001 From: yaisog Date: Sat, 25 Mar 2023 18:56:12 +0100 Subject: [PATCH 68/83] Tweak some examples for get and getindex (#7376) --- editions/tw5.com/tiddlers/filters/examples/get.tid | 6 +++--- editions/tw5.com/tiddlers/filters/examples/getindex.tid | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/editions/tw5.com/tiddlers/filters/examples/get.tid b/editions/tw5.com/tiddlers/filters/examples/get.tid index 87655d0cb..c85a38f3e 100644 --- a/editions/tw5.com/tiddlers/filters/examples/get.tid +++ b/editions/tw5.com/tiddlers/filters/examples/get.tid @@ -1,5 +1,5 @@ created: 20150118134611000 -modified: 20230310154010278 +modified: 20230325163424379 myfield: tags: [[get Operator]] [[Operator Examples]] title: get Operator (Examples) @@ -15,8 +15,8 @@ type: text/vnd.tiddlywiki <<.operator-example 4 "[all[current]get[myfield]]" "the empty value of field <<.field myfield>> is not returned by the <<.olink get>> operator">> -<<.operator-example 5 "[all[current]] :filter[has:field[myfield]] :map[get[myfield]]" "also returns the empty string">> -The above example works by first using the [[Filter Filter Run Prefix]] to only select titles that have the field <<.field myfield>> and then using the [[Map Filter Run Prefix]] to replace those titles with their value of that field. The [[Map Filter Run Prefix]] outputs an empty string when its filter run returns an empty [[selection|Title Selection]]. +<<.operator-example 5 "[all[current]has:field[myfield]] :map[get[myfield]]" "also returns the empty string">> +The above example works by first checking if the input title has the field <<.field myfield>> and then using the [[Map Filter Run Prefix]] to replace the title with their value of that field. If the input tiddler does not have the field, an empty <<.em selection>> is returned. The subsequent [[Map Filter Run Prefix]] outputs an empty <<.em string>> when its run returns an empty [[selection|Title Selection]] (because the field is empty). <<.operator-example 6 "[all[tiddlers]] :filter[get[created]compare:date:lt{HelloThere!!created}]" "return all tiddlers that are older than [[HelloThere]]">> The above example demonstrates two different ways of accessing field values in filters: Use <<.olink get>> when the title is not known in advance as with the [[Filter Filter Run Prefix]] where <<.var currentTiddler>> is set to the current input title. Use a [[TextReference]] as an indirect [[Filter Parameter]] when the title is known. diff --git a/editions/tw5.com/tiddlers/filters/examples/getindex.tid b/editions/tw5.com/tiddlers/filters/examples/getindex.tid index beb52fc19..6dab64c77 100644 --- a/editions/tw5.com/tiddlers/filters/examples/getindex.tid +++ b/editions/tw5.com/tiddlers/filters/examples/getindex.tid @@ -1,5 +1,5 @@ created: 20150203140000000 -modified: 20230309180501044 +modified: 20230325163543621 tags: [[getindex Operator]] [[Operator Examples]] title: getindex Operator (Examples) type: text/vnd.tiddlywiki @@ -12,8 +12,8 @@ type: text/vnd.tiddlywiki <<.operator-example 3 "[[ListopsData]getindex[DataIndex]]" "the empty value of the property <<.field ~DataIndex>> in [[ListopsData]] is not returned by the <<.olink getindex>> operator">> -<<.operator-example 4 "[[ListopsData]] :filter[has:index[DataIndex]] :map[getindex[DataIndex]]" "also returns the empty string">> -The above example works by first using the [[Filter Filter Run Prefix]] to only select titles that have the property <<.field ~DataIndex>> and then using the [[Map Filter Run Prefix]] to replace those titles with their value of that property. The [[Map Filter Run Prefix]] outputs an empty string when its filter run returns an empty [[selection|Title Selection]]. +<<.operator-example 4 "[[ListopsData]has:index[DataIndex]] :map[getindex[DataIndex]]" "also returns the empty string">> +The above example works by first checking if the input title has the property <<.field ~DataIndex>> and then using the [[Map Filter Run Prefix]] to replace the title with their value of that property. If the input tiddler does not have the property, an empty <<.em selection>> is returned. The subsequent [[Map Filter Run Prefix]] outputs an empty <<.em string>> when its run returns an empty [[selection|Title Selection]] (because the property is empty). <<.operator-example 5 "[[$:/palettes/Vanilla]indexes[]] :filter[[$:/palettes/Vanilla]getindexcount[]compare:number:eq[0]]" "returns those colors in [[$:/palettes/Vanilla]] which are defined, but have no value assigned">> In the above example, <<.olink count>> is used to check if <<.olink getindex>> returns a result (i.e. the corresponding property has a value) or not. \ No newline at end of file From 4bb3d2ba3423b66362240b63cd3069b12d380fe7 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 26 Mar 2023 08:49:40 +0100 Subject: [PATCH 69/83] Preparing for the release of v5.2.7 --- .../{Release 5.2.7.tid => Release 5.2.8.tid} | 10 ++++---- .../tiddlers/hellothere/HelloThere.tid | 2 +- .../tiddlers/releasenotes/Release 5.2.7.tid | 24 +++++++++++++++++++ readme.md | 2 +- 4 files changed, 31 insertions(+), 7 deletions(-) rename editions/prerelease/tiddlers/{Release 5.2.7.tid => Release 5.2.8.tid} (81%) create mode 100644 editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid diff --git a/editions/prerelease/tiddlers/Release 5.2.7.tid b/editions/prerelease/tiddlers/Release 5.2.8.tid similarity index 81% rename from editions/prerelease/tiddlers/Release 5.2.7.tid rename to editions/prerelease/tiddlers/Release 5.2.8.tid index d45999418..18ca202b5 100644 --- a/editions/prerelease/tiddlers/Release 5.2.7.tid +++ b/editions/prerelease/tiddlers/Release 5.2.8.tid @@ -1,11 +1,11 @@ -caption: 5.2.7 -created: 20230320184352916 -modified: 20230320184352916 +caption: 5.2.8 +created: 20230326093239710 +modified: 20230326093239710 tags: ReleaseNotes -title: Release 5.2.7 +title: Release 5.2.8 type: text/vnd.tiddlywiki -//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.6...master]]// +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.7...master]]// ! Major Improvements diff --git a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid index 100e9ec5b..b538f96fa 100644 --- a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +++ b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid @@ -1,6 +1,6 @@ created: 20130822170200000 list: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]] -modified: 20230320184352916 +modified: 20230326083239710 tags: TableOfContents title: HelloThere type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid b/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid new file mode 100644 index 000000000..4fd58cfd6 --- /dev/null +++ b/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid @@ -0,0 +1,24 @@ +caption: 5.2.7 +created: 20230326083239710 +modified: 20230326083239710 +tags: ReleaseNotes +title: Release 5.2.7 +type: text/vnd.tiddlywiki + +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.6...v5.2.7]]// + +<<.banner-credits + credit:"""Congratulations to [[StS|https://talk.tiddlywiki.org/u/StS]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-tiddlywiki-v5-2-6/6403/3]] and the [[voting thread|https://talk.tiddlywiki.org/t/vote-for-the-tiddlywiki-banner-v5-2-6/6469]]). +""" + url:"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/7926af85419ef2f813276a05833598d6d65e2ecd/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png" +>> + +This is a bug fix release intended to resolve a backwards compatibility issue discovered in v5.2.6. See [[this GitHub ticket|https://github.com/Jermolene/TiddlyWiki5/issues/7371]] for the background. + +The issue is that trailing newlines within a macro definitions were being ignored, which affected whether the content were parsed in inline or block mode. + +Since v5.2.7 replaces v5.2.6 that was only released for less than a week, here is the [[release note for v5.2.6|Release 5.2.6]]. + +! Release Note for v5.2.6 + +{{Release 5.2.6}} diff --git a/readme.md b/readme.md index 42a8b6cab..828c5e736 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@

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.

Learn more and see it in action at https://tiddlywiki.com/

Developer documentation is in progress at https://tiddlywiki.com/dev/

Join the Community

Official Forums

The new official forum for talking about TiddlyWiki: requests for help, announcements of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.

https://talk.tiddlywiki.org/

Note that talk.tiddlywiki.org is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.

For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):

https://groups.google.com/group/TiddlyWiki

Developer Forums

There are several resources for developers to learn more about TiddlyWiki and to discuss and contribute to its development.

Other Forums

Documentation

There is also a discussion group specifically for discussing TiddlyWiki documentation improvement initiatives: https://groups.google.com/group/tiddlywikidocs

-

Installing TiddlyWiki on Node.js

  1. Install Node.js
    • Linux:
      Debian/Ubuntu:
      apt install nodejs
      May need to be followed up by:
      apt install npm
      Arch Linux
      yay -S tiddlywiki
      (installs node and tiddlywiki)
    • Mac
      brew install node
    • Android
    • Other
  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:
    sudo npm install -g tiddlywiki (Mac/Linux)
  3. Ensure TiddlyWiki is installed by typing:
    tiddlywiki --version
    • In response, you should see TiddlyWiki report its current version (eg "5.2.6". You may also see other debugging information reported.)
  4. Try it out:
    1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
    2. tiddlywiki mynewwiki --listen to start TiddlyWiki
    3. Visit http://127.0.0.1:8080/ in your browser
    4. Try editing and creating tiddlers
  5. Optionally, make an offline copy:
    • click the +

      Installing TiddlyWiki on Node.js

      1. Install Node.js
        • Linux:
          Debian/Ubuntu:
          apt install nodejs
          May need to be followed up by:
          apt install npm
          Arch Linux
          yay -S tiddlywiki
          (installs node and tiddlywiki)
        • Mac
          brew install node
        • Android
        • Other
      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:
        sudo npm install -g tiddlywiki (Mac/Linux)
      3. Ensure TiddlyWiki is installed by typing:
        tiddlywiki --version
        • In response, you should see TiddlyWiki report its current version (eg "5.2.7". You may also see other debugging information reported.)
      4. Try it out:
        1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
        2. tiddlywiki mynewwiki --listen to start TiddlyWiki
        3. Visit http://127.0.0.1:8080/ in your browser
        4. Try editing and creating tiddlers
      5. Optionally, make an offline copy:
        • click the From ee0a32c8f146c6134fa14df7967948ccc932d681 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 26 Mar 2023 08:50:15 +0100 Subject: [PATCH 70/83] Version number update for 5.2.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ed85e105a..d8d740c5f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tiddlywiki", "preferGlobal": "true", - "version": "5.2.7-prerelease", + "version": "5.2.7", "author": "Jeremy Ruston ", "description": "a non-linear personal web notebook", "contributors": [ From 5cdffd69439bbbfe8b04600112a23a2cda45b40e Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 26 Mar 2023 09:05:06 +0100 Subject: [PATCH 71/83] Missed release date for v5.2.7 --- editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid | 1 + 1 file changed, 1 insertion(+) diff --git a/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid b/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid index 4fd58cfd6..62a6b5264 100644 --- a/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid +++ b/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid @@ -1,6 +1,7 @@ caption: 5.2.7 created: 20230326083239710 modified: 20230326083239710 +released: 20230326083239710 tags: ReleaseNotes title: Release 5.2.7 type: text/vnd.tiddlywiki From 07960f15272e61edf457280e57dd5cff9c0588c7 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sun, 26 Mar 2023 09:28:26 +0100 Subject: [PATCH 72/83] Update relesase banner for v5.2.8 --- .../tiddlers/images/New Release Banner.png | Bin 31837 -> 81675 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/editions/tw5.com/tiddlers/images/New Release Banner.png b/editions/tw5.com/tiddlers/images/New Release Banner.png index 1d9c610f248ac98b956517e4f33b61dc9420dc50..74e2557d8b3766f57e98daf4f2a1616324161bc2 100644 GIT binary patch literal 81675 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
          `GSzJ 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

          7e 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 JPDHLkV1lmDi7Eg9 literal 31837 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 c=QTV35BCJBQcN^ Date: Sun, 26 Mar 2023 12:56:40 +0100 Subject: [PATCH 73/83] Preparation for v5.2.8 --- bin/build-site.sh | 2 +- core/wiki/config/OfficialPluginLibrary.tid | 2 +- .../tiddlers/system/PrereleaseOfficialPluginLibrary.tid | 2 +- package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/build-site.sh b/bin/build-site.sh index d718ac1cb..b77a18434 100755 --- a/bin/build-site.sh +++ b/bin/build-site.sh @@ -5,7 +5,7 @@ # Default to the current version number for building the plugin library if [ -z "$TW5_BUILD_VERSION" ]; then - TW5_BUILD_VERSION=v5.2.7 + TW5_BUILD_VERSION=v5.2.8 fi echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]" diff --git a/core/wiki/config/OfficialPluginLibrary.tid b/core/wiki/config/OfficialPluginLibrary.tid index a04ff855e..20bb13d0d 100644 --- a/core/wiki/config/OfficialPluginLibrary.tid +++ b/core/wiki/config/OfficialPluginLibrary.tid @@ -1,6 +1,6 @@ title: $:/config/OfficialPluginLibrary tags: $:/tags/PluginLibrary -url: https://tiddlywiki.com/library/v5.2.7/index.html +url: https://tiddlywiki.com/library/v5.2.8/index.html caption: {{$:/language/OfficialPluginLibrary}} {{$:/language/OfficialPluginLibrary/Hint}} diff --git a/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid b/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid index 699502dd4..510d876d0 100644 --- a/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +++ b/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid @@ -1,6 +1,6 @@ title: $:/config/OfficialPluginLibrary tags: $:/tags/PluginLibrary -url: https://tiddlywiki.com/prerelease/library/v5.2.7/index.html +url: https://tiddlywiki.com/prerelease/library/v5.2.8/index.html caption: {{$:/language/OfficialPluginLibrary}} (Prerelease) The prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team. diff --git a/package.json b/package.json index d8d740c5f..f65fda395 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tiddlywiki", "preferGlobal": "true", - "version": "5.2.7", + "version": "5.2.8-prerelease", "author": "Jeremy Ruston ", "description": "a non-linear personal web notebook", "contributors": [ From d7c89de11de5feb50eb19d87bbbb80992196f97a Mon Sep 17 00:00:00 2001 From: Saq Imtiaz Date: Sun, 26 Mar 2023 19:03:02 +0200 Subject: [PATCH 74/83] Update docs for TiddlerTemplate classes (#7377) * Update docs for TiddlerTemplate classes * Update SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid --- .../SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid b/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid index 49ad90100..245e7cbdb 100644 --- a/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid +++ b/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid @@ -1,9 +1,14 @@ caption: $:/tags/ClassFilters/TiddlerTemplate created: 20221020035738692 description: marks filters evaluated to dynamically add classes to the page template. -modified: 20221020035933363 +modified: 20230326153057521 tags: SystemTags title: SystemTag: $:/tags/ClassFilters/TiddlerTemplate type: text/vnd.tiddlywiki The [[system tag|SystemTags]] `$:/tags/ClassFilters/TiddlerTemplate` marks filters evaluated to dynamically add their output as CSS classes to the tiddler template. + +The variables available are within each filter: + +* <<.var storyTiddler>>: the tiddler in the story for which the filter should be evaluated. +* <<.var currentTiddler>>: the tiddler holding the filter definition being evaluated. From 29c22604579cc125e57d3de1d53a7fcc390a5eba Mon Sep 17 00:00:00 2001 From: Mohammad Rahmani <830394+kookma@users.noreply.github.com> Date: Tue, 28 Mar 2023 11:52:32 +0330 Subject: [PATCH 75/83] Update ListMacro.tid (#7381) The field input parameter was corrected --- editions/tw5.com/tiddlers/macros/ListMacro.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/macros/ListMacro.tid b/editions/tw5.com/tiddlers/macros/ListMacro.tid index 33bbb5713..fd7079850 100644 --- a/editions/tw5.com/tiddlers/macros/ListMacro.tid +++ b/editions/tw5.com/tiddlers/macros/ListMacro.tid @@ -15,7 +15,7 @@ Note: Each first [[step|Filter Step]] of a [[filter run|Filter Run]] not given a ;filter : A [[filter|Filters]] selecting which tiddlers to include -;caption +;field : The name of the field to transclude for each list item, defaulting to `caption` ;type : An HTML element to use for the overall list element, defaulting to `ul` From c28dbd00257ef741f352e9bc58209057a547d357 Mon Sep 17 00:00:00 2001 From: Mohammad Rahmani <830394+kookma@users.noreply.github.com> Date: Tue, 28 Mar 2023 11:53:02 +0330 Subject: [PATCH 76/83] Update regexp.tid (#7382) The list-links by default show caption of listed tiddlers instead of their title. So in the example here ``` <$macrocall $name="wikitext-example-without-html" src="""<$set name="digit-pattern" value="[0-9]{2}"> <]" field:"title">> """/> ``` you need to use field:"title" to see the correct results visually. --- editions/tw5.com/tiddlers/filters/examples/regexp.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/filters/examples/regexp.tid b/editions/tw5.com/tiddlers/filters/examples/regexp.tid index 161df8937..5b18a1613 100644 --- a/editions/tw5.com/tiddlers/filters/examples/regexp.tid +++ b/editions/tw5.com/tiddlers/filters/examples/regexp.tid @@ -17,5 +17,5 @@ The regular expression `[0-9]{2}` matches two consecutive digits. Because it con <$macrocall $name="wikitext-example-without-html" src="""<$set name="digit-pattern" value="[0-9]{2}"> -<]">> +<]" field:"title">> """/> From f7c3ac4c54c353c8a756826a228c156825a9f897 Mon Sep 17 00:00:00 2001 From: Marxsal Date: Mon, 3 Apr 2023 12:20:32 -0700 Subject: [PATCH 77/83] Add save mechanism TiddlyStow (#7389) * Add save mechanism TiddlyStow * Add save mechanism TiddlyStow (incl url) --- .../Saving on Browser with TiddlyStow.tid | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 editions/tw5.com/tiddlers/Saving on Browser with TiddlyStow.tid diff --git a/editions/tw5.com/tiddlers/Saving on Browser with TiddlyStow.tid b/editions/tw5.com/tiddlers/Saving on Browser with TiddlyStow.tid new file mode 100644 index 000000000..870936ffc --- /dev/null +++ b/editions/tw5.com/tiddlers/Saving on Browser with TiddlyStow.tid @@ -0,0 +1,16 @@ +caption: TiddlyStow (experimental) +color: #FF8A65 +created: 20230403170650008 +delivery: Saver +description: Save changes using new versions of Chromium based browsers +method: save +modified: 20230403183020357 +tags: Chrome Edge Opera Saving Linux Mac Windows +title: Saving on Browser with TiddlyStow +type: text/vnd.tiddlywiki +url: https://github.com/btheado/tiddlystow + +''Link:'' {{!!url}} + +Tiddlystow saves TiddlyWiki files locally using the browser file system API (Chrome-based browsers currently). +This is a simple web page for loading a local TiddlyWiki file and storing it back to the same local file requiring no plugins or extensions. \ No newline at end of file From bfcb386343f43b0b965ad614eda512af06f8a2bb Mon Sep 17 00:00:00 2001 From: yaisog Date: Tue, 4 Apr 2023 19:00:04 +0200 Subject: [PATCH 78/83] Restructure and optimize `CheckboxWidget` docs (#7362) * Restructure and optimize `CheckboxWidget` docs * Minor improvements * Use new tab macros and some reformatting * Fix bug in widget-attr-link tooltip * Minor layout tweaks * First try at a Widget Documentation Style Guide * Add new tabs-related macros to overview * Update CSS, add tm-scroll and rename macros * Avoid RSoE with tm-scroll, improve CSS for tab-links * Handle doc-tab-links within tab tiddlers better * Reflect macro name changes in their docs * Update Widget Doc Style Guide --- .../styleguide/Documentation Macros.tid | 9 +- .../styleguide/Reference Tiddlers.tid | 5 +- .../Widget Documentation Style Guide.tid | 37 +++++ .../tw5.com/tiddlers/system/doc-macros.tid | 35 ++++- .../tw5.com/tiddlers/system/doc-styles.tid | 14 +- .../widgets/CheckboxWidget (field Mode).tid | 16 +++ .../widgets/CheckboxWidget (filter Mode).tid | 23 +++ .../CheckboxWidget (indeterminate).tid | 31 ++++ .../widgets/CheckboxWidget (index Mode).tid | 16 +++ .../CheckboxWidget (listField Mode).tid | 26 ++++ .../CheckboxWidget (listIndex Mode).tid | 32 +++++ .../widgets/CheckboxWidget (tag Mode).tid | 18 +++ .../tiddlers/widgets/CheckboxWidget.tid | 134 +++--------------- 13 files changed, 278 insertions(+), 118 deletions(-) create mode 100644 editions/tw5.com/tiddlers/styleguide/Widget Documentation Style Guide.tid create mode 100644 editions/tw5.com/tiddlers/widgets/CheckboxWidget (field Mode).tid create mode 100644 editions/tw5.com/tiddlers/widgets/CheckboxWidget (filter Mode).tid create mode 100644 editions/tw5.com/tiddlers/widgets/CheckboxWidget (indeterminate).tid create mode 100644 editions/tw5.com/tiddlers/widgets/CheckboxWidget (index Mode).tid create mode 100644 editions/tw5.com/tiddlers/widgets/CheckboxWidget (listField Mode).tid create mode 100644 editions/tw5.com/tiddlers/widgets/CheckboxWidget (listIndex Mode).tid create mode 100644 editions/tw5.com/tiddlers/widgets/CheckboxWidget (tag Mode).tid diff --git a/editions/tw5.com/tiddlers/styleguide/Documentation Macros.tid b/editions/tw5.com/tiddlers/styleguide/Documentation Macros.tid index 0b92d0770..ac5d4ea19 100644 --- a/editions/tw5.com/tiddlers/styleguide/Documentation Macros.tid +++ b/editions/tw5.com/tiddlers/styleguide/Documentation Macros.tid @@ -1,5 +1,5 @@ created: 20150110182600000 -modified: 20211206080809651 +modified: 20230325161424684 tags: [[Improving TiddlyWiki Documentation]] title: Documentation Macros type: text/vnd.tiddlywiki @@ -58,6 +58,13 @@ The following macros are used throughout ~TiddlyWiki's documentation. Their name |.wlink |a link to a widget |<<.wlink ButtonWidget>> | |.wlink2 |a link to a widget, with specified text |<<.wlink2 foo ButtonWidget>> | +!Tabs +|!Macro |!Used for |!Example | +|.doc-tabs |showing a tab set in a documentation tiddler | -- | +|.doc-tab-link |button to activate a tab | -- | +|.widget-attr-link |button with a widget attribute name to activate a tab | -- | + + !User interface |!Macro |!Used for |!Example | diff --git a/editions/tw5.com/tiddlers/styleguide/Reference Tiddlers.tid b/editions/tw5.com/tiddlers/styleguide/Reference Tiddlers.tid index a42fdbe2e..e604761a6 100644 --- a/editions/tw5.com/tiddlers/styleguide/Reference Tiddlers.tid +++ b/editions/tw5.com/tiddlers/styleguide/Reference Tiddlers.tid @@ -1,7 +1,7 @@ created: 20141226192500000 -modified: 20150117152552000 -title: Reference Tiddlers +modified: 20230318160831470 tags: [[Improving TiddlyWiki Documentation]] +title: Reference Tiddlers <<.def "Reference tiddlers">> offer raw information in a comprehensive interlinked way. The reader is likely to be an intermediate or expert user. @@ -13,6 +13,7 @@ There are several subcategories: ;User manual * Presenting technical details of ~WikiText features * Subcategorised: messages, operators, widgets, etc +** Widget documentation should follow the [[Widget Documentation Style Guide]] ;Developer manual * Presenting technical details of ~TiddlyWiki's internal architecture diff --git a/editions/tw5.com/tiddlers/styleguide/Widget Documentation Style Guide.tid b/editions/tw5.com/tiddlers/styleguide/Widget Documentation Style Guide.tid new file mode 100644 index 000000000..924cd90ec --- /dev/null +++ b/editions/tw5.com/tiddlers/styleguide/Widget Documentation Style Guide.tid @@ -0,0 +1,37 @@ +created: 20230318160840043 +modified: 20230325162525198 +tags: [[Reference Tiddlers]] +title: Widget Documentation Style Guide + +Widget documentation generally consists of + +* an introductory summary of the widget's function +* an overview of attributes and how the widget content is handled +* more detailed attribute explanation when required +* examples + +The //Content and Attributes// section should describe how the content of the widget is used, followed by a table of the possible attributes, each with a short description of a single sentence. The attribute names in the table and elsewhere in the tiddler should be rendered with the <<.var .attr>> macro. The <<.var .from-version>> macro should be used as first item in the description to designate the version at which a parameter became available. + +A subsection should be used for parameters that need an //extended description//, possibly with separate examples. When there are more than 2 such subsection necessary, the subsections should be split into their own tiddlers, and the <<.var .doc-tabs>> macro should be used to transclude them into the widget documentation tiddler as tabs. + +* The <<.var .doc-tabs>> macro is used without parameters +* The <<.var .doc-tabs>> macro must not be used more than once within a single documentation tiddler +* The tiddlers to be included in the tab group should be tagged with the respective widget documentation tiddler and have a <<.field description>> field set to <<.value tab>> +* The <<.field caption>> contains the tab button text. It should be as short as possible. For the attribute name, the <<.var .attr>> macro should be used in the <<.field caption>> +* The tab tiddlers should start with a level-2-heading that links to itself, so that they may be opened from within the tabs +* They can contain examples if these are specific to the topic of the subsection + +In the attribute table, the <<.var .widget-attr-link>> macro can be used to turn attributes into a button that activates the respective tab. The <<.var .widget-attr-link>> macro is used like this + +``` +<<.widget-attr-link text: target: >> +``` + +Elsewhere, the <<.var .doc-tab-link>> macro can be used to activate the respective tab + +``` +<<.doc-tab-link text:<display text> target:<title of corresponding tiddler> tooltip:<tooltip to show when hovering over the button> class:<additional classes> >> +``` +The parameters <<.param tooltip>> and <<.param class>> are optional. + +Both link macros scroll to the tab group additionally to setting the selected tab. They can also be used within the tab contents tiddlers themselves. If a tab tiddler is opened outside the tab group, <<.var doc-tab-link>> will open the tiddler containing the tab group if it is not yet open, and scroll to its tab group if it is. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/system/doc-macros.tid b/editions/tw5.com/tiddlers/system/doc-macros.tid index a264198a9..f1c99b748 100644 --- a/editions/tw5.com/tiddlers/system/doc-macros.tid +++ b/editions/tw5.com/tiddlers/system/doc-macros.tid @@ -1,5 +1,5 @@ created: 20150117152607000 -modified: 20220714133424023 +modified: 20230325141733992 tags: $:/tags/Macro title: $:/editions/tw5.com/doc-macros type: text/vnd.tiddlywiki @@ -61,6 +61,37 @@ type: text/vnd.tiddlywiki \define .toc-tab() <<.tab "TableOfContents">> \define .example-tab(_) <span class="doc-tab">$_$</span> +\define .doc-tabs() +<$macrocall $name="tabs" + tabsList="[tag<currentTiddler>description[tab]]" + default={{{ [tag<currentTiddler>first[]] }}} + explicitState={{{ [<currentTiddler>addprefix[$:/state/tab/]] }}} + class={{{ [[doc-tabs]] [<currentTiddler>encodeuricomponent[]escapecss[]addprefix[doc-tabs-]] +[join[ ]] }}} /> +\end +\define .doc-tab-link(text, target, tooltip:"", class:"") +<!-- figure out where the addressed doc-tabs are --> +<$tiddler tiddler={{{ [<currentTiddler>search:text[.doc-tabs]] :else[<currentTiddler>tags[]search:text[.doc-tabs]first[]] :else[<currentTiddler>] }}} > +<$button class={{{ [[tc-btn-invisible tc-tiddlylink]] [<__class__>] +[join[ ]] }}} + set={{{ [<currentTiddler>addprefix[$:/state/tab/]] }}} + setTo=<<__target__>> + tooltip=<<__tooltip__>>> + <<__text__>> + <!-- if tiddler with tabs is open, scroll to tabs, otherwise open that tiddler (relevant from within tab subtiddlers) --> + <$list filter="[[$:/StoryList]contains<currentTiddler>]" variable="ignore" emptyMessage="<$action-navigate />"> + <$action-sendmessage $message="tm-scroll" selector={{{ [<currentTiddler>encodeuricomponent[]addprefix[.doc-tabs-]] }}} /> + </$list> + <$action-sendmessage $message="tm-scroll" selector={{{ [<currentTiddler>encodeuricomponent[]escapecss[]addprefix[.doc-tabs-]] }}} /> +</$button> +</$tiddler> +\end +\define .widget-attr-link(text, target) +<$macrocall $name=".doc-tab-link" + text={{{ [[<code class="doc-attr">]] [<__text__>] [[</code>]] +[join[]] }}} + class="doc-tab-link" + target=<<__target__>> + tooltip={{{ [[Show more information about the ']] [<__text__>] [[' attribute]] +[join[]] }}} /> +\end + \define .button(_) <span class="doc-button">{{$:/core/ui/Buttons/$_$!!caption}}</span> \define .icon(_) <span class="doc-icon">{{$_$}}</span> @@ -181,4 +212,4 @@ $credit$ </ol> \end -<pre><$view field="text"/></pre> \ No newline at end of file +<pre><$view field="text"/></pre> diff --git a/editions/tw5.com/tiddlers/system/doc-styles.tid b/editions/tw5.com/tiddlers/system/doc-styles.tid index db6f71d81..e406abb95 100644 --- a/editions/tw5.com/tiddlers/system/doc-styles.tid +++ b/editions/tw5.com/tiddlers/system/doc-styles.tid @@ -1,5 +1,5 @@ created: 20150117152612000 -modified: 20220617125128201 +modified: 20230325101137075 tags: $:/tags/Stylesheet title: $:/editions/tw5.com/doc-styles type: text/vnd.tiddlywiki @@ -285,4 +285,14 @@ ol.doc-github-contributors li { overflow: hidden; text-overflow: ellipsis; } - +.doc-tabs.tc-tab-buttons button { + font-size: 1rem; + padding: 0.5em; +} +.doc-tabs button .doc-attr { + background-color: unset; + color: #666; +} +.doc-tab-link .doc-attr { + color: unset; +} \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/widgets/CheckboxWidget (field Mode).tid b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (field Mode).tid new file mode 100644 index 000000000..a0bb2d322 --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (field Mode).tid @@ -0,0 +1,16 @@ +caption: <<.attr field>> +created: 20230314171223911 +description: tab +modified: 20230317161110431 +tags: CheckboxWidget +title: CheckboxWidget (field Mode) + +!!<<.link "<<.attr field>> Mode" "CheckboxWidget (field Mode)">> + +Using the checkbox widget in field mode requires the <<.attr field>> attribute to specify the name of the field. The <<.attr checked>> and <<.attr unchecked>> attributes specify the values to be assigned to the field to correspond to its checked and unchecked states respectively. The <<.attr default>> attribute is used as a fallback value if the field is missing or contains a value that does not correspond to the value of the <<.attr checked>> or <<.attr unchecked>> attributes. + +This example creates a checkbox that is checked if the field <<.field status>> is equal to <<.value open>> and unchecked if the field is equal to <<.value closed>>. If the field value is undefined then it defaults to <<.value closed>>. + +<<wikitext-example-without-html """<$checkbox field="status" checked="open" unchecked="closed" default="closed"> Is it open?</$checkbox> + +''status:'' {{!!status}}""">> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/widgets/CheckboxWidget (filter Mode).tid b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (filter Mode).tid new file mode 100644 index 000000000..6ccf95414 --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (filter Mode).tid @@ -0,0 +1,23 @@ +caption: <<.attr filter>> +created: 20230314174505003 +description: tab +modified: 20230325101447667 +tags: CheckboxWidget +title: CheckboxWidget (filter Mode) + +!!<<.link "<<.attr filter>> Mode" "CheckboxWidget (filter Mode)">> + +Using the checkbox widget in filter mode requires the <<.attr filter>> attribute to contain a filter whose output will determine the checked state of the checkbox. In filter mode, checking the checkbox will not automatically make changes to any field of any tiddler. Instead, you can use the <<.attr actions>> attribute (or the <<.attr checkactions>> and <<.attr uncheckactions>> attributes) to specify what should happen when the checkbox is toggled. It is your responsibility to make sure the actions cause changes to the tiddlers or fields that the filter results depend on, so that the checkbox becomes properly checked or unchecked after the actions have triggered and the filter has updated. + +If the filter returns an empty result, the checkbox will be unchecked. Otherwise, if the filter result is non-empty, the checkbox will be checked. + +However, if either the <<.attr checked>> or <<.attr unchecked>> attributes (or both) are specified, then their values will be looked for in the filter result, instead of considering any non-empty value to mean <<.value checked>>. + +This example creates the same checkbox as in the <<.doc-tab-link "listField mode example" "CheckboxWidget (listField Mode)">>, selecting between <<.value red>> and <<.value green>> in the <<.field colors>> list field, but using filters and actions to make the change. + +<<wikitext-example-without-html """\define checkActions() <$action-listops $field="colors" $subfilter="-red green"/> +\define uncheckActions() <$action-listops $field="colors" $subfilter="red -green"/> +<$checkbox filter="[list[!!colors]]" checked="green" unchecked="red" default="red" checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> > Is "green" in colors?</$checkbox> + +''colors:'' {{!!colors}} +""">> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/widgets/CheckboxWidget (indeterminate).tid b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (indeterminate).tid new file mode 100644 index 000000000..cb4883900 --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (indeterminate).tid @@ -0,0 +1,31 @@ +caption: <<.attr indeterminate>> +created: 20230315173145042 +description: tab +modified: 20230317160908743 +tags: CheckboxWidget +title: CheckboxWidget (indeterminate) + +!!<<.link "<<.attr indeterminate>> Checkboxes" "CheckboxWidget (indeterminate)">> + +If both the <<.attr checked>> and <<.attr unchecked>> attributes are specified, but neither one is found in the specified field (or index), the result can be ambiguous. Should the checkbox be checked or unchecked? Normally in such cases the checkbox will be unchecked, but if the <<.attr indeterminate>> attribute is set to <<.value yes>> (default is <<.value no>>), the checkbox will instead be in an "indeterminate" state. An indeterminate checkbox counts as false for most purposes — if you click it, the checkbox will become checked and the <<.attr checkactions>>, if any, will be triggered — but indeterminate checkboxes are displayed differently in the browser. + +This example shows indeterminate checkboxes being used for categories in a shopping list (which could also be sub-tasks in a todo list, or many other things). If only some items in a category are selected, the category checkbox is indeterminate. You can click on the category checkboxes to see how indeterminate states are treated the same as the unchecked state, and clicking the box checks it and applies its check actions (in this case, checking all the boxes in that category). Try editing the <<.field fruits>> and <<.field vegetables>> fields on this tiddler and see what happens to the example when you do. + +<<wikitext-example-without-html """\define check-all(field-name:"items") <$action-listops $field="selected-$field-name$" $filter="[list[!!$field-name$]]" /> +\define uncheck-all(field-name:"items") <$action-listops $field="selected-$field-name$" $filter="[[]]" /> + +<$checkbox filter="[list[!!selected-fruits]count[]]" checked={{{ [list[!!fruits]count[]] }}} unchecked="0" checkactions=<<check-all fruits>> uncheckactions=<<uncheck-all fruits>> indeterminate="yes"> fruits</$checkbox> +<ul style="list-style: none"> +<$list variable="fruit" filter="[list[!!fruits]]"> +<li><$checkbox listField="selected-fruits" checked=<<fruit>>> <<fruit>></$checkbox></li> +</$list> +</ul> +<$checkbox filter="[list[!!selected-vegetables]count[]]" checked={{{ [list[!!vegetables]count[]] }}} unchecked="0" checkactions=<<check-all vegetables>> uncheckactions=<<uncheck-all vegetables>> indeterminate="yes"> veggies</$checkbox> +<ul style="list-style: none"> +<$list variable="veggie" filter="[list[!!vegetables]]"> +<li><$checkbox listField="selected-vegetables" checked=<<veggie>>> <<veggie>></$checkbox></li> +</$list> +</ul> + +<p>Selected veggies: {{!!selected-vegetables}}<br/> +Selected fruits: {{!!selected-fruits}}</p>""">> diff --git a/editions/tw5.com/tiddlers/widgets/CheckboxWidget (index Mode).tid b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (index Mode).tid new file mode 100644 index 000000000..865cff172 --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (index Mode).tid @@ -0,0 +1,16 @@ +caption: <<.attr index>> +created: 20230314171351122 +description: tab +modified: 20230317160939333 +tags: CheckboxWidget +title: CheckboxWidget (index Mode) + +!!<<.link "<<.attr index>> Mode" "CheckboxWidget (index Mode)">> + +To use the checkbox widget in index mode set the <<.attr index>> attribute to a property of a [[DataTiddler|DataTiddlers]]. The <<.attr checked>> and <<.attr unchecked>> attributes specify the values to be assigned to the property and correspond to its checked and unchecked states respectively. The <<.attr default>> attribute is used as a fallback value if the property is undefined. + +<<.warning "Make sure to set <<.attr tiddler>> correctly, because non-[[DataTiddlers]] will be overwritten without warning">> + +The example below creates a checkbox that is checked if the property in the tiddler [[ExampleData]] by the name of the current tiddler is equal to <<.value selected>> and unchecked if the property is an empty string. If the property is undefined then it defaults to an empty string, meaning the checkbox will be unchecked if the property is missing. + +<$macrocall $name="wikitext-example-without-html" src="""<$checkbox tiddler="ExampleData" index=<<currentTiddler>> checked="selected" unchecked="" default=""> Selected?</$checkbox>"""/> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/widgets/CheckboxWidget (listField Mode).tid b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (listField Mode).tid new file mode 100644 index 000000000..5d5e67401 --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (listField Mode).tid @@ -0,0 +1,26 @@ +caption: <<.attr listField>> +created: 20230314171331190 +description: tab +modified: 20230317160948525 +tags: CheckboxWidget +title: CheckboxWidget (listField Mode) + +!!<<.link "<<.attr listField>> Mode" "CheckboxWidget (listField Mode)">> + +Using the checkbox widget in list mode requires the <<.attr listField>> attribute to specify the name of a field containing a list. The <<.attr checked>> attribute specifies the value that should be present or absent in the list when the checkbox is checked or unchecked respectively. If <<.attr checked>> is absent (or empty) but <<.attr unchecked>> is present, then the logic will be inverted: the checkbox will be checked when the <<.attr unchecked>> value is missing from the list, and unchecked when the <<.attr unchecked>> value is found in the list. If both <<.attr checked>> and <<.attr unchecked>> are present, the checkbox will work like a toggle, replacing the <<.attr checked>> value with the <<.attr unchecked>> value and vice-versa. Finally, if neither <<.attr checked>> nor <<.attr unchecked>> is specified, the checkbox will be checked if the field has anything in it, but unchecked if the field is missing or empty. (This is rarely useful. Most of the time you want to specify <<.attr checked>> or <<.attr unchecked>> or both.) + +The <<.attr default>> attribute is used as a fallback for the checkbox state if the field is not defined. + +The following table summarizes the possible combinations: + +| !defined attributes| !<$checkbox tag="void" disabled="yes"/> | !<$checkbox field="tag" checked="void" default="void" disabled="yes" /> | !<$checkbox listField="tag" checked="void" unchecked="invalid" indeterminate="yes" disabled="yes" /> | +| neither| field missing or list empty<br/>no <<.attr default>> defined | field has any value | -- | +| <<.attr checked>>=<<.value item1>>| <<.value item1>> removed from list | <<.value item1>> added to list | -- | +| <<.attr unchecked>>=<<.value item2>>| <<.value item2>> added to list | <<.value item2>> removed from list | -- | +| both| <<.value item1>> removed from list<br/><<.value item2>> added to list | <<.value item1>> added to list<br/><<.value item2>> removed from list | <<.value item1>> not in list<br/><<.value item2>> not in list<br/>no <<.attr default>> defined | + +This example creates a checkbox that is checked if the list field named <<.field colors>> contains <<.value green>> and unchecked if the field contains <<.value red>>. If the field is undefined, or if neither <<.value green>> nor <<.value red>> appears in the field, then it defaults to <<.value green>>, meaning that the checkbox will be checked. + +<<wikitext-example-without-html """<$checkbox listField="colors" checked="green" unchecked="red" default="green"> Is "green" in colors?</$checkbox><br />''colors:'' {{!!colors}}""">> + +Try editing the <<.field colors>> field of this tiddler to see how the example changes. diff --git a/editions/tw5.com/tiddlers/widgets/CheckboxWidget (listIndex Mode).tid b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (listIndex Mode).tid new file mode 100644 index 000000000..109ef90be --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (listIndex Mode).tid @@ -0,0 +1,32 @@ +caption: <<.attr listIndex>> +created: 20230314174442174 +description: tab +modified: 20230317160929003 +tags: CheckboxWidget +title: CheckboxWidget (listIndex Mode) + +!!<<.link "<<.attr listIndex>> Mode" "CheckboxWidget (listIndex Mode)">> + +Using the checkbox widget in index list mode requires the <<.attr listIndex>> attribute to specify the the property of a [[DataTiddler|DataTiddlers]]. This property contains a list. The <<.attr checked>> attribute specifies the value that should be present or absent in the list when the checkbox is checked or unchecked respectively. If <<.attr checked>> is absent (or empty) but <<.attr unchecked>> is present, then the logic will be inverted: the checkbox will be checked when the <<.attr unchecked>> value is missing from the list, and unchecked when the <<.attr unchecked>> value is found in the list. If both <<.attr checked>> and <<.attr unchecked>> are present, the checkbox will work like a toggle, replacing the <<.attr checked>> value with the <<.attr unchecked>> value and vice-versa. Finally, if neither <<.attr checked>> nor <<.attr unchecked>> is specified, the checkbox will be checked if the field has anything in it, but unchecked if the field is missing or empty. (This is rarely useful. Most of the time you want to specify <<.attr checked>> or <<.attr unchecked>> or both.) + +The <<.attr default>> attribute is used as a fallback for the checkbox state if the property is undefined. + +The following table summarizes the possible combinations: + +| !defined attributes| !<$checkbox tag="void" disabled="yes"/> | !<$checkbox field="tag" checked="void" default="void" disabled="yes" /> | !<$checkbox listField="tag" checked="void" unchecked="invalid" indeterminate="yes" disabled="yes" /> | +| neither| property missing or list empty<br/>no <<.attr default>> defined | property has any value | -- | +| <<.attr checked>>=<<.value item1>>| <<.value item1>> removed from list | <<.value item1>> added to list | -- | +| <<.attr unchecked>>=<<.value item2>>| <<.value item2>> added to list | <<.value item2>> removed from list | -- | +| both| <<.value item1>> removed from list<br/><<.value item2>> added to list | <<.value item1>> added to list<br/><<.value item2>> removed from list | <<.value item1>> not in list<br/><<.value item2>> not in list<br/>no <<.attr default>> defined | + +<<.warning "Make sure to set <<.attr tiddler>> correctly, because non-[[DataTiddlers]] will be overwritten without warning">> + +The example below creates three checkboxes that each control a different value in a property of the ExampleData tiddler. + +<$macrocall $name="wikitext-example-without-html" src="""<$set name=indexName filter="[<currentTiddler>addsuffix[ Colors]]" > +<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="green" unchecked="red" default="red"> Green or red?</$checkbox><br/> +<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="yellow" unchecked="blue" default="blue"> Yellow or blue?</$checkbox><br/> +<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="orange" unchecked="purple" default="purple"> Orange or purple?</$checkbox><br/> +Colors list: <$text text={{{ [[ExampleData]getindex<indexName>] }}} /> +</$set> +"""/> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/widgets/CheckboxWidget (tag Mode).tid b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (tag Mode).tid new file mode 100644 index 000000000..e2125ebd0 --- /dev/null +++ b/editions/tw5.com/tiddlers/widgets/CheckboxWidget (tag Mode).tid @@ -0,0 +1,18 @@ +caption: <<.attr tag>> +created: 20230314171205017 +description: tab +modified: 20230317161122617 +tags: CheckboxWidget +title: CheckboxWidget (tag Mode) + +!!<<.link "<<.attr tag>> Mode" "CheckboxWidget (tag Mode)">> + +Using the checkbox widget in tag mode requires the <<.attr tag>> attribute to specify the name of the tag. The checkbox will be checked if the tiddler specified in the <<.attr tiddler>> attribute has the specified tag and unchecked if it does not. + +This example creates a checkbox that flips the <<.tag done>> tag on the current tiddler: + +<<wikitext-example-without-html """<$checkbox tag="done"> Is it done?</$checkbox>""">> + +When the attribute <<.attr invertTag>> is set to <<.value yes>>, the checkbox will be checked if the tiddler does <<.em not>> have the specified tag and unchecked if it does. + +<<wikitext-example-without-html """<$checkbox tag="done" invertTag="yes"> Is it not done?</$checkbox>""">> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/widgets/CheckboxWidget.tid b/editions/tw5.com/tiddlers/widgets/CheckboxWidget.tid index 8f8d35f65..47e83e875 100644 --- a/editions/tw5.com/tiddlers/widgets/CheckboxWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/CheckboxWidget.tid @@ -1,12 +1,13 @@ caption: checkbox -created: 20131024141900000 -modified: 20220402023600000 -tags: Widgets TriggeringWidgets colors: red orange yellow blue +created: 20131024141900000 fruits: bananas oranges grapes -vegetables: carrots potatoes +list: [[CheckboxWidget (tag Mode)]] [[CheckboxWidget (field Mode)]] [[CheckboxWidget (listField Mode)]] [[CheckboxWidget (index Mode)]] [[CheckboxWidget (listIndex Mode)]] [[CheckboxWidget (filter Mode)]] [[CheckboxWidget (indeterminate)]] +modified: 20230316192632667 +tags: Widgets TriggeringWidgets title: CheckboxWidget type: text/vnd.tiddlywiki +vegetables: carrots potatoes ! Introduction @@ -20,111 +21,22 @@ The checkbox widget displays an HTML `<input type="checkbox">` element that is d The content of the `<$checkbox>` widget is displayed within an HTML `<label>` element immediately after the checkbox itself. This means that clicking on the content will toggle the checkbox. |!Attribute |!Description | -|tiddler |Title of the tiddler to manipulate (defaults to the [[current tiddler|Current Tiddler]]) | -|tag |The name of the tag to which the checkbox is bound | -|invertTag |When set to ''yes'', flips the tag binding logic so that the absence of the tag causes the checkbox to be checked | -|field |The name of the field to which the checkbox is bound | -|listField |<<.from-version "5.2.3">> The name of the field that contains the list to which the checkbox is bound | -|index|<<.from-version "5.1.14">> The index of the //tiddler//, a [[DataTiddler|DataTiddlers]], to which the checkbox is bound<<.tip "be sure to set the //tiddler// correctly">>| -|listIndex |<<.from-version "5.2.3">> Like <<.attr index>>, but treats the value as a list the same way that <<.attr listField>> does | -|filter |<<.from-version "5.2.3">> A filter whose output determines the checked state of the checkbox | -|checked |The value of the field corresponding to the checkbox being checked | -|unchecked |The value of the field corresponding to the checkbox being unchecked | -|default |The default value to use if the field is not defined | -|indeterminate |Whether ambiguous values can produce indeterminate checkboxes (see below) | -|class |The class that will be assigned to the label element <$macrocall $name=".tip" _="""<<.from-version "5.2.3">> `tc-checkbox` is always applied by default, as well as `tc-checkbox-checked` when checked"""/> | -|actions |<<.from-version "5.1.14">> A string containing ActionWidgets to be triggered when the status of the checkbox changes (whether it is checked or unchecked) | -|uncheckactions |<<.from-version "5.1.16">> A string containing ActionWidgets to be triggered when the checkbox is unchecked | -|checkactions |<<.from-version "5.1.20">> A string containing ActionWidgets to be triggered when the checkbox is checked | -|disabled|<<.from-version "5.1.23">> Optional, disables the checkbox if set to "yes". Defaults to "no"| +|<<.attr tiddler>> |Title of the tiddler to manipulate (defaults to the [[Current Tiddler]]) | +|<<.widget-attr-link tag "CheckboxWidget (tag Mode)">> |The name of the [[tag|Tagging]] to which the checkbox is bound | +|<<.attr invertTag>> |When set to <<.value yes>>, flips the tag binding logic so that the absence of the tag causes the checkbox to be checked | +|<<.widget-attr-link field "CheckboxWidget (field Mode)">> |The name of the field to which the checkbox is bound | +|<<.widget-attr-link listField "CheckboxWidget (listField Mode)">> |<<.from-version "5.2.3">> The name of the field that contains the list to which the checkbox is bound | +|<<.widget-attr-link index "CheckboxWidget (index Mode)">> |<<.from-version "5.1.14">> The property of the [[DataTiddler|DataTiddlers]] to which the checkbox is bound| +|<<.widget-attr-link listIndex "CheckboxWidget (listIndex Mode)">> |<<.from-version "5.2.3">> Like <<.attr index>>, but treats the value as a list the same way that <<.attr listField>> does | +|<<.widget-attr-link filter "CheckboxWidget (filter Mode)">> |<<.from-version "5.2.3">> A filter whose output determines the checked state of the checkbox | +|<<.attr checked>> |The value of the field corresponding to the checkbox being checked | +|<<.attr unchecked>> |The value of the field corresponding to the checkbox being unchecked | +|<<.attr default>> |The default value to use if the field is not defined | +|<<.widget-attr-link indeterminate "CheckboxWidget (indeterminate)">> |Whether ambiguous values can produce indeterminate checkboxes (see below) | +|<<.attr class>> |The class that will be assigned to the `<label>` element <$macrocall $name=".tip" _="""<<.from-version "5.2.3">> `tc-checkbox` is always applied by default, as well as `tc-checkbox-checked` when checked"""/> | +|<<.attr actions>> |<<.from-version "5.1.14">> A string containing ActionWidgets to be triggered when the status of the checkbox changes (whether it is checked or unchecked) | +|<<.attr uncheckactions>> |<<.from-version "5.1.16">> A string containing ActionWidgets to be triggered when the checkbox is unchecked | +|<<.attr checkactions>> |<<.from-version "5.1.20">> A string containing ActionWidgets to be triggered when the checkbox is checked | +|<<.attr disabled>> |<<.from-version "5.1.23">> Optionally disables the checkbox if set to <<.value yes>> (defaults to <<.value no>>)| -!! Tag Mode - -Using the checkbox widget in tag mode requires the ''tag'' attribute to specify the name of the tag. The ''tiddler'' attribute specifies the tiddler to target, defaulting to the current tiddler if not present. - -This example creates a checkbox that flips the ''done'' tag on the current tiddler: - -<<wikitext-example-without-html """<$checkbox tag="done"> Is it done?</$checkbox>""">> - -!! Field Mode - -Using the checkbox widget in field mode requires the ''field'' attribute to specify the name of the field. The ''checked'' and ''unchecked'' attributes specify the values to be assigned to the field to correspond to its checked and unchecked states respectively. The ''default'' attribute is used as a fallback value if the field is not defined. - -This example creates a checkbox that is checked if the field ''status'' is equal to ''open'' and unchecked if the field is equal to ''closed''. If the field is undefined then it defaults to ''closed'', meaning that the checkbox will be unchecked if the ''status'' field is missing. - -<<wikitext-example-without-html """<$checkbox field="status" checked="open" unchecked="closed" default="closed"> Is it open?</$checkbox><br />''status:'' {{!!status}}""">> - -!! List Mode - -Using the checkbox widget in list mode requires the ''listField'' attribute to specify the name of a field containing a list. The ''checked'' attribute specifies the value that should be present or absent in the list when the checkbox is checked or unchecked respectively. If ''checked'' is absent (or empty) but ''unchecked'' is present, then the logic will be inverted: the checkbox will be checked when the "unchecked" value is missing from the list, and unchecked when the "unchecked" value is found in the list. If both ''checked'' and ''unchecked'' are present, the checkbox will work like a toggle, replacing the ''checked'' value with the ''unchecked'' value and vice-versa. Finally, if neither ''checked'' nor ''unchecked'' is specified, the checkbox will be checked if the field has anything in it, but unchecked if the field is missing or empty. (This is rarely useful; most of the time you'll want to specify ''checked'' or ''unchecked'' or both.) - -The ''default'' attribute is used as a fallback for the checkbox state if the field is not defined. - -This example creates a checkbox that is checked if the list field named ''colors'' contains ''green'' and unchecked if the field contains ''red''. If the field is undefined, or if neither ''green'' nor ''red'' appears in the field, then it defaults to ''green'', meaning that the checkbox will be checked. - -<<wikitext-example-without-html """<$checkbox listField="colors" checked="green" unchecked="red" default="green"> Is it green?</$checkbox><br />''colors:'' {{!!colors}}""">> - -Try editing the ''colors'' field of this tiddler to see how the example changes. - -!! Index Mode - -To use the checkbox widget in index mode set the ''index'' attribute to the index of a [[DataTiddler|DataTiddlers]]. The ''checked'' and ''unchecked'' attributes specify the values to be assigned to the index and correspond to its checked and unchecked states respectively. The ''default'' attribute is used as a fallback value if the index is undefined. - -The example below creates a checkbox that is checked if the index by the name of this tiddler in the tiddler ExampleData is equal to ''selected'' and unchecked if the index is an empty string. If the index is undefined then it defaults to an empty string, meaning the checkbox will be unchecked if the index is missing. - -<$macrocall $name="wikitext-example-without-html" src="""<$checkbox tiddler="ExampleData" index=<<currentTiddler>> checked="selected" unchecked="" default=""> Selected?</$checkbox>"""/> - -!! Index List Mode - -Using the checkbox widget in index list mode requires the ''listIndex'' attribute to specify the the index of a [[DataTiddler|DataTiddlers]] containing a list. The ''checked'' attribute specifies the value that should be present or absent in the list when the checkbox is checked or unchecked respectively. If ''checked'' is absent (or empty) but ''unchecked'' is present, then the logic will be inverted: the checkbox will be checked when the "unchecked" value is missing from the list, and unchecked when the "unchecked" value is found in the list. If both ''checked'' and ''unchecked'' are present, the checkbox will work like a toggle, replacing the ''checked'' value with the ''unchecked'' value and vice-versa. Finally, if neither ''checked'' nor ''unchecked'' is specified, the checkbox will be checked if the field has anything in it, but unchecked if the field is missing or empty. (This is rarely useful; most of the time you'll want to specify ''checked'' or ''unchecked'' or both.) - -The ''default'' attribute is used as a fallback for the checkbox state if the index is undefined. - -The example below creates three checkboxes that each control a different value in an index field of the ExampleData tiddler. - -<$macrocall $name="wikitext-example-without-html" src=""" -<$set name=indexName filter="[<currentTiddler>addsuffix[ Colors]]" > -<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="green" unchecked="red" default="red"> Green or red?</$checkbox> <br/> -<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="yellow" unchecked="blue" default="blue"> Yellow or blue?</$checkbox> <br/> -<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="orange" unchecked="purple" default="purple"> Orange or purple?</$checkbox> <br /> -Colors list: {{{ [[ExampleData]getindex<indexName>] }}} -</$set> -"""/> - -!! Filter Mode - -Using the checkbox widget in filter mode requires the ''filter'' attribute to contain a filter whose output will determine the checked state of the checkbox. In filter mode, checking the checkbox will not automatically make changes to any field of any tiddler. Instead, you can use the ''actions'' attribute (or ''checkactions'' and ''uncheckactions'') to specify what should happen when the checkbox is toggled. It is your responsibility to make sure the actions cause changes to the tiddlers or fields that the filter results depend on, so that the checkbox becomes properly checked or unchecked after the actions have triggered. - -If the filter returns an empty result, the checkbox will be unchecked. Otherwise, if the filter result is non-empty, the checkbox will be checked. However, if either the ''checked'' or ''unchecked'' attributes (or both) are specified, then their values will be looked for in the filter result, instead of considering any non-empty value to mean "checked". - -This example creates the same checkbox as in the list mode example, selecting between ''red'' and ''green'' in the ''colors'' list field, but using filters and actions to make the change. - -<<wikitext-example-without-html """\define checkActions() <$action-listops $field="colors" $subfilter="-red green"/> -\define uncheckActions() <$action-listops $field="colors" $subfilter="red -green"/> -<$checkbox filter="[list[!!colors]]" checked="green" unchecked="red" default="red" checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> > Is "green" in colors?</$checkbox><br />''colors:'' {{!!colors}} -""">> - -!! Indeterminate checkboxes - -If both the ''checked'' and ''unchecked'' attributes are specified, but neither one is found in the specified field (or index), the result can be ambiguous. Should the checkbox be checked or unchecked? Normally in such cases the checkbox will be unchecked, but if the ''indeterminate'' attribute is set to "yes" (default is "no"), the checkbox will instead be in an "indeterminate" state. An indeterminate checkbox counts as false for most purposes — if you click it, the checkbox will become checked and the ''checkactions'', if any, will be triggered — but indeterminate checkboxes are displayed differently in the browser. - -This example shows indeterminate checkboxes being used for categories in a shopping list (which could also be sub-tasks in a todo list, or many other things). If only some items in a category are selected, the category checkbox is indeterminate. You can click on the category checkboxes to see how indeterminate states are treated the same as the unchecked state, and clicking the box checks it and applies its check actions (in this case, checking all the boxes in that category). Try editing the <<.field fruits>> and <<.field vegetables>> fields on this tiddler and see what happens to the example when you do. - -<<wikitext-example-without-html """\define check-all(field-name:"items") <$action-listops $field="selected-$field-name$" $filter="[list[!!$field-name$]]" /> -\define uncheck-all(field-name:"items") <$action-listops $field="selected-$field-name$" $filter="[[]]" /> - -<$checkbox filter="[list[!!selected-fruits]count[]]" checked={{{ [list[!!fruits]count[]] }}} unchecked="0" checkactions=<<check-all fruits>> uncheckactions=<<uncheck-all fruits>> indeterminate="yes"> fruits</$checkbox> -<ul style="list-style: none"> -<$list variable="fruit" filter="[list[!!fruits]]"> -<li><$checkbox listField="selected-fruits" checked=<<fruit>>> <<fruit>></$checkbox></li> -</$list> -</ul> -<$checkbox filter="[list[!!selected-vegetables]count[]]" checked={{{ [list[!!vegetables]count[]] }}} unchecked="0" checkactions=<<check-all vegetables>> uncheckactions=<<uncheck-all vegetables>> indeterminate="yes"> veggies</$checkbox> -<ul style="list-style: none"> -<$list variable="veggie" filter="[list[!!vegetables]]"> -<li><$checkbox listField="selected-vegetables" checked=<<veggie>>> <<veggie>></$checkbox></li> -</$list> -</ul> - -<p>Selected veggies: {{!!selected-vegetables}}<br/> -Selected fruits: {{!!selected-fruits}}</p>""">> +<<.doc-tabs>> From 54548babc829b585a631e737340d053991699664 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" <jeremy@jermolene.com> Date: Fri, 7 Apr 2023 12:33:07 +0100 Subject: [PATCH 79/83] Mastodon verification link --- editions/tw5.com/tiddlers/system/static.content.tid | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/editions/tw5.com/tiddlers/system/static.content.tid b/editions/tw5.com/tiddlers/system/static.content.tid index 50889f0a3..3725b25ac 100644 --- a/editions/tw5.com/tiddlers/system/static.content.tid +++ b/editions/tw5.com/tiddlers/system/static.content.tid @@ -2,6 +2,10 @@ title: $:/core/templates/static.content \define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html +<!-- Mastodon verification --> + +<a rel="me" href="https://fosstodon.org/@TiddlyWiki">Mastodon</a> + <!-- For Google, and people without JavaScript--> <$reveal default="yes" text=<<savingEmpty>> type="nomatch"> From 36d766081d64844cc35407283412c4d5efc4152f Mon Sep 17 00:00:00 2001 From: Yukai Chou <muzimuzhi@gmail.com> Date: Fri, 7 Apr 2023 20:39:12 +0800 Subject: [PATCH 80/83] Fix typos in `Saving to a Git service.tid` (#7396) * Fix typos in `Saving to a Git service.tid` * Sign the CLA --- editions/tw5.com/tiddlers/saving/Saving to a Git service.tid | 2 +- licenses/cla-individual.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/saving/Saving to a Git service.tid b/editions/tw5.com/tiddlers/saving/Saving to a Git service.tid index 3253d8313..113e2aa8b 100644 --- a/editions/tw5.com/tiddlers/saving/Saving to a Git service.tid +++ b/editions/tw5.com/tiddlers/saving/Saving to a Git service.tid @@ -15,7 +15,7 @@ Saving to a Git service is configured in the [[$:/ControlPanel]] in the ''Git Se * ''Type'' - (mandatory) the type of the service (e.g. GitHub, GitLab) * ''Username'' - (mandatory) the username for the Git service account used for saving changes -* ''Password'' - (mandatory) the OAUTH token or personal access token for the specified account. Note that GitHub deprecated password authetication, permitted authentication methods are shown in the[[API documentation|https://developer.github.com/v3/#authentication]]. +* ''Password'' - (mandatory) the OAUTH token or personal access token for the specified account. Note that GitHub deprecated password authentication, permitted authentication methods are shown in the [[API documentation|https://developer.github.com/v3/#authentication]]. * ''Repository'' - (mandatory) the name of the Git repository. Both the owner name and the repository name must be specified. For example `Jermolene/TiddlyWiki5` * ''Branch'' - (optional) the name of the branch to be used within the Git repository. Defaults to `main` (~GitHub) or `master` (~GitLab)" * ''Path'' - (optional) the path to the target file. Defaults to `/` diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index 6be49c5e0..df194361e 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -527,3 +527,5 @@ Andrea Octo, @andrigamerita, 2023/02/24 HuanC Fu, @hffqyd, 2023/03/03 Michelle Saad, @michsa, 2023-03-08 + +Yukai Chou, @muzimuzhi, 2023-04-07 From caac9bee92e23878313902c8ee883783fa20bf15 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston <jeremy@jermolene.com> Date: Mon, 10 Apr 2023 15:52:10 +0100 Subject: [PATCH 81/83] Docs: Fixed PR for getting started tweaks (#7399) * Cherry picked from getting-started-tweaks-feb-2023 * Update tiddler modified dates --- .../tiddlers/definitions/Tiddlyhost.tid | 12 +++ .../tw5.com/tiddlers/definitions/Xememex.tid | 14 ++++ .../tiddlers/hellothere/HelloThere.tid | 17 ++++- .../hellothere/quickstart/Quick Start.tid | 2 + .../hellothere/quickstart/desktop.tid | 10 +++ .../tiddlers/hellothere/quickstart/diy.tid | 10 +++ .../hellothere/quickstart/tiddlyhost.tid | 10 +++ .../hellothere/quickstart/xememex.tid | 10 +++ .../tw5.com/tiddlers/images/Reddit Logo.tid | 7 ++ .../tiddlers/images/Tiddlyhost Logo.png | Bin 0 -> 17295 bytes .../tiddlers/images/Tiddlyhost Logo.png.meta | 3 + .../tw5.com/tiddlers/images/Xememex Logo.svg | 1 + .../tiddlers/images/Xememex Logo.svg.meta | 2 + .../tiddlers/system/tw5.com-styles.tid | 72 +++++++++++++++--- .../tiddlers/system/wikitext-macros.tid | 10 ++- 15 files changed, 166 insertions(+), 14 deletions(-) create mode 100644 editions/tw5.com/tiddlers/definitions/Tiddlyhost.tid create mode 100644 editions/tw5.com/tiddlers/definitions/Xememex.tid create mode 100644 editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid create mode 100644 editions/tw5.com/tiddlers/hellothere/quickstart/desktop.tid create mode 100644 editions/tw5.com/tiddlers/hellothere/quickstart/diy.tid create mode 100644 editions/tw5.com/tiddlers/hellothere/quickstart/tiddlyhost.tid create mode 100644 editions/tw5.com/tiddlers/hellothere/quickstart/xememex.tid create mode 100644 editions/tw5.com/tiddlers/images/Reddit Logo.tid create mode 100644 editions/tw5.com/tiddlers/images/Tiddlyhost Logo.png create mode 100644 editions/tw5.com/tiddlers/images/Tiddlyhost Logo.png.meta create mode 100644 editions/tw5.com/tiddlers/images/Xememex Logo.svg create mode 100644 editions/tw5.com/tiddlers/images/Xememex Logo.svg.meta diff --git a/editions/tw5.com/tiddlers/definitions/Tiddlyhost.tid b/editions/tw5.com/tiddlers/definitions/Tiddlyhost.tid new file mode 100644 index 000000000..cb644b88c --- /dev/null +++ b/editions/tw5.com/tiddlers/definitions/Tiddlyhost.tid @@ -0,0 +1,12 @@ +title: Tiddlyhost +tags: definition +created: 20230410105035569 +modified: 20230410105035569 + +<span style="float:right;">[img width=140 [Tiddlyhost Logo]]</span> + +[[Tiddlyhost.com|https://tiddlyhost.com/]] is a hosting service for TiddlyWiki created by Simon Baird. Once you sign up and confirm your email you can create "sites", (i.e. ~TiddlyWikis), with support for online saving. Sites can be private or public, and you can optionally list them on the taggable and searchable [[Tiddlyhost Hub|https://tiddlyhost.com/hub]] where they'll be discoverable by others. + +Unlike [[TiddlySpot|Saving on TiddlySpot]], [[Tiddlyhost|https://tiddlyhost.com]] is secure, open source, and has proper support for TiddlyWiki5. It also allows uploading existing ~TiddlyWiki files, supports TiddlyWikiClassic, and lets you claim ownership of your ~TiddlySpot sites. For more information see the [[FAQ|https://github.com/simonbaird/tiddlyhost/wiki/FAQ]] and the [[About|https://tiddlyhost.com/about]] page. + +<div style="clear: both;"/> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/definitions/Xememex.tid b/editions/tw5.com/tiddlers/definitions/Xememex.tid new file mode 100644 index 000000000..3ca994400 --- /dev/null +++ b/editions/tw5.com/tiddlers/definitions/Xememex.tid @@ -0,0 +1,14 @@ +title: Xememex +tags: Definitions +created: 20230410105035569 +modified: 20230410105035569 + +<span style="float:right;">[img width=340 [Xememex Logo]]</span> + +Xememex is a multiuser TiddlyWiki from [[Federatial]]. It allows large groups of people to work together on intertwingled wikis that can share content. + +The largest customer implementation has hundreds of online wikis with thousands of users. See https://manuals.annafreud.org/ + +Xememex is currently only available under commercial terms from Federatial. Contact [[Jeremy Ruston at Federatial|mailto:jeremy@federatial.com]] for more details. + +<div style="clear: both;"/> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid index b538f96fa..8a2b3665e 100644 --- a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +++ b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid @@ -5,11 +5,19 @@ tags: TableOfContents title: HelloThere type: text/vnd.tiddlywiki -!! ''Welcome to TiddlyWiki, a unique [[non-linear|Philosophy of Tiddlers]] notebook for [[capturing|Creating and editing tiddlers]], [[organising|Structuring TiddlyWiki]] and [[sharing|Sharing your tiddlers with others]] complex information'' +!!.tc-hero-heading ''Welcome to TiddlyWiki, a unique [[non-linear|Philosophy of Tiddlers]] notebook for [[capturing|Creating and editing tiddlers]], [[organising|Structuring TiddlyWiki]] and [[sharing|Sharing your tiddlers with others]] complex information'' Use it to keep your [[to-do list|TaskManagementExample]], to plan an [[essay or novel|"TiddlyWiki for Scholars" by Alberto Molina]], or to organise your wedding. Record every thought that crosses your brain, or build a flexible and responsive website. -Unlike conventional online services, TiddlyWiki lets you choose where to keep your data, guaranteeing that in the decades to come you will [[still be able to use|Future Proof]] the notes you take today. +TiddlyWiki lets you choose where to keep your data, guaranteeing that in the decades to come you will [[still be able to use|Future Proof]] the notes you take today. + +!! ''Quick Start'' + +<div class="tc-cards tc-action-card"> +<$list filter="[tag[Quick Start]]"> +<$macrocall $name="flex-card" bordercolor={{!!color}} textcolor={{!!text-color}} backgroundcolor={{!!background-color}} captionField="caption" descriptionField="text"/> +</$list> +</div> !! ''Find Out More'' @@ -19,7 +27,7 @@ Unlike conventional online services, TiddlyWiki lets you choose where to keep yo </$list> </div> -!! ''~TiddlyWiki Hubs'' +!! ''Community'' <div class="tc-cards" style="font-size:0.7em;text-align:center;margin:3em auto;"> <a href="https://talk.tiddlywiki.org/" class="tc-btn-big-green" style="border-radius:4px;background-color:#FF8C19;" target="_blank" rel="noopener noreferrer"> @@ -40,6 +48,9 @@ Unlike conventional online services, TiddlyWiki lets you choose where to keep yo <a href="https://gitter.im/TiddlyWiki/public" class="tc-btn-big-green" style="border-radius:4px;background-color:#753a88;background-image:linear-gradient(to left,#cc2b5e,#753a88);" target="_blank" rel="noopener noreferrer"> {{$:/core/images/gitter}} Gitter </a> +<a href="https://www.reddit.com/r/TiddlyWiki5/" class="tc-btn-big-green" style="border-radius:4px;background-color:#FF4500;" target="_blank" rel="noopener noreferrer"> +{{Reddit Logo}} Reddit +</a> </div> !! ''Testimonials & Reviews'' diff --git a/editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid b/editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid new file mode 100644 index 000000000..ff7bec946 --- /dev/null +++ b/editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid @@ -0,0 +1,2 @@ +title: Quick Start +list: [[Quick Start: Tiddlyhost]] [[Quick Start: Desktop]] [[Quick Start: DIY]] [[Quick Start: Xememex]] \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/hellothere/quickstart/desktop.tid b/editions/tw5.com/tiddlers/hellothere/quickstart/desktop.tid new file mode 100644 index 000000000..c20fa52de --- /dev/null +++ b/editions/tw5.com/tiddlers/hellothere/quickstart/desktop.tid @@ -0,0 +1,10 @@ +title: Quick Start: Desktop +tags: [[Quick Start]] +caption: Desktop +icon: $:/core/images/storyview-zoomin +button-color: #37753e +button-text: Download +background: linear-gradient(90deg,#f0fff1, #ffffff) +link: TiddlyDesktop + +Download the official desktop application for macOS, Windows and Linux \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/hellothere/quickstart/diy.tid b/editions/tw5.com/tiddlers/hellothere/quickstart/diy.tid new file mode 100644 index 000000000..c71bfca27 --- /dev/null +++ b/editions/tw5.com/tiddlers/hellothere/quickstart/diy.tid @@ -0,0 +1,10 @@ +title: Quick Start: DIY +tags: [[Quick Start]] +caption: DIY +icon: $:/core/images/theme-button +button-color: #ff4522 +button-text: Explore +background: linear-gradient(90deg,#fff4f2, #ffffff) +link: GettingStarted + +Find the configuration that is right for you to get the full benefits of ~TiddlyWiki \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/hellothere/quickstart/tiddlyhost.tid b/editions/tw5.com/tiddlers/hellothere/quickstart/tiddlyhost.tid new file mode 100644 index 000000000..75f4184fa --- /dev/null +++ b/editions/tw5.com/tiddlers/hellothere/quickstart/tiddlyhost.tid @@ -0,0 +1,10 @@ +title: Quick Start: Tiddlyhost +tags: [[Quick Start]] +caption: Tiddlyhost +icon: $:/core/images/globe +button-color: #00009a +button-text: Create Account +background: linear-gradient(90deg,#f5f5ff, #ffffff) +link: Tiddlyhost + +The easiest way to get started with an online ~TiddlyWiki \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/hellothere/quickstart/xememex.tid b/editions/tw5.com/tiddlers/hellothere/quickstart/xememex.tid new file mode 100644 index 000000000..7fb562083 --- /dev/null +++ b/editions/tw5.com/tiddlers/hellothere/quickstart/xememex.tid @@ -0,0 +1,10 @@ +title: Quick Start: Xememex +tags: [[Quick Start]] +caption: Xememex +icon: $:/core/images/star-filled +button-color: #bf5fb6 +button-text: Find out more +background: linear-gradient(90deg,#fff1fe, #ffffff) +link: Xememex + +For companies and teams, a multiuser ~TiddlyWiki from Federatial \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/images/Reddit Logo.tid b/editions/tw5.com/tiddlers/images/Reddit Logo.tid new file mode 100644 index 000000000..76bb6bf7c --- /dev/null +++ b/editions/tw5.com/tiddlers/images/Reddit Logo.tid @@ -0,0 +1,7 @@ +title: Reddit Logo + +<svg width="22pt" height="22pt" viewBox="0 0 20 20"> + <g> + <path d="M16.67,10C16.641,9.22 15.992,8.593 15.211,8.593C14.834,8.593 14.472,8.739 14.2,9C13.063,8.227 11.725,7.799 10.35,7.77L11,4.65L13.14,5.1C13.194,5.605 13.626,5.993 14.134,5.993C14.683,5.993 15.134,5.542 15.134,4.993C15.134,4.444 14.683,3.993 14.134,3.993C13.779,3.993 13.449,4.183 13.27,4.49L10.82,4C10.798,3.995 10.776,3.993 10.754,3.993C10.607,3.993 10.48,4.097 10.45,4.24L9.71,7.71C8.318,7.731 6.962,8.159 5.81,8.94C5.539,8.685 5.181,8.543 4.81,8.543C4.009,8.543 3.35,9.202 3.35,10.003C3.35,10.573 3.683,11.092 4.2,11.33C4.189,11.476 4.189,11.624 4.2,11.77C4.2,14.01 6.81,15.83 10.03,15.83C13.25,15.83 15.86,14.01 15.86,11.77C15.871,11.624 15.871,11.476 15.86,11.33C16.363,11.08 16.679,10.561 16.67,10ZM12.3,12.04C11.751,12.04 11.3,11.589 11.3,11.04C11.3,10.491 11.751,10.04 12.3,10.04C12.849,10.04 13.3,10.491 13.3,11.04C13.301,11.053 13.301,11.067 13.301,11.08C13.301,11.629 12.849,12.08 12.301,12.08C12.297,12.08 12.294,12.08 12.29,12.08L12.3,12.04ZM12.48,13.75C11.771,14.285 10.897,14.557 10.01,14.52C9.123,14.557 8.249,14.285 7.54,13.75C7.5,13.702 7.479,13.641 7.479,13.579C7.479,13.431 7.601,13.309 7.749,13.309C7.811,13.309 7.872,13.33 7.92,13.37C8.521,13.811 9.255,14.033 10,14C10.746,14.041 11.483,13.825 12.09,13.39C12.142,13.339 12.212,13.311 12.285,13.311C12.438,13.311 12.564,13.437 12.564,13.59C12.564,13.665 12.534,13.737 12.48,13.79L12.48,13.75ZM6.67,11C6.67,10.451 7.121,10 7.67,10C8.219,10 8.67,10.451 8.67,11C8.67,11.549 8.219,12 7.67,12C7.121,12 6.67,11.549 6.67,11Z"/> + </g> +</svg> diff --git a/editions/tw5.com/tiddlers/images/Tiddlyhost Logo.png b/editions/tw5.com/tiddlers/images/Tiddlyhost Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f39ac28920ed6d82b76be2c30e12a7eeaf2fd7e5 GIT binary patch literal 17295 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 literal 0 HcmV?d00001 diff --git a/editions/tw5.com/tiddlers/images/Tiddlyhost Logo.png.meta b/editions/tw5.com/tiddlers/images/Tiddlyhost Logo.png.meta new file mode 100644 index 000000000..c0f8f256a --- /dev/null +++ b/editions/tw5.com/tiddlers/images/Tiddlyhost Logo.png.meta @@ -0,0 +1,3 @@ +title: Tiddlyhost Logo +type: image/png +tags: picture diff --git a/editions/tw5.com/tiddlers/images/Xememex Logo.svg b/editions/tw5.com/tiddlers/images/Xememex Logo.svg new file mode 100644 index 000000000..7aa281346 --- /dev/null +++ b/editions/tw5.com/tiddlers/images/Xememex Logo.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="1073" height="232"><g fill="#000" fill-rule="nonzero"><path d="M157.972 224h26.053l-6.756-11.94-70.621-124.802-.04 7.95L157.124 8h-25.588L89.064 82.431h13.897L60.489 8H34.574l50.855 87.227-.051-7.969L14.756 212.06 8 224h25.761l2.289-4.102 66.949-120-13.98-.013 66.667 120zM1038.972 224h26.053l-6.756-11.94-70.621-124.802-.04 7.95 43.559-75.198L1038.124 8h-25.588l-2.302 4.035-40.17 70.396h13.897l-40.169-70.396L941.489 8h-25.915l7.013 12.029 43.842 75.198-.051-7.969-70.622 124.802L889 224h25.761l2.289-4.102 66.949-120-13.98-.013 66.667 120zM191 224h106.904l10-21.65H204.932l8 8V65.153l-8 8h101.955l10-21.65H204.932l8 8V21.65l-8 8h88.452l10-21.65H191v208zM478 224h106.904l10-21.65H491.932l8 8V65.153l-8 8h101.955l10-21.65H491.932l8 8V21.65l-8 8h88.452l10-21.65H478v208zM762 224h106.904l10-21.65H775.932l8 8V65.153l-8 8h101.955l10-21.65H775.932l8 8V21.65l-8 8h88.452l10-21.65H762v208zM437.831 224h22.214V8l-71.304 61.952h10.564L328 8v216h22.215V39.062l-12.48 5.968 55.911 49.911 56.357-49.889-12.172-5.99zM722.831 224h22.214V8l-71.304 61.952h10.564L613 8v216h22.215V39.062l-12.48 5.968 55.911 49.911 56.357-49.889-12.172-5.99z"/></g></svg> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/images/Xememex Logo.svg.meta b/editions/tw5.com/tiddlers/images/Xememex Logo.svg.meta new file mode 100644 index 000000000..1eab02541 --- /dev/null +++ b/editions/tw5.com/tiddlers/images/Xememex Logo.svg.meta @@ -0,0 +1,2 @@ +type: image/svg+xml +title: Xememex Logo diff --git a/editions/tw5.com/tiddlers/system/tw5.com-styles.tid b/editions/tw5.com/tiddlers/system/tw5.com-styles.tid index a8fff61b6..f8e54a77c 100644 --- a/editions/tw5.com/tiddlers/system/tw5.com-styles.tid +++ b/editions/tw5.com/tiddlers/system/tw5.com-styles.tid @@ -6,6 +6,10 @@ type: text/vnd.tiddlywiki \rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock +.tc-hero-heading a.tc-tiddlylink { + font-weight: bold; +} + .tc-double-spaced-list li { padding-bottom: .5em; padding-top: .5em; @@ -140,26 +144,48 @@ type: text/vnd.tiddlywiki background: <<colour background>>; border-color: rgba(34,36,38,.15); box-shadow: 0 2px 25px 0 rgb(34 36 38 / 5%) inset; + gap: 1em; +} + +.tc-cards.tc-action-card { + text-align: center; + background: none; +} + +.tc-cards.tc-action-card .tc-card-button { + border: 1px solid <<colour foreground>>; + background: <<colour foreground>>; + margin: 0.5em; + border-radius: 6px; + padding: 0.5em; + color: <<colour background>>; + fill: <<colour background>>; +} + +.tc-cards.tc-action-card .tc-card-button svg { + width: 0.65em; + height: 0.65em; + vertical-align: middle; } .tc-tiddlylink.tc-card { font-weight: normal; max-width: 100%; position: relative; - display: flex; - flex-direction: column; background: <<colour background>>; color: <<colour foreground>>; width: 200px; min-height: 0; - padding: 0 0 0.5em 0; - margin: 0.5em; border: none; border-radius: 8px; box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5; transition: box-shadow 0.3s ease,transform .3s ease; } +.tc-cards.tc-cards-vertical .tc-tiddlylink.tc-card { + width: 100%; +} + @media (max-width: 500px) { .tc-cards { @@ -180,8 +206,17 @@ type: text/vnd.tiddlywiki } .tc-card-accent { - border-top-left-radius: 8px; - border-top-right-radius: 8px; + height: 100%; + display: flex; + align-items: stretch; + flex-direction: column; + justify-content: stretch; + border-radius: 8px; +} + +.tc-cards.tc-cards-vertical .tc-card-accent { + flex-direction: row; + align-items: center; } .tc-tiddlylink.tc-card:hover { @@ -233,6 +268,8 @@ type: text/vnd.tiddlywiki } .tc-card-image { + border-top-left-radius: 8px; + border-top-right-radius: 8px; line-height: 0; overflow: hidden; } @@ -254,7 +291,19 @@ type: text/vnd.tiddlywiki font-weight: 600; transition: color 0.3s ease-in-out; padding: 0 10px; - margin: 0.5em 0; + margin: 0.5em 0 0.25em 0; +} + +.tc-cards.tc-cards-vertical .tc-card-title { + font-size: 1em; + min-width: 10em; + text-align: right; +} + +.tc-cards.tc-cards-vertical .tc-card-title svg { + width: 1em; + height: 1em; + vertical-align: text-bottom; } .tc-card-subtitle, @@ -270,12 +319,17 @@ type: text/vnd.tiddlywiki .tc-card-body { font-size: 0.9em; line-height: 1.2; - padding: 0 10px; + padding: 0.25em 10px; margin: 0; } +.tc-cards.tc-cards-vertical .tc-card-body { + font-size: 1em; +} + .tc-card-body-wrapper { position: relative; + flex-grow: 1; } .tc-tiddlylink.tc-card.tc-card-quote .tc-card-body:before { @@ -343,4 +397,4 @@ type: text/vnd.tiddlywiki .multi-columns { column-count: 2; } -} +} \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/system/wikitext-macros.tid b/editions/tw5.com/tiddlers/system/wikitext-macros.tid index a867def4f..7db97bf50 100644 --- a/editions/tw5.com/tiddlers/system/wikitext-macros.tid +++ b/editions/tw5.com/tiddlers/system/wikitext-macros.tid @@ -95,10 +95,10 @@ That renders as: <<tw-code $tiddler$>> \end -\define flex-card(class,bordercolor:"",imageField:"image",captionField:"caption",subtitle:"",descriptionField:"description",linkField:"link") +\define flex-card(class,bordercolor:"",backgroundcolor:"",textcolor:"",imageField:"image",captionField:"caption",subtitle:"",descriptionField:"description",linkField:"link") \whitespace trim <$link class={{{ [<__class__>addprefix[tc-card ]] }}} to={{{ [<currentTiddler>get<__linkField__>else<currentTiddler>] }}}> - <div class="tc-card-accent" style.borderTop={{{ [<__bordercolor__>!is[blank]addprefix[5px solid ]] }}}> + <div class="tc-card-accent" style.borderTop={{{ [<__bordercolor__>!is[blank]addprefix[5px solid ]] }}} style.background={{!!background}} style.backgroundColor=<<__backgroundcolor__>> style.color=<<__textcolor__>> style.fill=<<__textcolor__>>> <$list filter="[<currentTiddler>has[ribbon-text]]" variable="ignore"> <div class="tc-card-ribbon-wrapper"> <div class="tc-card-ribbon" style.backgroundColor={{{ [<currentTiddler>get[ribbon-color]else[red]] }}}> @@ -119,6 +119,7 @@ That renders as: <$text text=<<__subtitle__>>/> </div> </$list> + <div class="tc-card-icon"><$transclude tiddler={{!!icon}}/></div> <div class="tc-card-body-wrapper"> <div class="tc-card-body"> <$transclude field=<<__descriptionField__>> mode="block"/> @@ -126,6 +127,11 @@ That renders as: <div class="tc-card-body-clear"> </div> </div> + <$list filter="[all[current]has[button-text]]" variable="ignore"> + <div class="tc-card-button" style.background-color={{!!button-color}} style.border-color={{!!button-color}}> + <$text text={{!!button-text}}/> {{$:/core/images/chevron-right}} + </div> + </$list> </div> </$link> \end From b1c295230de1b14bcf7639ef184f3b9e1c068e22 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" <jeremy@jermolene.com> Date: Mon, 10 Apr 2023 21:03:26 +0100 Subject: [PATCH 82/83] Fix clean.sh It was missing the output of the `zh-Hans` edition previously --- bin/clean.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/clean.sh b/bin/clean.sh index 522479edb..5a56e1971 100755 --- a/bin/clean.sh +++ b/bin/clean.sh @@ -2,4 +2,4 @@ # Remove any output files -find . -regex "^./editions/[a-z0-9\.-]*/output/.*" -delete +find . -regex "^./editions/.*/output/.*" -delete From d3ef198842d6e68183cf86ca63b5401fa6261660 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston <jeremy@jermolene.com> Date: Wed, 12 Apr 2023 11:18:17 +0100 Subject: [PATCH 83/83] Remove the 14px adjustment to textarea autoheight (#7400) --- core/modules/editor/engines/framed.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/modules/editor/engines/framed.js b/core/modules/editor/engines/framed.js index b4f700f2b..948890645 100644 --- a/core/modules/editor/engines/framed.js +++ b/core/modules/editor/engines/framed.js @@ -162,13 +162,13 @@ FramedEngine.prototype.fixHeight = function() { if(this.widget.editAutoHeight) { if(this.domNode && !this.domNode.isTiddlyWikiFakeDom) { var newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight); - this.iframeNode.style.height = (newHeight + 14) + "px"; // +14 for the border on the textarea + this.iframeNode.style.height = newHeight + "px"; } } else { var fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,"400px"),10); fixedHeight = Math.max(fixedHeight,20); this.domNode.style.height = fixedHeight + "px"; - this.iframeNode.style.height = (fixedHeight + 14) + "px"; + this.iframeNode.style.height = fixedHeight + "px"; } } };

Welcome to TiddlyWiki, a non-linear personal web 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.