From e19f86482aa35aaedb68f99a1ec14a613f666e54 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Sat, 6 Jul 2024 10:28:50 +0100 Subject: [PATCH 01/20] Testcase Widget: Fix placement of toolbar dropdown --- core/ui/TestCases/DefaultTemplate.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/ui/TestCases/DefaultTemplate.tid b/core/ui/TestCases/DefaultTemplate.tid index 02d20ad80..fb6e9edf1 100644 --- a/core/ui/TestCases/DefaultTemplate.tid +++ b/core/ui/TestCases/DefaultTemplate.tid @@ -15,7 +15,7 @@ title: $:/core/ui/testcases/DefaultTemplate

- <$genesis $type={{{ [!match[]then[$link]else[div]] }}} to=<>> + <$genesis $type={{{ [!match[]then[$link]else[span]] }}} to=<>> <%if [!match[]] %> !match[fail]then[tc-test-case-result-icon-pass]] [match[fail]then[tc-test-case-result-icon-fail]] +[join[ ]] }}}> <%if [!match[fail]] %> From 8f1792df2059378db0f038c563551373e5d95fbe Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Sat, 6 Jul 2024 10:29:06 +0100 Subject: [PATCH 02/20] Testcase Widget: Fix import icon --- core/images/input-button.tid | 5 +++++ core/ui/TestCases/actions/Import.tid | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 core/images/input-button.tid diff --git a/core/images/input-button.tid b/core/images/input-button.tid new file mode 100644 index 000000000..731a1e0cd --- /dev/null +++ b/core/images/input-button.tid @@ -0,0 +1,5 @@ +title: $:/core/images/input-button +tags: $:/tags/Image + +\parameters (size:"22pt") +> height=<> class="tc-image-input-button tc-image-button" viewBox="0 0 22 22"> \ No newline at end of file diff --git a/core/ui/TestCases/actions/Import.tid b/core/ui/TestCases/actions/Import.tid index 2a90dc227..f433118c2 100644 --- a/core/ui/TestCases/actions/Import.tid +++ b/core/ui/TestCases/actions/Import.tid @@ -4,7 +4,7 @@ tags: $:/tags/TestCase/Actions \whitespace trim <$button tooltip={{$:/language/Buttons/TestCaseImport/Hint}} aria-label={{$:/language/Buttons/TestCaseImport/Caption}} class=<>> <$action-sendmessage $message="tm-import-tiddlers" $param=<>/> -{{$:/core/images/permalink-button}} +{{$:/core/images/input-button}} <$text text={{$:/language/Buttons/TestCaseImport/Caption}}/> From eeeb9f97a9b517f5ed76267bb50d4d141c72c251 Mon Sep 17 00:00:00 2001 From: btheado Date: Sat, 6 Jul 2024 09:22:28 -0400 Subject: [PATCH 03/20] Add testcase to illustrate the bug in #8330 (#8336) * Add testcase to illustrate the bug in #8330 * Move new testcase to tw5.com edition --- .../DataWidget/FilterMissingTiddler.tid | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 editions/tw5.com/tiddlers/testcases/DataWidget/FilterMissingTiddler.tid diff --git a/editions/tw5.com/tiddlers/testcases/DataWidget/FilterMissingTiddler.tid b/editions/tw5.com/tiddlers/testcases/DataWidget/FilterMissingTiddler.tid new file mode 100644 index 000000000..5c8f242fc --- /dev/null +++ b/editions/tw5.com/tiddlers/testcases/DataWidget/FilterMissingTiddler.tid @@ -0,0 +1,17 @@ +title: TestCases/DataWidget/FilterMissingTiddler +type: text/vnd.tiddlywiki-multiple +tags: [[$:/tags/wiki-test-spec]] +description: Filter returns title of missing tiddler +display-format: plaintext + +title: Narrative + +When the $filter attribute of the data widget returns the title of a missing tiddler, no tiddler should be added to the output array of tiddlers. ++ +title: Output + +<$data $filter="missing"/> ++ +title: ExpectedResult + +

