diff --git a/editions/tw5.com/tiddlers/$__StoryList.tid b/editions/tw5.com/tiddlers/$__StoryList.tid
new file mode 100644
index 000000000..80d265c4e
--- /dev/null
+++ b/editions/tw5.com/tiddlers/$__StoryList.tid
@@ -0,0 +1,5 @@
+created: 20191004112211823
+list: [[WidgetMessage: tm-unload-plugin-library]] [[WidgetMessage: tm-load-plugin-library]] [[WidgetMessage: tm-load-plugin-from-library]] HelloThere GettingStarted Community
+modified: 20191004113621710
+title: $:/StoryList
+type: text/vnd.tiddlywiki
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/community/Forums.tid b/editions/tw5.com/tiddlers/community/Forums.tid
index cd10ffe20..41bbc5210 100644
--- a/editions/tw5.com/tiddlers/community/Forums.tid
+++ b/editions/tw5.com/tiddlers/community/Forums.tid
@@ -13,7 +13,8 @@ The ~TiddlyWiki discussion groups are mailing lists for talking about ~TiddlyWik
** An enhanced group search facility is available on [[mail-archive.com|https://www.mail-archive.com/tiddlywiki@googlegroups.com/]]
* Watch recordings of our regular [[TiddlyWiki Hangouts]]
* Follow [[@TiddlyWiki on Twitter|http://twitter.com/TiddlyWiki]] for the latest news
-* ''New: Join us on our live chat at https://gitter.im/TiddlyWiki/public !''
+* New: Join us on our live chat at https://gitter.im/TiddlyWiki/public !
+* There is also a discord available at https://discord.gg/HFFZVQ8
! Developers
diff --git a/editions/tw5.com/tiddlers/community/resources/Json Mangler plugin by Joshua Fontany.tid b/editions/tw5.com/tiddlers/community/resources/Json Mangler plugin by Joshua Fontany.tid
index a02972a63..548e0685c 100644
--- a/editions/tw5.com/tiddlers/community/resources/Json Mangler plugin by Joshua Fontany.tid
+++ b/editions/tw5.com/tiddlers/community/resources/Json Mangler plugin by Joshua Fontany.tid
@@ -7,6 +7,6 @@ Extend tiddlywiki to parse complex ("nested") json data tiddlers.
Json Mangler introduces a new path syntax for indexes of json data tiddlers , and includes many supporting tools, filters, widgets, etc.
-Example Wiki: https://joshuafontany.github.io/TW5-JsonManglerPlugin/
+Example Wiki: https://joshuafontany.github.io/TW5-JsonMangler/
-Source: https://github.com/joshuafontany/TW5-JsonManglerPlugin
\ No newline at end of file
+Source: https://github.com/joshuafontany/TW5-JsonMangler
diff --git a/editions/tw5.com/tiddlers/definitions/TiddlyFox.tid b/editions/tw5.com/tiddlers/definitions/TiddlyFox.tid
index e96057783..83fa3c444 100644
--- a/editions/tw5.com/tiddlers/definitions/TiddlyFox.tid
+++ b/editions/tw5.com/tiddlers/definitions/TiddlyFox.tid
@@ -1,12 +1,12 @@
created: 20130825161100000
-modified: 20171110094548887
+modified: 20200104111952539
tags: Definitions
title: TiddlyFox
type: text/vnd.tiddlywiki
TiddlyFox is an extension for older versions of Firefox that allows standalone TiddlyWiki files to save their changes directly to the file system. TiddlyFox works on both desktop and smartphone versions of [[Firefox]]. See [[Saving with TiddlyFox]] or [[Saving with TiddlyFox on Android]] for detailed instructions.
-TiddlyFox is now obsolete due to its incompatibility with the latest versions of Firefox - see [[Firefox Apocalypse]]. There are many alternatives to TiddlyFox, but none that work in precisely the same way -- see GettingStarted for details.
+TiddlyFox is now obsolete due to its incompatibility with the latest versions of Firefox - see [[TiddlyFox Apocalypse]]. There are many alternatives to TiddlyFox, but none that work in precisely the same way -- see GettingStarted for details.
TiddlyFox can be downloaded from the Mozilla Addons site:
diff --git a/editions/tw5.com/tiddlers/features/Importing Tiddlers.tid b/editions/tw5.com/tiddlers/features/Importing Tiddlers.tid
index 2e03b4cd1..33662ff4a 100644
--- a/editions/tw5.com/tiddlers/features/Importing Tiddlers.tid
+++ b/editions/tw5.com/tiddlers/features/Importing Tiddlers.tid
@@ -8,10 +8,10 @@ You can import tiddlers into a ~TiddlyWiki from external files or directly from
!! Importing content from external files
-There are several ways to import content from external files:
+There are several ways to import content (including text, images, pdf documents, etc.) from external files:
* Use the <<.icon $:/core/images/import-button>> ''import'' button (under the ''Tools'' tab in the sidebar) to select a local file
-* Drag and drop files from Windows Explorer or OS X Finder etc. into the TiddlyWiki browser window
+* Drag and drop files from Windows Explorer or OS X Finder etc. into the ~TiddlyWiki browser window
* Paste content directly from the clipboard using the menu or keyboard shortcut (ctrl-V or cmd-V)
** Currently supported in Chrome, Firefox and Edge (but not Internet Explorer)
diff --git a/editions/tw5.com/tiddlers/features/Performance Instrumentation.tid b/editions/tw5.com/tiddlers/features/Performance Instrumentation.tid
index 702782883..65296c033 100644
--- a/editions/tw5.com/tiddlers/features/Performance Instrumentation.tid
+++ b/editions/tw5.com/tiddlers/features/Performance Instrumentation.tid
@@ -22,7 +22,7 @@ The information above should be interpreted as follows:
As an example, try switching between the sidebar tabs to compare how long they take to render.
-More detailed information on filter execution timings is also available. With performance instrumentation enabled, ype the following JavaScript command in the browser developer console:
+More detailed information on filter execution timings is also available. With performance instrumentation enabled, type the following JavaScript command in the browser developer console:
```
$tw.perf.log()
diff --git a/editions/tw5.com/tiddlers/features/SafeMode.tid b/editions/tw5.com/tiddlers/features/SafeMode.tid
index 66f55da11..0d316dbac 100644
--- a/editions/tw5.com/tiddlers/features/SafeMode.tid
+++ b/editions/tw5.com/tiddlers/features/SafeMode.tid
@@ -1,5 +1,5 @@
created: 20140419082845576
-modified: 20160610082458079
+modified: 20190912093109517
tags: Features
title: SafeMode
type: text/vnd.tiddlywiki
@@ -8,6 +8,8 @@ type: text/vnd.tiddlywiki
Safe mode provides a way to disabling most customisations in TiddlyWiki. This is useful because if TiddlyWiki is customised incorrectly it can be rendered inoperable. A particular issue is that some customisations break when upgrading to a newer core version of TiddlyWiki (especially during the beta).
+<<.warning "Safe mode should only be used with the single file configuration of TiddlyWiki, and then only with savers that do not autosave. Using safe mode in the client server configuration can lead to data loss.">>
+
! Enabling Safe Mode
Safe mode is enabled in the browser by starting TiddlyWiki with the URL hash set to the string `#:safe`. For example:
diff --git a/editions/tw5.com/tiddlers/filters/each.tid b/editions/tw5.com/tiddlers/filters/each.tid
index 0216b065d..c6140b791 100644
--- a/editions/tw5.com/tiddlers/filters/each.tid
+++ b/editions/tw5.com/tiddlers/filters/each.tid
@@ -1,5 +1,5 @@
created: 20140410103123179
-modified: 20170103175939836
+modified: 20191209085901849
tags: [[Filter Operators]] [[Group Operators]]
title: each Operator
type: text/vnd.tiddlywiki
@@ -20,6 +20,6 @@ Each input title is processed in turn. The value of field <<.place F>> in the co
;each:value
:As long as the title is unique it is appended to the output whether or not the corresponding tiddler exists.
-If a tiddler does not contain field <<.place F>>, it is treated as if the value of the field were empty.
+Note that if a tiddler does not contain field <<.place F>>, it is treated as if the value of the field were empty. Thus, a filter expression such as `[each[motovun]]` will return one tiddler that doesn't have a `motovun` field, as well as one tiddler with each distinct value of that field, if any. To obtain just the tiddlers that have a non-blank value for the `motovun` field one can use `[each[motovun]has[motovun]]`.
<<.operator-examples "each">>
diff --git a/editions/tw5.com/tiddlers/filters/examples/allbefore.tid b/editions/tw5.com/tiddlers/filters/examples/allbefore.tid
index 01313dbec..92fc9f914 100644
--- a/editions/tw5.com/tiddlers/filters/examples/allbefore.tid
+++ b/editions/tw5.com/tiddlers/filters/examples/allbefore.tid
@@ -8,3 +8,4 @@ type: text/vnd.tiddlywiki
<<.operator-example 1 "[list[Days of the Week]allbefore[Wednesday]]">>
<<.operator-example 2 "[list[Days of the Week]allbefore:include[Wednesday]]">>
+<<.operator-example 3 "A B C D E +[allbefore:include[C]count[]]">>
diff --git a/editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid b/editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid
index 9031b158f..d9fd288b7 100644
--- a/editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid
+++ b/editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid
@@ -15,10 +15,12 @@ The following substitutions are made:
|!Character |!Replacement |
|`\` |`\\` |
-|`"` |`\\` |
-|`'` |`\\` |
+|`"` |`\\"` |
|`\r` (carriage return) |`\\r` |
|`\n` (line feed) |`\\n` |
+|`\x08` (backpsace) |`\\b` |
+|`\x0c` (formfield) |`\\f` |
+|`\t` (tab) |`\\t` |
|Characters from 0x00 to 0x1f |`\\x##` where ## is two hex digits |
|Characters from 0x80 to 0xffff |`\\u####` where #### is four hex digits |
diff --git a/editions/tw5.com/tiddlers/filters/length Operator.tid b/editions/tw5.com/tiddlers/filters/length Operator.tid
index d9cd66b85..c5c034e90 100644
--- a/editions/tw5.com/tiddlers/filters/length Operator.tid
+++ b/editions/tw5.com/tiddlers/filters/length Operator.tid
@@ -3,7 +3,7 @@ created: 20190613153225735
modified: 20190613153321546
op-input: a [[selection of titles|Title Selection]]
op-output: replaces each input title with its length as an integer
-op-purpose: returns the lengths of each item in the list
+op-purpose: returns the number of characters of each item in the list
tags: [[Filter Operators]]
title: length Operator
type: text/vnd.tiddlywiki
diff --git a/editions/tw5.com/tiddlers/filters/sign Operator.tid b/editions/tw5.com/tiddlers/filters/sign Operator.tid
index e25783f92..f44a21b59 100644
--- a/editions/tw5.com/tiddlers/filters/sign Operator.tid
+++ b/editions/tw5.com/tiddlers/filters/sign Operator.tid
@@ -2,8 +2,8 @@ caption: sign
created: 20190613084919354
modified: 20190613085044655
op-input: a [[selection of titles|Title Selection]]
-op-output: replaces each input number with -1, 0 or +1 according to whether the number is negative, zero, or positive
-op-purpose: return -1, 0 or +1 for a list of numbers according to whether each number is negative, zero, or positive
+op-output: replaces each input number with -1, 0 or 1 according to whether the number is negative, zero, or positive
+op-purpose: return -1, 0 or 1 for a list of numbers according to whether each number is negative, zero, or positive
tags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]
title: sign Operator
type: text/vnd.tiddlywiki
diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-all-tiddlers.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-all-tiddlers.tid
index bb2d4a576..d29183a0a 100644
--- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-all-tiddlers.tid
+++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-all-tiddlers.tid
@@ -1,6 +1,6 @@
caption: tm-fold-all-tiddlers
created: 20160424230908388
-modified: 20190205154007291
+modified: 20191028113838596
tags: Messages
title: WidgetMessage: tm-fold-all-tiddlers
type: text/vnd.tiddlywiki
diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-other-tiddlers.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-other-tiddlers.tid
index 09fd8a751..af5a3b4eb 100644
--- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-other-tiddlers.tid
+++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-other-tiddlers.tid
@@ -1,6 +1,6 @@
caption: tm-fold-other-tiddlers
created: 20160424232355215
-modified: 20160424233338710
+modified: 20191028113932268
tags: Messages
title: WidgetMessage: tm-fold-other-tiddlers
type: text/vnd.tiddlywiki
@@ -11,8 +11,8 @@ The `tm-fold-other-tiddlers` message folds all tiddlers in the current story lis
|param|Title of the tiddler that should be ignored by the fold operation. |
|foldedStatePrefix |Prefix for the state tiddler in which the fold state is stored. |
-<<.tip "The core uses a foldStatePrefix of '$:/state/folded/' to store the fold states for the default story view.">>
-<<.warning "The state tiddlers title is computed as 'foldStatePrefix + TiddlerTitle'. If the foldStatePrefix is not set, it will overwrite the text of the tiddler(s) itself, resulting in data loss. ">>
+<<.tip "The core uses a foldStatePrefix of `$:/state/folded/` to store the fold states for the default story view.">>
+<<.warning "The state tiddlers title is computed as `foldStatePrefix + TiddlerTitle`. If the foldStatePrefix is not set, it will overwrite the text of the tiddler(s) itself, resulting in data loss. ">>
The `tm-fold-other-tiddlers` message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.
diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-tiddler.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-tiddler.tid
index 872272128..6d6eee517 100644
--- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-tiddler.tid
+++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-tiddler.tid
@@ -1,16 +1,24 @@
caption: tm-fold-tiddler
created: 20160424232749223
-modified: 20160424233102003
+modified: 20191028113537119
tags: Messages
title: WidgetMessage: tm-fold-tiddler
type: text/vnd.tiddlywiki
-The `tm-fold-tiddler` message folds the tiddler specified in the `param` parameter. It does so by setting the text of a state tiddler to either "<<.value "show">>" or "<<.value "hide">>", according to the fold state.
+The `tm-fold-tiddler` message toggles the value of a state tiddler. It does so by setting the text of a state tiddler to either "<<.value "show">>" or "<<.value "hide">>", according to the fold state.
|!Name |!Description |
-|param|Title of the tiddler that should be folded. If the tiddler is already folded, it will be unfolded instead. |
-|foldedStatePrefix |Prefix for the state tiddler in which the fold state is stored. If no state prefix is provided, `tm-fold-tiddler` will do nothing. |
+|param |ignored ... foldedState must be used |
+|foldedState |State tiddler in which the fold state is stored |
-<<.tip "The core uses a foldStatePrefix of '$:/state/folded/' to store the fold states for the default story view.">>
+<<.tip "The core uses a foldState prefix of `$:/state/folded/` + `tiddler title` to store the fold states for the default story view.">>
The `tm-fold-tiddler` message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.
+
+The core $:/core/ui/ViewTemplate defines a global variable `folded-state`, that is used with every tiddler. It's created like this:
+
+```
+\define folded-state()
+$:/state/folded/$(currentTiddler)$
+\end
+```
diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unfold-all-tiddlers.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unfold-all-tiddlers.tid
index 906d8fabe..db324699e 100644
--- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unfold-all-tiddlers.tid
+++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unfold-all-tiddlers.tid
@@ -1,16 +1,16 @@
caption: tm-unfold-all-tiddlers
created: 20160424233133261
-modified: 20160424233427308
+modified: 20191028113810219
tags: Messages
title: WidgetMessage: tm-unfold-all-tiddlers
type: text/vnd.tiddlywiki
-The `tm-unfold-all-tiddlers` message unfolds all tiddlers in the current story list. It does so by setting the text of a state tiddler to either "<<.value "show">>" or "<<.value "hide">>", according to the fold state.
+The `tm-unfold-all-tiddlers` message unfolds all tiddlers in the current story list. It does so by setting the text of all state tiddlers to: "<<.value "show">>".
|!Name |!Description |
|foldedStatePrefix |Prefix for the state tiddler in which the fold state is stored. |
-<<.tip "The core uses a foldStatePrefix of '$:/state/folded/' to store the fold states for the default story view.">>
-<<.warning "The state tiddlers title is computed as 'foldStatePrefix + TiddlerTitle'. If the foldStatePrefix is not set, it will overwrite the text of the tiddler(s) itself, resulting in data loss. ">>
+<<.tip "The core uses a foldStatePrefix of `$:/state/folded/` to store the fold states for the default story view.">>
+<<.warning "The state tiddlers title is computed as `foldStatePrefix + TiddlerTitle`. If the foldStatePrefix is not set, it will overwrite the text of the tiddler(s) itself, resulting in data loss. ">>
The `tm-unfold-all-tiddlers` message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.
diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unload-plugin-library.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unload-plugin-library.tid
new file mode 100644
index 000000000..f5b9e6ae9
--- /dev/null
+++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unload-plugin-library.tid
@@ -0,0 +1,18 @@
+caption: tm-unload-plugin-library
+created: 20191004112527669
+modified: 20191004113621714
+tags: Messages
+title: WidgetMessage: tm-unload-plugin-library
+type: text/vnd.tiddlywiki
+
+The `tm-unload-plugin-library` message unloads the specified plugin library and deletes associated temporary tiddlers.
+
+|!Name |!Description |
+|url |Url specifying the plugin library to be unloaded |
+
+Unloading a plugin library deletes the following tiddlers:
+
+* The tiddler titled `$:/temp/ServerConnection/` + ``
+* All tiddlers with the prefix `$:/temp/RemoteAssetInfo/` + `` + `/`
+
+The `tm-unload-plugin-library` message is usually generated with the ButtonWidget and is handled by the core itself.
diff --git a/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki Prerelease on Node.js.tid b/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki Prerelease on Node.js.tid
index 827681e21..2b77569b6 100644
--- a/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki Prerelease on Node.js.tid
+++ b/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki Prerelease on Node.js.tid
@@ -1,6 +1,6 @@
created: 20150926162849519
-modified: 20180701185329863
-tags: [[Installing TiddlyWiki on Node.js]]
+modified: 20191022095509822
+tags: [[TiddlyWiki on Node.js]]
title: Installing TiddlyWiki Prerelease on Node.js
type: text/vnd.tiddlywiki
diff --git a/editions/tw5.com/tiddlers/nodejs/Installing custom plugins on Node.js.tid b/editions/tw5.com/tiddlers/nodejs/Installing custom plugins on Node.js.tid
new file mode 100644
index 000000000..44e49d772
--- /dev/null
+++ b/editions/tw5.com/tiddlers/nodejs/Installing custom plugins on Node.js.tid
@@ -0,0 +1,15 @@
+created: 20191022095653896
+modified: 20191102131824766
+tags: [[TiddlyWiki on Node.js]]
+title: Installing custom plugins on Node.js
+type: text/vnd.tiddlywiki
+
+There are several ways in which custom plugins that are not part of TiddlyWiki's plugin library can be installed when using TiddlyWiki under Node.js. (See [[Installing a plugin from the plugin library]] for instructions on installing plugins from the library).
+
+* Arrange the PluginFolders containing the plugins in a convenient shared location and then use [[environment variables|Environment Variables on Node.js]] to tell TiddlyWiki to search those folders. The plugins can be referenced in `tiddlywiki.info` by their name (e.g. `tiddlytools/magic`)
+* Place the PluginFolders containing the plugins in a `plugins` folder within the [[wiki folder|TiddlyWikiFolders]]
+* Depending on how TiddlyWiki itself has been installed, plugins can also be installed by copying the plugin folders into the `plugins` folder of the repository. This is only recommended if working with a forked copy of the repo. It is not recommended if TiddlyWiki has been installed with npm because npm is liable to overwrite the installation when performing an update
+
+Note that including a plugin as an ordinary tiddler (e.g. by dragging and dropping a plugin into the browser) will result in the plugin only being active in the browser, and not available under Node.js.
+
+
diff --git a/editions/tw5.com/tiddlers/nodejs/TiddlyWiki on Node.js.tid b/editions/tw5.com/tiddlers/nodejs/TiddlyWiki on Node.js.tid
index fe4615a3a..3175791e9 100644
--- a/editions/tw5.com/tiddlers/nodejs/TiddlyWiki on Node.js.tid
+++ b/editions/tw5.com/tiddlers/nodejs/TiddlyWiki on Node.js.tid
@@ -1,5 +1,5 @@
created: 20131129094353704
-modified: 20150412185457193
+modified: 20200318115527226
tags: Platforms
title: TiddlyWiki on Node.js
type: text/vnd.tiddlywiki
@@ -10,14 +10,8 @@ Running TiddlyWiki on [[Node.js]] brings several important benefits over and abo
* Individual tiddlers are stored in separate files, which you can organise as you wish
* The ability to build multiple wikis that blend different combinations of shared and unique content
-There are a few file system limitations you should be aware of that are related to how TiddlyWiki was designed:
-
-* The best, most general way to interact with a running wiki is via the HTTP or JavaScript API, rather than manipulating the file store directly
-* Any modification to the contents of the wiki folder (e.g. images) might thus sometimes require that your restart the node.js server
-* TiddlyWiki might support manipulating the file store directly in the future
+<<.warning """Note that TiddlyWiki on Node.js doesn't currently support directly modifying the tiddler files via the file system while it is running. The server must be restarted in order to for changes to take effect. The recommended way to interact with a running wiki is via the HTTP or JavaScript APIs.""">>
For more information see:
-* [[Installing TiddlyWiki on Node.js]]
-* [[Using TiddlyWiki on Node.js]]
-* [[Upgrading TiddlyWiki on Node.js]]
+<>
diff --git a/editions/tw5.com/tiddlers/plugins/Installing a plugin from the plugin library.tid b/editions/tw5.com/tiddlers/plugins/Installing a plugin from the plugin library.tid
index 18fe09d76..de4e89598 100644
--- a/editions/tw5.com/tiddlers/plugins/Installing a plugin from the plugin library.tid
+++ b/editions/tw5.com/tiddlers/plugins/Installing a plugin from the plugin library.tid
@@ -1,6 +1,6 @@
created: 20160107222352710
-modified: 20190927205622498
-tags: Plugins
+modified: 20191022095637710
+tags: [[TiddlyWiki on Node.js]] Plugins
title: Installing a plugin from the plugin library
type: text/vnd.tiddlywiki
@@ -47,3 +47,5 @@ Follow these instructions when using TiddlyWiki under Node.js:
]
}
```
+
+See also [[Installing custom plugins on Node.js]].
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/saving/Saving on Android.tid b/editions/tw5.com/tiddlers/saving/Saving on Android.tid
index 8c6be8ba4..903563b24 100644
--- a/editions/tw5.com/tiddlers/saving/Saving on Android.tid
+++ b/editions/tw5.com/tiddlers/saving/Saving on Android.tid
@@ -1,16 +1,16 @@
-caption: ~AndTidWiki
+caption: Tiddloid and Tiddloid Lite
created: 20130825161400000
delivery: App
description: Android app for saving changes locally to device storage
method: save
-modified: 20171113105950965
+modified: 20191013145728306
tags: Saving Android
title: Saving on Android
type: text/vnd.tiddlywiki
-The AndTidWiki app for Android devices makes it possible to edit and save changes to TiddlyWiki5, including working offline without a network connection. [[Download it here|https://play.google.com/store/apps/details?id=de.mgsimon.android.andtidwiki&hl=en]].
+The Tiddloid or Tiddloid Lite app for Android devices makes it possible to edit and save changes to TiddlyWiki. Get it from GitHub: [[Tiddloid|https://github.com/donmor/Tiddloid]] [[Tiddloid Lite|https://github.com/donmor/TiddloidLite]].
-Instructions for use:
+''Instructions for use:''
# [[Download]] an empty TiddlyWiki on another web browser
# Move the file you just downloaded to the directory `/sdcard/andtidwiki`
@@ -23,4 +23,5 @@ Instructions for use:
''Note:'' You can save your changes by clicking the <<.icon $:/core/images/save-button>> ''save changes'' button in the sidebar even if you have not clicked the <<.icon $:/core/images/done-button>> ''ok'' button to complete editing a tiddler
-//Note that AndTidWiki is published independently of TiddlyWiki//
\ No newline at end of file
+* Tiddloid Lite supports new devices better. It also supports files on clouds like GDrive and ~OneDrive, while Tiddloid keeps the compatibility to TiddlyWikiClassic. For more difference between Tiddloid and Tiddloid Lite, please visit [[Tiddloid's homepage|https://github.com/donmor/Tiddloid]].
+* You should keep the `.html` or `.htm` extension of the files to be imported.
diff --git a/editions/tw5.com/tiddlers/webserver/WebServer Parameter_ path-prefix.tid b/editions/tw5.com/tiddlers/webserver/WebServer Parameter_ path-prefix.tid
index ed929c406..9cd2483e7 100644
--- a/editions/tw5.com/tiddlers/webserver/WebServer Parameter_ path-prefix.tid
+++ b/editions/tw5.com/tiddlers/webserver/WebServer Parameter_ path-prefix.tid
@@ -1,6 +1,6 @@
caption: path-prefix
created: 20180630180514893
-modified: 20180702154716090
+modified: 20200311171847360
tags: [[WebServer Parameters]]
title: WebServer Parameter: path-prefix
type: text/vnd.tiddlywiki
@@ -12,3 +12,5 @@ This example causes the server to serve from http://127.0.0.1/MyApp instead of t
```
tiddlywiki mywikifolder --listen "path-prefix=/MyApp"
```
+
+Note that further steps are required to configure the client-side components to use the prefix. See [[Using a custom path prefix with the client-server edition]].
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/widgets/ButtonWidget.tid b/editions/tw5.com/tiddlers/widgets/ButtonWidget.tid
index 7bdc4a7ca..21a0a48a1 100644
--- a/editions/tw5.com/tiddlers/widgets/ButtonWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/ButtonWidget.tid
@@ -1,6 +1,6 @@
caption: button
created: 20131024141900000
-modified: 20170406085706139
+modified: 20200131171028279
tags: Widgets
title: ButtonWidget
type: text/vnd.tiddlywiki
@@ -30,11 +30,11 @@ The content of the `<$button>` widget is displayed within the button.
|param |The optional parameter to the message |
|set |A TextReference to which a new value will be assigned |
|setTitle |A title to which a new value will be assigned, ''without'' TextReference. Gets preferred over <<.attr state>> |
-|setField |A ''field name'' to which the new value will be assigned, if the attribute <<.attr stateTitle>> is present. Defaults to the ''text'' field |
-|setIndex |An ''index'' to which the new value will be assigned, if the attribute <<.attr stateTitle>> is present |
-|setTo |The new value to assign to the TextReference identified in the `set` attribute or the text field / the field specified through `setField` / the index specified through `setIndex` of the title given through `setTitle` |
-|selectedClass |An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in `set` already has the value specified in `setTo` |
-|default |Default value if `set` tiddler is missing for testing against `setTo` to determine `selectedClass` |
+|setField |A ''field name'' to which the new value will be assigned, if the attribute <<.attr setTitle>> is present. Defaults to the ''text'' field |
+|setIndex |An ''index'' to which the new value will be assigned, if the attribute <<.attr setTitle>> is present |
+|setTo |The new value to assign to the TextReference identified in the `set` attribute or the text field / the field specified through <<.attr setField>> / the index specified through <<.attr setIndex>> of the title given through <<.attr setTitle>> |
+|selectedClass |An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in <<.attr set>> already has the value specified in <<.attr setTo>> |
+|default |Default value if <<.attr set>> tiddler is missing for testing against <<.attr setTo>> to determine <<.attr selectedClass>> |
|popup |Title of a state tiddler for a popup that is toggled when the button is clicked. See PopupMechanism for details |
|popupTitle |Title of a state tiddler for a popup that is toggled when the button is clicked. In difference to the <<.attr popup>> attribute, ''no'' TextReference is used. See PopupMechanism for details |
|aria-label |Optional [[Accessibility]] label |
@@ -46,9 +46,9 @@ The content of the `<$button>` widget is displayed within the button.
|dragFilter |An optional filter making the button draggable and identifying the list of payload tiddlers. See DraggableWidget for details |
|tabindex |Sets the `tabindex` attribute of the button to the given value |
-''Note:'' In almost all other cases where a TextReference is used as a widget attribute, it will be placed between curly brackets, to [[transclude|Transclusion in WikiText]] the value currently stored there. However, when we use a TextReference as the value of a button widget's `set` attribute, we are referencing //the storage location itself//, rather than the value stored there, so we do ''not'' use curly brackets there. //Example:// we could code a button widget that sets the `caption` field of TiddlerA to be the same as that of TiddlerB as:
+''Note:'' In almost all other cases where a TextReference is used as a widget attribute, it will be placed between curly brackets, to [[transclude|Transclusion in WikiText]] the value currently stored there. However, when we use a TextReference as the value of a button widget's <<.attr set>> attribute, we are referencing //the storage location itself//, rather than the value stored there, so we do ''not'' use curly brackets there. //Example:// we could code a button widget that sets the `caption` field of TiddlerA to be the same as that of TiddlerB as:
-<<.tip """<$macrocall $name=".from-version" version="5.1.18"/> <$macrocall $name=".attr" _="stateTitle"/>, <$macrocall $name=".attr" _="stateField"/> and <$macrocall $name=".attr" _="stateIndex"/> attributes allow specifying Tiddler states ''directly'', without interpreting them as [[TextReferences|TextReference]].
+<<.tip """<$macrocall $name=".from-version" version="5.1.18"/> <$macrocall $name=".attr" _="setTitle"/>, <$macrocall $name=".attr" _="setField"/> and <$macrocall $name=".attr" _="setIndex"/> attributes allow specifying Tiddler states ''directly'', without interpreting them as [[TextReferences|TextReference]].
This is useful for edge-cases where titles may contain characters that are used to denote Tiddler fields or indices (`!!`, `##`)""">>
```
diff --git a/editions/tw5.com/tiddlers/widgets/FieldMangler Widget (Examples).tid b/editions/tw5.com/tiddlers/widgets/FieldMangler Widget (Examples).tid
index 54c4fb621..9fffb64db 100644
--- a/editions/tw5.com/tiddlers/widgets/FieldMangler Widget (Examples).tid
+++ b/editions/tw5.com/tiddlers/widgets/FieldMangler Widget (Examples).tid
@@ -12,3 +12,13 @@ Add tag ''example'' to this tiddler (current)<$button message="tm-add-tag" param
Remove tag ''example'' to this tiddler (current)<$button message="tm-remove-tag" param="example">{{$:/core/images/delete-button}}$button>
$fieldmangler>
"""/>
+
+
+<$macrocall $name=".example" n="2"
+eg="""
+<$fieldmangler tiddler="Hello World">
+Add tag ''example'' to the Hello World tiddler<$button message="tm-add-tag" param="example">{{$:/core/images/new-button}}$button>
+
+Remove tag ''example'' to the Hello World tiddler<$button message="tm-remove-tag" param="example">{{$:/core/images/delete-button}}$button>
+$fieldmangler>
+"""/>
diff --git a/editions/tw5.com/tiddlers/widgets/LinkWidget.tid b/editions/tw5.com/tiddlers/widgets/LinkWidget.tid
index bebebef6a..e7dfef3de 100644
--- a/editions/tw5.com/tiddlers/widgets/LinkWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/LinkWidget.tid
@@ -9,9 +9,10 @@ The `link` widget generates links to tiddlers. (Use the HTML `` element to ge
! Content and Attributes
-The content of the link widget is rendered within the `` tag representing the link. If the content is empty then the title of the target tiddler is rendered as the default.
+The content of the link widget is rendered within the `` tag representing the link. If the content is empty then the title of the target tiddler is rendered as the default, for example:
-For example, `<$link to="HelloThere"/>` is equivalent to `<$link to="HelloThere">HelloThere$link>` and `<$link/>` is equivalent to `<$link to=<>><$view field="title"/>$link>`.
+* `<$link/>` is equivalent to `<$link to=<>><$view field="title"/>$link>`
+* `<$link to="HelloThere"/>` is equivalent to `<$link to="HelloThere">HelloThere$link>`
|!Attribute |!Description |
|to |The title of the target tiddler for the link (defaults to the [[current tiddler|Current Tiddler]]) |
diff --git a/editions/tw5.com/tiddlers/widgets/RangeWidget.tid b/editions/tw5.com/tiddlers/widgets/RangeWidget.tid
index 8449449e5..acfc41f97 100644
--- a/editions/tw5.com/tiddlers/widgets/RangeWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/RangeWidget.tid
@@ -7,7 +7,7 @@ type: text/vnd.tiddlywiki
! Introduction
-The range widget displays an HTML `` that reflects a given tiddler field numeric value. Adjusting the radio button sets the tiddler field to the value.
+The range widget displays an HTML `` that reflects a given tiddler field numeric value. Adjusting the range slider sets the tiddler field to the value.
! Content and Attributes
diff --git a/editions/tw5.com/tiddlers/widgets/ViewWidget.tid b/editions/tw5.com/tiddlers/widgets/ViewWidget.tid
index 6702c2e15..bba220247 100644
--- a/editions/tw5.com/tiddlers/widgets/ViewWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/ViewWidget.tid
@@ -27,7 +27,7 @@ The content of the `<$view>` widget is displayed if the field or property is mis
The following formats can be specified in the `format` attribute:
|!Format |!Description |
-|''text'' |Plain text |
+|''text'' |Plain text (default) |
|''htmlencoded'' |The field is displayed with HTML encoding |
|''urlencoded'' |The field is displayed with URL encoding |
|''doubleurlencoded'' |The field is displayed with double URL encoding |
diff --git a/editions/tw5.com/tiddlers/wikitext/Images in WikiText.tid b/editions/tw5.com/tiddlers/wikitext/Images in WikiText.tid
index 3e6272d93..005e90670 100644
--- a/editions/tw5.com/tiddlers/wikitext/Images in WikiText.tid
+++ b/editions/tw5.com/tiddlers/wikitext/Images in WikiText.tid
@@ -51,3 +51,7 @@ Renders as:
{{Motovun Jack.jpg}}
+! Importing Images
+
+Use the <<.button import>> button (under the <<.sidebar-tab Tools>> tab in the sidebar), or drag and drop.
+See [[ImportingTiddlers]] for details.
diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md
index 60c397c11..2bfa76cc7 100644
--- a/licenses/cla-individual.md
+++ b/licenses/cla-individual.md
@@ -370,6 +370,22 @@ Stefan Schuster-Teupke, @StefanSTFG, 2019/08/26
Nils-Hero Lindemann, @heronils, 2019/08/26
+Marica Odagaki, @ento, 2019/08/30
+
Mark Stegeman, @markstegeman, 2019/08/31
Jan-Oliver Kaiser, @janno, 2019/09/06
+
+Xavier Maysonnave, @xmaysonnave, 2019/11/08
+
+Will Atwood Mitchell, @wam, 2019/12/11
+
+Stefan Krüger, @s-light, 2020/01/04
+
+Lee Sheng Long, @s-l-lee, 2020/01/25
+
+Scott Willeke, @activescott, 2020/02/01
+
+@lucible, 2020/02/05
+
+Matthias Bilger, @m42e, 2020/03/11