From 8f592d3f0ade4d7b36dc35bef8390cdf25ef1e80 Mon Sep 17 00:00:00 2001 From: Marxsal Date: Mon, 4 Oct 2021 01:48:44 -0700 Subject: [PATCH 1/7] Documentation - Installing Nodejs fixes (#6085) --- .../nodejs/Installing TiddlyWiki on Node.js.tid | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid b/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid index 5c6b34f13..fe8a58513 100644 --- a/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid +++ b/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid @@ -4,14 +4,21 @@ created: 20131219100608529 delivery: DIY description: Flexible hosting on your own machine or in the cloud method: sync -modified: 20200507110222866 +modified: 20211003230831173 tags: Saving [[TiddlyWiki on Node.js]] Windows Mac Linux title: Installing TiddlyWiki on Node.js type: text/vnd.tiddlywiki # Install [[Node.js]] -#* either from your favourite package manager: typically `apt-get install nodejs` on Debian/Ubuntu Linux or [[Termux for Android|Serving TW5 from Android]], or `brew install node` on a Mac -#* or directly from http://nodejs.org +#* Linux: +#*> //Debian/Ubuntu//:
`apt install nodejs`
May need to be followed up by:
`apt install npm` +#*> //Arch Linux//
`pacman -S tiddlywiki`
(installs node and tiddlywiki) +#* Mac +#*> `brew install node` +#* Android +#*> [[Termux for Android|Serving TW5 from Android]] +#* Other +#*> See http://nodejs.org # 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: From 8d7c869072fe0a6452af4bbee75a3e9b02e2539f Mon Sep 17 00:00:00 2001 From: Marxsal Date: Fri, 8 Oct 2021 11:09:17 -0700 Subject: [PATCH 2/7] Changes to TiddlyServer by Matt Lauber (#6094) This version of the project is not maintained. I've noted this and added a link to Arlen Beiler's community reference. I suppose it could be deleted entirely, but might be useful for historical purposes? --- .../community/resources/_TiddlyServer_ by Matt Lauber.tid | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/editions/tw5.com/tiddlers/community/resources/_TiddlyServer_ by Matt Lauber.tid b/editions/tw5.com/tiddlers/community/resources/_TiddlyServer_ by Matt Lauber.tid index 615298b6b..9db852a1d 100644 --- a/editions/tw5.com/tiddlers/community/resources/_TiddlyServer_ by Matt Lauber.tid +++ b/editions/tw5.com/tiddlers/community/resources/_TiddlyServer_ by Matt Lauber.tid @@ -1,11 +1,14 @@ created: 20161226165024380 creator: Matt Lauber -modified: 20210106151027226 +modified: 20211008161027226 tags: [[Other resources]] title: "TiddlyServer" by Matt Lauber type: text/vnd.tiddlywiki url: https://github.com/mklauber/TiddlyServer/releases/ +''Note:'' This is an older version of ~TiddlyServer. A modern version can be referenced [[here.|TiddlyServer by Arlen Beiler]] + +---- TiddlyServer is a special purpose Desktop app, designed to facilitate managing multiple instances of TiddlyWiki running as a server. It does not require internet acess to access the wikis. {{!!url}} @@ -14,4 +17,3 @@ TiddlyServer is a special purpose Desktop app, designed to facilitate managing m TiddlyServer can import both TiddlyWiki files and TiddlyFolder wikis. For each wiki, you specify a prefix to serve it with and the source to import from. It will copy the wikis to its own internal store and begin serving them up at http://localhost:8080/{prefix}/. The export button for each wiki will convert it to a single file wiki. <<< - From f85678b6dc08766f7784c2113993bbb53e5a1171 Mon Sep 17 00:00:00 2001 From: btheado Date: Mon, 11 Oct 2021 06:52:29 -0400 Subject: [PATCH 3/7] Signing the CLA (#6103) --- licenses/cla-individual.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index 23ffd4987..35a49b6bb 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -465,3 +465,5 @@ J. Song, @8d1h, 2021/08/05 Soren Bjornstad, @sobjornstad, 2021/08/18 Maurycy Zarzycki, @evidentlycube, 2021-10-01 + +Brian Theado, @btheado, 2021-10-10 From cc389ec82b495a3ecfb084ef9e52d1d1ea4c7d2c Mon Sep 17 00:00:00 2001 From: btheado Date: Mon, 11 Oct 2021 06:59:47 -0400 Subject: [PATCH 4/7] Improve $action-listops attribute docs (#6104) * Added comparisons of $filter, $subfilter, and $tags attributes * Added comparison between action-listops and action-setfield widgets --- .../tiddlers/widgets/ActionListopsWidget.tid | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid b/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid index 3dfb8fe5f..7d91b5f6f 100644 --- a/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid @@ -36,6 +36,56 @@ The ''action-listops'' widget is invisible. Any content within it is ignored. |$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 | +! $filter vs. $subfilter + +Standalone use of the `$subfilter` attribute can be replaced by using a (more complicated) `$filter` attribute value. + +For example, the items "abc" and "123" can be appended to the field `myfield` using the `$subfilter` attribute: + +``` +<$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]]: + +``` +<$action-listops $field="myfield" $filter="[all[current]get[myfield]enlist-input[]] 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 + +[[Tagging]] is implemented using a tiddler's 'tags' field, so appending the tags "abc" and "123" using the `$tags` attribute like this: + +``` +<$action-listops $tags="abc 123"/> +``` + +is mostly equivalent to using `$subfilter` along with "tags" for the value of `$field`: + +``` +<$action-listops $field="tags" $subfilter="abc 123"/> +``` + +! $action-listops widget vs. $action-setfield widget + +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 $. + +The ActionListopsWidget replaces or modifies a single field's value. The new value is generated using filters. + +The following two examples are functionally equivalent: + +``` +<$action-setfield $field="myfield" $value="abc 123"/> +``` + +``` +<$action-listops $field="myfield" $filter="abc 123"/> +``` + +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 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. From 03bd99cd11a39b227e4262257d87c89ff06c6911 Mon Sep 17 00:00:00 2001 From: btheado Date: Mon, 11 Oct 2021 07:01:34 -0400 Subject: [PATCH 5/7] Docs: fix invalid html comment in operator template #6100 --- .../tiddlers/system/operator-template.tid | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/editions/tw5.com/tiddlers/system/operator-template.tid b/editions/tw5.com/tiddlers/system/operator-template.tid index 13c5e28be..fa9c9fe04 100644 --- a/editions/tw5.com/tiddlers/system/operator-template.tid +++ b/editions/tw5.com/tiddlers/system/operator-template.tid @@ -23,25 +23,25 @@ list-before: $:/core/ui/ViewTemplate/body <$set name="op-name" value=""> <$list filter="[all[current]tag[Filter Operators]]"> - + <$set name="op-head" value="purpose"> <$set name="op-body" value={{!!op-purpose}}> <<.op-row>> - + <$set name="op-head" value="[[input|Filter Syntax]]"> <$set name="op-body" value={{!!op-input}}> <<.op-row>> - + <$set name="op-head" value="`!` input"> <$set name="op-body" value={{!!op-neg-input}}> <<.op-row>> - + <$set name="op-head" value="[[suffix|Filter Step]]"> <$set name="op-body" value={{!!op-suffix}}> <$set name="op-name" value={{!!op-suffix-name}}> @@ -49,7 +49,7 @@ list-before: $:/core/ui/ViewTemplate/body - + <$set name="op-head" value="[[parameter|Filter Parameter]]"> <$set name="op-body" value={{!!op-parameter}}> <$set name="op-name" value={{!!op-parameter-name}}> @@ -57,19 +57,19 @@ list-before: $:/core/ui/ViewTemplate/body - + <$set name="op-head" value="output"> <$set name="op-body" value={{!!op-output}}> <<.op-row>> - + <$set name="op-head" value="`!` output"> <$set name="op-body" value={{!!op-neg-output}}> <<.op-row>> - +
<$list filter="[all[current]has[from-version]]" variable="listItem"> <$macrocall $name=".from-version" version={{!!from-version}}/> From f30a455ee3beeb6a19060d436459d6b75754cfdc Mon Sep 17 00:00:00 2001 From: Telumire <31185220+Telumire@users.noreply.github.com> Date: Mon, 18 Oct 2021 10:06:49 +0200 Subject: [PATCH 6/7] Signing the CLA (#6128) see https://github.com/Jermolene/TiddlyWiki5/pull/6127 --- licenses/cla-individual.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md index 35a49b6bb..b235bcb8d 100644 --- a/licenses/cla-individual.md +++ b/licenses/cla-individual.md @@ -467,3 +467,5 @@ Soren Bjornstad, @sobjornstad, 2021/08/18 Maurycy Zarzycki, @evidentlycube, 2021-10-01 Brian Theado, @btheado, 2021-10-10 + +@Telumire, 2021-10-18 From 8654066f0341fe7f84538568f2dda3c15dc2c033 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Thu, 21 Oct 2021 09:21:00 +0100 Subject: [PATCH 7/7] Remove docs about editing a field of the containing tiddler Doesn't apply post v5.2.0 --- .../tiddlers/widgets/EditTextWidget.tid | 24 +------------------ 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/editions/tw5.com/tiddlers/widgets/EditTextWidget.tid b/editions/tw5.com/tiddlers/widgets/EditTextWidget.tid index f1a8bb453..7cde23345 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: 20210519154352055 +modified: 20211021091910134 tags: Widgets title: EditTextWidget type: text/vnd.tiddlywiki @@ -37,25 +37,3 @@ The content of the `<$edit-text>` widget is ignored. |refreshTitle |<<.from-version 5.1.23>> An optional tiddler title that makes the input field update whenever the specified tiddler changes | |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"| - -! Notes - -One trap to be aware of is that the edit text widget //cannot be used// to edit a field of the tiddler that contains it. Each keypress results in the tiddler being re-rendered, which loses the cursor position within the text field. - -Instead, place the edit text widget in a [[template|TemplateTiddlers]] that references the tiddler you want to modify. - -For example, if you wanted the tiddler GettingStarted to edit the value of the "myconfig" field of the tiddler "AppSettings", you might do so by creating a separate tiddler "ChangeAppSettings" that contains the following: - -``` -<$edit-text tiddler="AppSettings" field="myconfig"/> -``` - -And reference the template in any other tiddler (e.g. GettingStarted) with `{{ChangeAppSettings}}`. - -This works when your use of the tiddler //is not// the AppSettings itself which would cause a recursion problem. In this latter case you have to save the fields to a temporary (or alternative) tiddler (sort of the reverse of above) like so: - -``` -<$edit-text tiddler="StoreAppSettings" field="myconfig"/> -``` - -In short the EditTextWidget //can not// change properties of the tiddler it is embedded in or part of. It can only change fields of //other// tiddlers. One could use ShadowTiddlers to accomplish the field storage if needed.