[]

\ No newline at end of file From eb6f3a423afe9394205f5642d8da876964272718 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Tue, 9 Jul 2024 09:47:38 +0100 Subject: [PATCH 04/20] Fix RSOE when editing the JSON of a plugin tiddler (#8354) --- core/modules/startup/plugins.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/startup/plugins.js b/core/modules/startup/plugins.js index ab74214b9..fc8ba9589 100644 --- a/core/modules/startup/plugins.js +++ b/core/modules/startup/plugins.js @@ -61,7 +61,7 @@ exports.startup = function() { // Collect the shadow tiddlers of any modified plugins $tw.utils.each(changes.modifiedPlugins,function(pluginTitle) { var pluginInfo = $tw.wiki.getPluginInfo(pluginTitle); - if(pluginInfo) { + if(pluginInfo && pluginInfo.tiddlers) { $tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) { changedShadowTiddlers[title] = false; }); From 5aa889859a9dde29ed610e57c6a1bbebf36e450e Mon Sep 17 00:00:00 2001 From: springerspandrel <66639553+springerspandrel@users.noreply.github.com> Date: Tue, 9 Jul 2024 05:40:14 -0400 Subject: [PATCH 05/20] Help beginners orient to empty filter parameters (#8353) --- .../tiddlers/Operators without parameters.tid | 18 ++++++++++++++++++ .../filters/syntax/Filter Parameter.tid | 4 +++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 editions/tw5.com/tiddlers/Operators without parameters.tid diff --git a/editions/tw5.com/tiddlers/Operators without parameters.tid b/editions/tw5.com/tiddlers/Operators without parameters.tid new file mode 100644 index 000000000..756efb74e --- /dev/null +++ b/editions/tw5.com/tiddlers/Operators without parameters.tid @@ -0,0 +1,18 @@ +created: 20240708171243370 +modified: 20240708201827711 +tags: +title: Operators without parameters + +Many [[Filter Operators]] have no [[parameter|Filter Parameter]] available. Still, each operator must be followed by a bracketed parameter expression — even if it is empty — as with the <<.olink backlinks>> operator below: + +`[backlinks[]]` + +(Even though an expression such as `[backlinks]` may at first <<.em seem>> well-formed — insofar as closing brackets seem to pair properly with opening brackets — each operator needs its own parameter brackets, even if empty. See [[Filter Syntax]].) + +The following [[Filter Operators]] accept no parameters: + +
+ +<> + +
\ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/syntax/Filter Parameter.tid b/editions/tw5.com/tiddlers/filters/syntax/Filter Parameter.tid index 9334fd069..0cfb83d5c 100644 --- a/editions/tw5.com/tiddlers/filters/syntax/Filter Parameter.tid +++ b/editions/tw5.com/tiddlers/filters/syntax/Filter Parameter.tid @@ -1,5 +1,5 @@ created: 20150220152540000 -modified: 20230710074423650 +modified: 20240708202234843 tags: [[Filter Step]] title: Filter Parameter type: text/vnd.tiddlywiki @@ -29,6 +29,8 @@ The parameter to a [[filter operator|Filter Operators]] can be: :: The parameter is the current value of the [[variable|Variables]] whose name appears between the angle brackets. Macro parameters are <<.em not>> supported up to v5.2.0 ::<<.from-version "5.2.0">> Literal macro parameters are supported. For example: `[]`. +<<.note """Every [[filter Operator]] must be followed by a parameter expression. In the case of [[Operators without parameters]], that expression is empty, as with the filter Operator <<.olink links>> in `[links[]]`.""">> + --- <<.from-version "5.1.23">> [[Filter Step]]s support multiple parameters which are separated by a `,` character. From bc18bd9261e40bf25001ce5921ed2310ffb8c8c5 Mon Sep 17 00:00:00 2001 From: springerspandrel <66639553+springerspandrel@users.noreply.github.com> Date: Tue, 9 Jul 2024 05:43:52 -0400 Subject: [PATCH 06/20] Make it easier to see which filter Operators are selection constructors (#8349) --- .../tiddlers/Selection Constructors: Conditional.tid | 9 +++++++++ .../tw5.com/tiddlers/concepts/Selection Constructors.tid | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 editions/tw5.com/tiddlers/Selection Constructors: Conditional.tid diff --git a/editions/tw5.com/tiddlers/Selection Constructors: Conditional.tid b/editions/tw5.com/tiddlers/Selection Constructors: Conditional.tid new file mode 100644 index 000000000..511b0f979 --- /dev/null +++ b/editions/tw5.com/tiddlers/Selection Constructors: Conditional.tid @@ -0,0 +1,9 @@ +created: 20240708174435694 +modified: 20240708175546166 +title: Selection Constructors: Conditional + +Most [[filter Operators|filter Operator]] are either ''selection modifiers'' or [[Selection Constructors]]. + +Within the exceptional category <> are a tiny minority that //usually// act as ''selection modifiers'', but which can construct a fresh selection under special conditions — namely, whenever their [[parameter|Filter Parameter]] is specified with a selection constructor. + +<]">> diff --git a/editions/tw5.com/tiddlers/concepts/Selection Constructors.tid b/editions/tw5.com/tiddlers/concepts/Selection Constructors.tid index 9aac725a5..313339efb 100644 --- a/editions/tw5.com/tiddlers/concepts/Selection Constructors.tid +++ b/editions/tw5.com/tiddlers/concepts/Selection Constructors.tid @@ -1,5 +1,5 @@ created: 20150117204109000 -modified: 20150917193713204 +modified: 20240708201746542 tags: Filters title: Selection Constructors type: text/vnd.tiddlywiki @@ -11,3 +11,7 @@ The output of a [[Filter Step]] depends on its [[operator|Filter Operators]]: * A few operators ignore their input and generate an independent output instead. These are called <<.def "selection constructors">>: they construct an entirely new [[selection|Title Selection]]. A good example of a constructor is <<.olink title>>. The output of `[title[A]title[B]]` is just <<.tid B>>. But the <<.olink field>> operator is a modifier, so `[title[A]field:title[B]` outputs nothing at all. + +The following [[filter Operators|filter Operator]] are tagged <>: + +<]" class:"multi-columns">> From ad5661ef1c1a59b4640bc3d76409e5d672008435 Mon Sep 17 00:00:00 2001 From: springerspandrel <66639553+springerspandrel@users.noreply.github.com> Date: Tue, 9 Jul 2024 06:07:08 -0400 Subject: [PATCH 07/20] Docs: Clarify wording on examples for tag-picker Macro (#8348) --- .../tiddlers/tag-picker Macro (Examples).tid | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/editions/tw5.com/tiddlers/tag-picker Macro (Examples).tid b/editions/tw5.com/tiddlers/tag-picker Macro (Examples).tid index 1fc150dcc..89c9a9d11 100644 --- a/editions/tw5.com/tiddlers/tag-picker Macro (Examples).tid +++ b/editions/tw5.com/tiddlers/tag-picker Macro (Examples).tid @@ -1,13 +1,13 @@ created: 20230616104546608 -modified: 20240214174032498 +modified: 20240708132312901 tags: [[tag-picker Macro]] [[Macro Examples]] title: tag-picker Macro (Examples) type: text/vnd.tiddlywiki -<<.warning """The first example will set the tag of the <<.tid currentTiddler>> so you should copy / paste it to a new tiddler for testing. Otherwise you'll change "this tiddler" """>> +<<.warning """The first example will add tags to the <<.tid currentTiddler>> so you should copy / paste it to a new tiddler for testing. Otherwise you'll change "this tiddler" """>> -<$macrocall $name=".example" n="1" -eg="""Use all existing tags and set the ''tags'' field here: <> +<$transclude $variable=".example" n="1" +eg="""Add tags to this tiddler's ''tags'' field (selecting from a list of all tags): <> """/> ---- @@ -17,41 +17,41 @@ eg="""Use all existing tags and set the ''tags'' field here: <> <<.tip """The following examples use a temporary tiddler: $:/temp/test/tag-picker. So this tiddler will not be changed """>> -<$macrocall $name=".example" n="2" +<$transclude $variable=".example" n="2" eg="""$:/temp/test/tag-picker ''tags'': <$text text={{{ [[$:/temp/test/tag-picker]get[tags]enlist-input[]join[, ]else[n/a]] }}}/> -Use all existing tags and set the $:/temp/test/tag-picker ''tags'' field: <> +Add tags to the $:/temp/test/tag-picker ''tags'' field (selecting from a list of all tags): <> """/> ---- <<.tip """Use the following example to populate the $:/temp/test/tag-picker ''foo''-field, which are needed by some examples below """>> -<$macrocall $name=".example" n="3" +<$transclude $variable=".example" n="3" eg="""$:/temp/test/tag-picker ''foo'': <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/> -Use all existing tags and set the $:/temp/test/tag-picker ''foo'' field: <> +Add tags to the $:/temp/test/tag-picker ''foo'' field (selecting from a list of all tags): <> """/> ---- <<.tip """The following example expects some values in the "foo" field of the tiddler $:/temp/test/tag-picker, which can be created by the example above.""">> -<$macrocall $name=".example" n="4" eg="""\procedure listSource() $:/temp/test/tag-picker +<$transclude $variable=".example" n="4" eg="""\procedure listSource() $:/temp/test/tag-picker $:/temp/test/tag-picker foo: <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/>
$:/temp/test/tag-picker bar: <$text text={{{ [[$:/temp/test/tag-picker]get[bar]enlist-input[]join[, ]else[n/a]] }}}/> -Use $:/temp/test/tag-picker ''foo'' field as source and set ''bar'': <get[foo]enlist-input[]]" tiddler:"$:/temp/test/tag-picker">> +Add tags to the ''bar'' field, selecting from values in ''foo'' field of $:/temp/test/tag-picker: <get[foo]enlist-input[]]" tiddler:"$:/temp/test/tag-picker">> """/> ---- <<.tip """The following example expects some values in the "foo" field of the tiddler $:/temp/test/tag-picker, which can be created by the example above.
-It will also add completely new tags to the bar-field and the source tiddlers foo-field. New tags can be entered by typing into the tag-name input +It will also add completely new tags to the bar-field and the source tiddler‘s foo-field. New tags can be entered by typing into the tag-name input """>> -<$macrocall $name=".example" n="5" eg=""" +<$transclude $variable=".example" n="5" eg=""" \procedure listSource() $:/temp/test/tag-picker \procedure listSourceField() foo @@ -62,7 +62,7 @@ It will also add completely new tags to the bar-field and the source tiddlers fo $:/temp/test/tag-picker foo: <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/>
$:/temp/test/tag-picker ''bar'': <$text text={{{ [[$:/temp/test/tag-picker]get[bar]enlist-input[]join[, ]else[n/a]] }}}/> -Use $:/temp/test/tag-picker ''foo'' field as source and set ''bar'': <$macrocall $name="tag-picker" tagField="bar" tagListFilter="[getenlist-input[]]" tiddler="$:/temp/test/tag-picker" actions=<>/> +Add tags to ''bar'' field, selecting from values in ''foo'' field of $:/temp/test/tag-picker: <$macrocall $name="tag-picker" tagField="bar" tagListFilter="[getenlist-input[]]" tiddler="$:/temp/test/tag-picker" actions=<>/> """/> From 753b289ba95d699341b588c6615fec0882b118f7 Mon Sep 17 00:00:00 2001 From: springerspandrel <66639553+springerspandrel@users.noreply.github.com> Date: Tue, 9 Jul 2024 11:34:18 -0400 Subject: [PATCH 08/20] Clarify opposite handling of de-duplication order for unique Operator vs Dominant Append (#8357) --- editions/tw5.com/tiddlers/concepts/Dominant Append.tid | 4 +++- editions/tw5.com/tiddlers/filters/unique.tid | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/concepts/Dominant Append.tid b/editions/tw5.com/tiddlers/concepts/Dominant Append.tid index 59e79d6c7..c473936bb 100644 --- a/editions/tw5.com/tiddlers/concepts/Dominant Append.tid +++ b/editions/tw5.com/tiddlers/concepts/Dominant Append.tid @@ -1,5 +1,5 @@ created: 20150123220223000 -modified: 20190610165255223 +modified: 20240709151004998 tags: Filters title: Dominant Append type: text/vnd.tiddlywiki @@ -13,3 +13,5 @@ For example, if a selection contains `Andrew Becky Clara Daniel` and `Andrew Bar This behaviour can cause unexpected results when working with [[Mathematics Operators]]. For example, `1 2 3 +[sum[]]` evaluates to `6`, as expected. But `1 1 1 +[sum[]]` evaluates to `1`. Removing the `+[sum[]]` from each filter reveals the problem: `1 2 3` evaluates to the list `1`, `2`, `3`, while `1 1 1` evaluates to the single item `1` due to de-duplication. In such situations, the `=` prefix can be used to disable the de-duplication. For example, `=1 =1 =1 +[sum[]]` evaluates to `3` as expected. Alternatively, the [[split Operator]] can be used: `[[1,1,1]split[,]sum[]]`. + +<<.tip """To build a list of unique values that retains only the <<.em earliest>> copy of each value (the opposite behavior from <<.link "Dominant Append" "Dominant Append">>), first use the <<.link `:all` "All Filter Run Prefix">> filter run prefix (or its short form `=`) to retain all duplicate values while building your list. Then finish your filter run with the <<.olink unique>> operator" to remove later duplicates.""">> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/unique.tid b/editions/tw5.com/tiddlers/filters/unique.tid index 672817968..836c41db8 100644 --- a/editions/tw5.com/tiddlers/filters/unique.tid +++ b/editions/tw5.com/tiddlers/filters/unique.tid @@ -1,4 +1,6 @@ caption: unique +created: 20240709151018238 +modified: 20240709151336906 op-input: a list of items op-output: a list of unique items op-parameter: ignored @@ -7,4 +9,6 @@ tags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]] title: unique Operator type: text/vnd.tiddlywiki +<<.note """Unlike the default <<.link "Dominant Append" "Dominant Append">> handling of duplication, the effect of <<.op unique>> is to retain only the <<.em earliest>> instance among duplicated values.""">> + <<.operator-examples "unique">> From e644b5cb469f500cedc88e560ad0d0a130eeecd4 Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Wed, 10 Jul 2024 01:07:24 +0800 Subject: [PATCH 09/20] Signing CLA (#8358) --- licenses/cla-individual.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index 0cf3c95f1..a9810211c 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -577,3 +577,5 @@ Andrei Rybak, @rybak, 2024/06/09 @Leilei332, 2024/06/28 @springerspandrel, 2024/06/27 + +@andrewgoz, 2024/07/10 \ No newline at end of file From cec30738f43014655b269847bb3e9c60244fa677 Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Wed, 10 Jul 2024 01:08:01 +0800 Subject: [PATCH 10/20] Correct minlength purpose text (#8359) --- editions/tw5.com/tiddlers/filters/minlength.tid | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/filters/minlength.tid b/editions/tw5.com/tiddlers/filters/minlength.tid index d36a06cfb..e5fbe8594 100644 --- a/editions/tw5.com/tiddlers/filters/minlength.tid +++ b/editions/tw5.com/tiddlers/filters/minlength.tid @@ -1,12 +1,12 @@ caption: minlength created: 20161011074235805 from-version: 5.1.14 -modified: 20240621073052597 +modified: 20240709161140504 op-input: a list of items op-output: those items at least as long as the specified minimum length op-parameter: the minimum length for items op-parameter-name: minlength -op-purpose: filter items whose length is greater than the specified minimum length +op-purpose: filter items whose length is greater than or equal to the specified minimum length tags: [[Filter Operators]] title: minlength Operator type: text/vnd.tiddlywiki From 7071fdef8a712d96f657c8bf529cc3534b709169 Mon Sep 17 00:00:00 2001 From: Michael McDermott Date: Tue, 9 Jul 2024 14:54:36 -0500 Subject: [PATCH 11/20] Adding CLA signature. (#8361) --- licenses/cla-individual.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index a9810211c..e7a7136f1 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -578,4 +578,6 @@ Andrei Rybak, @rybak, 2024/06/09 @springerspandrel, 2024/06/27 -@andrewgoz, 2024/07/10 \ No newline at end of file +@andrewgoz, 2024/07/10 + +Michael McDermott, @michaeljmcd, 2024-07-09 From 906ac3817dfb1aa0834f258b8ecef6ac1d936f82 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Tue, 9 Jul 2024 21:55:51 +0200 Subject: [PATCH 12/20] Fix 8347 tag-picker macro improve tagListFilter (#8351) * improve tagListFiler defaults to [tags[]sort[]] now * tag-picker - update docs --- core/wiki/macros/tag-picker.tid | 16 ++++++++++------ .../tw5.com/tiddlers/macros/tag-picker_Macro.tid | 5 +++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/wiki/macros/tag-picker.tid b/core/wiki/macros/tag-picker.tid index a67568d8e..8bd3caf4e 100644 --- a/core/wiki/macros/tag-picker.tid +++ b/core/wiki/macros/tag-picker.tid @@ -1,9 +1,12 @@ title: $:/core/macros/tag-picker tags: $:/tags/Macro $:/tags/Global -first-search-filter: [subfilter!is[system]search:titlesort[]] -second-search-filter: [subfilteris[system]search:titlesort[]] +first-search-filter: [subfilter!is[system]search:title] +second-search-filter: [subfilteris[system]search:title] - + \whitespace trim @@ -150,7 +153,7 @@ The second ESC tries to close the "draft tiddler" \end -\procedure tag-picker(actions, tagField:"tags", tiddler, tagListFilter:"[tags[]]") +\procedure tag-picker(actions, tagField:"tags", tiddler, tagListFilter:"[tags[]sort[]]") \function _tf.getUserInput() [get[text]] \function _tf.getTag() [get[text]] @@ -158,6 +161,7 @@ The second ESC tries to close the "draft tiddler" \function _tf.makeTagNameTiddler() [[$:/temp/NewTagName]] [!match[tags]] +[join[/]] [] +[join[]] + <$let palette={{$:/palette}} colourA={{{ [getindex[foreground]] }}} @@ -174,8 +178,8 @@ The second ESC tries to close the "draft tiddler" refreshTitle=<> - nonSystemTagsFilter="[subfilter!is[system]search:titlesort[]]" - systemTagsFilter="[subfilteris[system]search:titlesort[]]" + nonSystemTagsFilter="[subfilter!is[system]search:title]" + systemTagsFilter="[subfilteris[system]search:title]" cancelPopups="yes" > diff --git a/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid b/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid index 612b9365a..c7de6b053 100644 --- a/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid +++ b/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid @@ -1,6 +1,6 @@ caption: tag-picker created: 20161128191316701 -modified: 20230616114543787 +modified: 20240708175550512 tags: Macros [[Core Macros]] title: tag-picker Macro type: text/vnd.tiddlywiki @@ -19,7 +19,8 @@ The <<.def tag-picker>> [[macro|Macros]] generates a combination of a text box a : <<.from-version 5.3.4>> Defines the target tiddler, which should be manipulated. Defaults to: <<.var currentTiddler>>. ; tagListFilter -: <<.from-version 5.3.4>> This parameter defaults to: `[tags[]]` which creates a list of all existing tags. If the tag list should come from a different source the filter should look similar to eg: `[get[field-name]enlist-input[]]`. +: <<.from-version 5.3.4>> This parameter defaults to: `[tags[]]` which creates a list of all existing tags. If the tag list should come from a different source the filter should look similar to eg: `[get[field-name]enlist-input[]]`. See examples. +: <<.from-version 5.3.6>> This parameter defaults to: `[tags[]sort[]]`. This change allows a custom sort order, since `sort[]` is not hardcoded into the tag-picker macro anymore. <<.macro-examples "tag-picker">> From d41fabd472710d3c7c3a3188ceeb2a17e117058c Mon Sep 17 00:00:00 2001 From: springerspandrel <66639553+springerspandrel@users.noreply.github.com> Date: Tue, 9 Jul 2024 15:56:11 -0400 Subject: [PATCH 13/20] Remove stray quote-mark near end of tip in Dominant Append tiddler (#8360) --- editions/tw5.com/tiddlers/concepts/Dominant Append.tid | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/concepts/Dominant Append.tid b/editions/tw5.com/tiddlers/concepts/Dominant Append.tid index c473936bb..70c9815ee 100644 --- a/editions/tw5.com/tiddlers/concepts/Dominant Append.tid +++ b/editions/tw5.com/tiddlers/concepts/Dominant Append.tid @@ -1,5 +1,5 @@ created: 20150123220223000 -modified: 20240709151004998 +modified: 20240709170746678 tags: Filters title: Dominant Append type: text/vnd.tiddlywiki @@ -14,4 +14,4 @@ This behaviour can cause unexpected results when working with [[Mathematics Oper In such situations, the `=` prefix can be used to disable the de-duplication. For example, `=1 =1 =1 +[sum[]]` evaluates to `3` as expected. Alternatively, the [[split Operator]] can be used: `[[1,1,1]split[,]sum[]]`. -<<.tip """To build a list of unique values that retains only the <<.em earliest>> copy of each value (the opposite behavior from <<.link "Dominant Append" "Dominant Append">>), first use the <<.link `:all` "All Filter Run Prefix">> filter run prefix (or its short form `=`) to retain all duplicate values while building your list. Then finish your filter run with the <<.olink unique>> operator" to remove later duplicates.""">> \ No newline at end of file +<<.tip """To build a list of unique values that retains only the <<.em earliest>> copy of each value (the opposite behavior from <<.link "Dominant Append" "Dominant Append">>), first use the <<.link `:all` "All Filter Run Prefix">> filter run prefix (or its short form `=`) to retain all duplicate values while building your list. Then finish your filter run with the <<.olink unique>> operator to remove later duplicates.""">> \ No newline at end of file From 1eb1af25895a0494474e201418cb723e3bd291cc Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Wed, 10 Jul 2024 09:13:18 +0100 Subject: [PATCH 14/20] Fixed version name typo See https://github.com/Jermolene/TiddlyWiki5/pull/8351/files#r1671743415 --- editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid b/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid index c7de6b053..a983e440f 100644 --- a/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid +++ b/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid @@ -20,7 +20,7 @@ The <<.def tag-picker>> [[macro|Macros]] generates a combination of a text box a ; tagListFilter : <<.from-version 5.3.4>> This parameter defaults to: `[tags[]]` which creates a list of all existing tags. If the tag list should come from a different source the filter should look similar to eg: `[get[field-name]enlist-input[]]`. See examples. -: <<.from-version 5.3.6>> This parameter defaults to: `[tags[]sort[]]`. This change allows a custom sort order, since `sort[]` is not hardcoded into the tag-picker macro anymore. +: <<.from-version 5.3.5>> This parameter defaults to: `[tags[]sort[]]`. This change allows a custom sort order, since `sort[]` is not hardcoded into the tag-picker macro anymore. <<.macro-examples "tag-picker">> From 46f6fe88a201b8913367ab544a00224c4f279dda Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Wed, 10 Jul 2024 11:16:00 +0100 Subject: [PATCH 15/20] Update release note --- editions/prerelease/tiddlers/Release 5.3.5.tid | 2 ++ 1 file changed, 2 insertions(+) diff --git a/editions/prerelease/tiddlers/Release 5.3.5.tid b/editions/prerelease/tiddlers/Release 5.3.5.tid index 2308bd89f..4977da513 100644 --- a/editions/prerelease/tiddlers/Release 5.3.5.tid +++ b/editions/prerelease/tiddlers/Release 5.3.5.tid @@ -23,6 +23,8 @@ This is a bug fix release to address a number of bugs that were introduced with * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8333">> crash with DataWidget if `$filter` attribute specifies a missing tiddler * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/6554b5c9f4f6888f0c25c833b775c3a74ea15531">> reapplies [[#8246 Link to correct plugin instructions for Node.js|https://github.com/Jermolene/TiddlyWiki5/pull/8246]] which had accidentally been reverted * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/d2c2ada33ccd3d73d39d8c0461f327e4dee68234">> tour display in "zoomin" storyview +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/8f1792df2059378db0f038c563551373e5d95fbe">> test case import icon +* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8354">> crash when editing JSON text of a plugin tiddler ! Acknowledgements for v5.3.5 From e2b40c3a140552ef8a2ca023387f4c92c35534a7 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Wed, 10 Jul 2024 14:07:12 +0100 Subject: [PATCH 16/20] Preparing for release of v5.3.5 --- .../prerelease/tiddlers/Release 5.3.6.tid | 56 +++++++++++++++++++ .../tiddlers/hellothere/HelloThere.tid | 2 +- .../tiddlers/releasenotes}/Release 5.3.5.tid | 9 ++- readme.md | 2 +- 4 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 editions/prerelease/tiddlers/Release 5.3.6.tid rename editions/{prerelease/tiddlers => tw5.com/tiddlers/releasenotes}/Release 5.3.5.tid (94%) diff --git a/editions/prerelease/tiddlers/Release 5.3.6.tid b/editions/prerelease/tiddlers/Release 5.3.6.tid new file mode 100644 index 000000000..06dd74b8b --- /dev/null +++ b/editions/prerelease/tiddlers/Release 5.3.6.tid @@ -0,0 +1,56 @@ +caption: 5.3.6 +created: 20240710120027897 +modified: 20240710120027897 +tags: ReleaseNotes +title: Release 5.3.6 +type: text/vnd.tiddlywiki +description: Under development + +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.5...master]]// + +! Major Improvements + +! Translation improvements + +This release includes improvements to the following translations: + +* + +! Plugin Improvements + +* + +! Widget Improvements + +* + +! Filter Improvements + +* + +! Usability Improvements + +* + +! Hackability Improvements + +* + +! Bug Fixes + +* + +! Node.js Improvements + +* + +! Developer 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 """ +""">> diff --git a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid index e30329bd0..c665d217b 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: 20240627165458407 +modified: 20240710115948992 tags: TableOfContents title: HelloThere type: text/vnd.tiddlywiki diff --git a/editions/prerelease/tiddlers/Release 5.3.5.tid b/editions/tw5.com/tiddlers/releasenotes/Release 5.3.5.tid similarity index 94% rename from editions/prerelease/tiddlers/Release 5.3.5.tid rename to editions/tw5.com/tiddlers/releasenotes/Release 5.3.5.tid index 4977da513..09d23ab12 100644 --- a/editions/prerelease/tiddlers/Release 5.3.5.tid +++ b/editions/tw5.com/tiddlers/releasenotes/Release 5.3.5.tid @@ -1,12 +1,12 @@ caption: 5.3.5 -created: 20240627165523990 -modified: 20240627165523990 +created: 20240710115948992 +modified: 20240710115948992 tags: ReleaseNotes title: Release 5.3.5 type: text/vnd.tiddlywiki description: Under development -//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.4...master]]// +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.4...v5.3.5]]// <<.banner-credits credit:"""Congratulations to [[duarte.framos|https://talk.tiddlywiki.org/u/duarte.framos]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-4/9940]]). @@ -31,7 +31,10 @@ This is a bug fix release to address a number of bugs that were introduced with [[@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 """ +andrewgoz +btheado Leilei332 +michaeljmcd oeyoews pmario springerspandrel diff --git a/readme.md b/readme.md index 166a8f1f7..ae57b105b 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@

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

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

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.3.4". 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: