From 378b9b3627cab368ed216cf5eb856370cfb4b9b0 Mon Sep 17 00:00:00 2001
From: Leilei332
Date: Thu, 27 Feb 2025 19:00:58 +0800
Subject: [PATCH 01/21] Allow building external core version of main site
(#8953)
---
bin/build-site.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/bin/build-site.sh b/bin/build-site.sh
index f1fe649e7..066d13d1f 100755
--- a/bin/build-site.sh
+++ b/bin/build-site.sh
@@ -105,6 +105,7 @@ node $TW5_BUILD_TIDDLYWIKI \
fi
# /index.html Main site
+# /external-(version).html External core version of main site
# /favicon.ico Favicon for main site
# /static.html Static rendering of default tiddlers
# /alltiddlers.html Static rendering of all tiddlers
@@ -117,7 +118,7 @@ node $TW5_BUILD_TIDDLYWIKI \
--version \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --build favicon static index \
+ --build favicon static index external-js \
|| exit 1
# /empty.html Empty
From 81d8d678002c37f4ed3aa97948f21d2fcfa45e7d Mon Sep 17 00:00:00 2001
From: Leilei332
Date: Tue, 4 Mar 2025 01:59:23 +0800
Subject: [PATCH 02/21] Update docs for plugin versions (#8968)
* Update docs for plugin versions
Update docs for share plugin.
Add docs for Tour and Geospatial plugin.
* Do not change modified field for some tiddlers
---
.../tiddlers/plugins/Dynaview Plugin.tid | 2 +-
.../tiddlers/plugins/Geospatial Plugin.tid | 17 +++++++++++++++++
.../tiddlers/plugins/Innerwiki Plugin.tid | 2 +-
.../tw5.com/tiddlers/plugins/Share Plugin.tid | 6 ++++--
.../tw5.com/tiddlers/plugins/Tour Plugin.tid | 9 +++++++++
5 files changed, 32 insertions(+), 4 deletions(-)
create mode 100644 editions/tw5.com/tiddlers/plugins/Geospatial Plugin.tid
create mode 100644 editions/tw5.com/tiddlers/plugins/Tour Plugin.tid
diff --git a/editions/tw5.com/tiddlers/plugins/Dynaview Plugin.tid b/editions/tw5.com/tiddlers/plugins/Dynaview Plugin.tid
index a37dd0d0e..0ab6bd536 100644
--- a/editions/tw5.com/tiddlers/plugins/Dynaview Plugin.tid
+++ b/editions/tw5.com/tiddlers/plugins/Dynaview Plugin.tid
@@ -1,6 +1,6 @@
created: 20180111122953142
modified: 20181113084151268
-tags: OfficialPlugins
+tags: OfficialPlugins [[Plugin Editions]]
title: Dynaview Plugin
type: text/vnd.tiddlywiki
diff --git a/editions/tw5.com/tiddlers/plugins/Geospatial Plugin.tid b/editions/tw5.com/tiddlers/plugins/Geospatial Plugin.tid
new file mode 100644
index 000000000..a9df92a7e
--- /dev/null
+++ b/editions/tw5.com/tiddlers/plugins/Geospatial Plugin.tid
@@ -0,0 +1,17 @@
+created: 20250302053159467
+modified: 20250302053316068
+tags: OfficialPlugins [[Plugin Editions]]
+title: Geospatial Plugin
+type: text/vnd.tiddlywiki
+
+The Geospatial Plugin adds new primitives to the TiddlyWiki platform to enable non-developers to build sophisticated interactive geospatial applications.
+
+It incorporates a number of third party libraries and online services:
+
+* [[Leaflet.js|https://leafletjs.com/]], an open source library to display interactive maps
+* [[Turf.js|https://turfjs.org/]], an open source library to perform geospatial calculations with [[GeoJSON|https://en.wikipedia.org/wiki/GeoJSON]] objects
+* [[TravelTime|https://traveltime.com/]], a commercial API for [[geocoding|https://traveltime.com/features/geocoding]], [[routing|https://traveltime.com/features/multi-modal-routing]] and [[isochrones|https://traveltime.com/features/isochrones]]
+* [[Flickr|https://www.flickr.com/services/api/]], a free API for retrieving geotagged photographs
+* [[OpenLocationCode|https://github.com/google/open-location-code]], Google's open source library for converting to and from Open Location Codes (also known as [[PlusCodes|https://maps.google.com/pluscodes/]])
+
+Try it out at https://tiddlywiki.com/plugins/tiddlywiki/geospatial/
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/plugins/Innerwiki Plugin.tid b/editions/tw5.com/tiddlers/plugins/Innerwiki Plugin.tid
index 11779f535..39ce68c25 100644
--- a/editions/tw5.com/tiddlers/plugins/Innerwiki Plugin.tid
+++ b/editions/tw5.com/tiddlers/plugins/Innerwiki Plugin.tid
@@ -1,6 +1,6 @@
created: 20190127104143725
modified: 20190127104143725
-tags: OfficialPlugins
+tags: OfficialPlugins [[Plugin Editions]]
title: Innerwiki Plugin
type: text/vnd.tiddlywiki
diff --git a/editions/tw5.com/tiddlers/plugins/Share Plugin.tid b/editions/tw5.com/tiddlers/plugins/Share Plugin.tid
index f90506548..0bf35b8f3 100644
--- a/editions/tw5.com/tiddlers/plugins/Share Plugin.tid
+++ b/editions/tw5.com/tiddlers/plugins/Share Plugin.tid
@@ -1,6 +1,6 @@
created: 20201228143125000
-modified: 20201228143125000
-tags: OfficialPlugins
+modified: 20250302051857380
+tags: OfficialPlugins [[Plugin Editions]]
title: Share Plugin
type: text/vnd.tiddlywiki
@@ -10,3 +10,5 @@ This experimental plugin provides tools to share tiddlers via URLs, comprising:
* The ability to load a group of tiddlers from the browser location hash at startup
* Wizard and templates to create URLs from group of tiddlers
+
+See the demo at [ext[https://tiddlywiki.com/share|share]]
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/plugins/Tour Plugin.tid b/editions/tw5.com/tiddlers/plugins/Tour Plugin.tid
new file mode 100644
index 000000000..84f8fa9bd
--- /dev/null
+++ b/editions/tw5.com/tiddlers/plugins/Tour Plugin.tid
@@ -0,0 +1,9 @@
+created: 20250302052635425
+modified: 20250302052905312
+tags: OfficialPlugins [[Plugin Editions]]
+title: Tour Plugin
+type: text/vnd.tiddlywiki
+
+The tour plugin allows interactive learning tours to be created and presented in TiddlyWiki.
+
+The demo TiddlyWiki interactive tour can be seen at https://tiddlywiki.com/tour
\ No newline at end of file
From 9c0fff268c059112d1bafbaacd94aeb8feda45d0 Mon Sep 17 00:00:00 2001
From: Mario Pietsch
Date: Mon, 3 Mar 2025 19:00:39 +0100
Subject: [PATCH 03/21] [DOCS] make Filter Operators initial filter run
assumption more visible (#8969)
---
editions/tw5.com/tiddlers/filters/Filter Operators.tid | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/editions/tw5.com/tiddlers/filters/Filter Operators.tid b/editions/tw5.com/tiddlers/filters/Filter Operators.tid
index 35d80607f..63d0e318b 100644
--- a/editions/tw5.com/tiddlers/filters/Filter Operators.tid
+++ b/editions/tw5.com/tiddlers/filters/Filter Operators.tid
@@ -1,6 +1,6 @@
breadcrumbs: [[Filter Step]]
created: 20140410103123179
-modified: 20230410114132501
+modified: 20250302200615061
tags: Filters
title: Filter Operators
type: text/vnd.tiddlywiki
@@ -21,7 +21,7 @@ type: text/vnd.tiddlywiki
A <<.def "filter operator">> is a predefined keyword attached to an individual step of a [[filter|Filters]]. It defines the particular action of that step.
-''Important:'' In general, each first [[filter step|Filter Step]] of a [[filter run|Filter Run]] not given any input titles receives the output of <$link to="all Operator">[all[tiddlers]]$link> as its input.
+<<.tip """In general, each first [[filter step|Filter Step]] of a [[filter run|Filter Run]] not given any input titles receives the output of <$link to="all Operator">''[all[tiddlers]]''$link> as its input.""" title:"Important">>
''Table legend:''
From c5b465ec99dc24d67d73f9e9a0802976b7521e25 Mon Sep 17 00:00:00 2001
From: Leilei332
Date: Tue, 11 Mar 2025 01:28:55 +0800
Subject: [PATCH 04/21] Make plugin editions use external core (#8952)
* Make some editions use external core
* Revert tw5.com-docs use external js
* Revert "Revert tw5.com-docs use external js"
This reverts commit 93f36cb0af735b2d0c906c7422648beb37e2a9bf.
---
bin/build-site.sh | 24 +++++++++----------
.../classicparserdemo/tiddlers/$__coreURL.tid | 4 ++++
editions/classicparserdemo/tiddlywiki.info | 5 +++-
.../codemirrordemo/tiddlers/$__coreURL.tid | 4 ++++
editions/codemirrordemo/tiddlywiki.info | 5 +++-
editions/dynaviewdemo/tiddlers/$__coreURL.tid | 4 ++++
editions/dynaviewdemo/tiddlywiki.info | 5 +++-
.../geospatialdemo/tiddlers/$__coreURL.tid | 4 ++++
editions/geospatialdemo/tiddlywiki.info | 5 +++-
.../highlightdemo/tiddlers/$__coreURL.tid | 4 ++++
editions/highlightdemo/tiddlywiki.info | 5 +++-
.../tiddlers/system/$__coreURL.tid | 4 ++++
editions/innerwikidemo/tiddlywiki.info | 3 +++
editions/katexdemo/tiddlers/$__coreURL.tid | 4 ++++
editions/katexdemo/tiddlywiki.info | 5 +++-
editions/markdowndemo/tiddlers/$__coreURL.tid | 4 ++++
editions/markdowndemo/tiddlywiki.info | 5 +++-
.../tiddlers/system/$__coreURL.tid | 4 ++++
editions/text-slicer/tiddlywiki.info | 3 +++
editions/tour/tiddlers/System/$__coreURL.tid | 4 ++++
editions/tw5.com-docs/tiddlers/$__coreURL.tid | 4 ++++
editions/tw5.com-docs/tiddlywiki.info | 5 +++-
editions/xlsx-utils/tiddlers/$__coreURL.tid | 4 ++++
editions/xlsx-utils/tiddlywiki.info | 5 +++-
24 files changed, 102 insertions(+), 21 deletions(-)
create mode 100644 editions/classicparserdemo/tiddlers/$__coreURL.tid
create mode 100644 editions/codemirrordemo/tiddlers/$__coreURL.tid
create mode 100644 editions/dynaviewdemo/tiddlers/$__coreURL.tid
create mode 100644 editions/geospatialdemo/tiddlers/$__coreURL.tid
create mode 100644 editions/highlightdemo/tiddlers/$__coreURL.tid
create mode 100644 editions/innerwikidemo/tiddlers/system/$__coreURL.tid
create mode 100644 editions/katexdemo/tiddlers/$__coreURL.tid
create mode 100644 editions/markdowndemo/tiddlers/$__coreURL.tid
create mode 100644 editions/text-slicer/tiddlers/system/$__coreURL.tid
create mode 100644 editions/tour/tiddlers/System/$__coreURL.tid
create mode 100644 editions/tw5.com-docs/tiddlers/$__coreURL.tid
create mode 100644 editions/xlsx-utils/tiddlers/$__coreURL.tid
diff --git a/bin/build-site.sh b/bin/build-site.sh
index 066d13d1f..057f76b8d 100755
--- a/bin/build-site.sh
+++ b/bin/build-site.sh
@@ -156,7 +156,7 @@ node $TW5_BUILD_TIDDLYWIKI \
node $TW5_BUILD_TIDDLYWIKI \
./editions/tour \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all tour.html text/plain \
+ --rendertiddler $:/core/save/all-external-js tour.html text/plain \
|| exit 1
# /share.html Custom edition for sharing via the URL
@@ -195,7 +195,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/xlsx-utils \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/xlsx-utils/ \
- --build index \
+ --build external \
|| exit 1
# /editions/resumebuilder/index.html Resume builder edition
@@ -211,7 +211,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/text-slicer \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/text-slicer/ \
- --build index \
+ --build external \
|| exit 1
# /editions/translators/index.html Translators edition
@@ -243,7 +243,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/tw5.com-docs \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/tw5.com-docs/ \
- --build index \
+ --build external \
|| exit 1
# /editions/twitter-archivist/index.html Twitter Archivist edition
@@ -266,7 +266,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/innerwikidemo \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all plugins/tiddlywiki/innerwiki/index.html text/plain \
+ --rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/innerwiki/index.html text/plain \
|| exit 1
# /plugins/tiddlywiki/dynaview/index.html Demo wiki with DynaView plugin
@@ -276,7 +276,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/dynaviewdemo \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all plugins/tiddlywiki/dynaview/index.html text/plain \
+ --rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/dynaview/index.html text/plain \
--rendertiddler $:/core/save/empty plugins/tiddlywiki/dynaview/empty.html text/plain \
|| exit 1
@@ -290,7 +290,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/katexdemo \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all plugins/tiddlywiki/katex/index.html text/plain \
+ --rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/katex/index.html text/plain \
--rendertiddler $:/core/save/empty plugins/tiddlywiki/katex/empty.html text/plain \
|| exit 1
@@ -320,7 +320,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/codemirrordemo \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all plugins/tiddlywiki/codemirror/index.html text/plain \
+ --rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/codemirror/index.html text/plain \
--rendertiddler $:/core/save/empty plugins/tiddlywiki/codemirror/empty.html text/plain \
|| exit 1
@@ -330,7 +330,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/markdowndemo \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all plugins/tiddlywiki/markdown/index.html text/plain \
+ --rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/markdown/index.html text/plain \
--rendertiddler $:/core/save/empty plugins/tiddlywiki/markdown/empty.html text/plain \
|| exit 1
@@ -340,7 +340,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/classicparserdemo \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all plugins/tiddlywiki/tw2parser/index.html text/plain \
+ --rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/tw2parser/index.html text/plain \
--rendertiddler $:/core/save/empty plugins/tiddlywiki/tw2parser/empty.html text/plain \
|| exit 1
@@ -350,7 +350,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/highlightdemo \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all plugins/tiddlywiki/highlight/index.html text/plain \
+ --rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/highlight/index.html text/plain \
--rendertiddler $:/core/save/empty plugins/tiddlywiki/highlight/empty.html text/plain \
|| exit 1
@@ -360,7 +360,7 @@ node $TW5_BUILD_TIDDLYWIKI \
./editions/geospatialdemo \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
- --rendertiddler $:/core/save/all plugins/tiddlywiki/geospatial/index.html text/plain \
+ --rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/geospatial/index.html text/plain \
--rendertiddler $:/core/save/empty plugins/tiddlywiki/geospatial/empty.html text/plain \
|| exit 1
diff --git a/editions/classicparserdemo/tiddlers/$__coreURL.tid b/editions/classicparserdemo/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..99eff5356
--- /dev/null
+++ b/editions/classicparserdemo/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/classicparserdemo/tiddlywiki.info b/editions/classicparserdemo/tiddlywiki.info
index 44d5993c5..3a443c4ce 100644
--- a/editions/classicparserdemo/tiddlywiki.info
+++ b/editions/classicparserdemo/tiddlywiki.info
@@ -11,6 +11,9 @@
],
"build": {
"index": [
- "--rendertiddler","$:/core/save/all","classicparserdemo.html","text/plain"]
+ "--rendertiddler","$:/core/save/all","classicparserdemo.html","text/plain"],
+ "external": [
+ "--render","$:/core/save/all-external-js","classicparserdemo.html","text/plain"
+ ]
}
}
diff --git a/editions/codemirrordemo/tiddlers/$__coreURL.tid b/editions/codemirrordemo/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..99eff5356
--- /dev/null
+++ b/editions/codemirrordemo/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/codemirrordemo/tiddlywiki.info b/editions/codemirrordemo/tiddlywiki.info
index 7baa8f5a0..ef71f55c9 100644
--- a/editions/codemirrordemo/tiddlywiki.info
+++ b/editions/codemirrordemo/tiddlywiki.info
@@ -22,6 +22,9 @@
],
"build": {
"index": [
- "--rendertiddler","$:/core/save/all","codemirrordemo.html","text/plain"]
+ "--rendertiddler","$:/core/save/all","codemirrordemo.html","text/plain"],
+ "external": [
+ "--render","$:/core/save/all-external-js","codemirrordemo.html","text/plain"
+ ]
}
}
diff --git a/editions/dynaviewdemo/tiddlers/$__coreURL.tid b/editions/dynaviewdemo/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..99eff5356
--- /dev/null
+++ b/editions/dynaviewdemo/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/dynaviewdemo/tiddlywiki.info b/editions/dynaviewdemo/tiddlywiki.info
index 96b2ef2e5..d45ed738c 100644
--- a/editions/dynaviewdemo/tiddlywiki.info
+++ b/editions/dynaviewdemo/tiddlywiki.info
@@ -9,6 +9,9 @@
],
"build": {
"index": [
- "--rendertiddler","$:/core/save/all","index.html","text/plain"]
+ "--rendertiddler","$:/core/save/all","index.html","text/plain"],
+ "external": [
+ "--render","$:/core/save/all-external-js","index.html","text/plain"
+ ]
}
}
\ No newline at end of file
diff --git a/editions/geospatialdemo/tiddlers/$__coreURL.tid b/editions/geospatialdemo/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..99eff5356
--- /dev/null
+++ b/editions/geospatialdemo/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/geospatialdemo/tiddlywiki.info b/editions/geospatialdemo/tiddlywiki.info
index db988811d..527748f49 100644
--- a/editions/geospatialdemo/tiddlywiki.info
+++ b/editions/geospatialdemo/tiddlywiki.info
@@ -14,7 +14,10 @@
],
"build": {
"index": [
- "--render","$:/core/save/all","index.html","text/plain"],
+ "--render","$:/core/save/all","index.html","text/plain"],,
+ "external": [
+ "--render","$:/core/save/all-external-js","index.html","text/plain"
+ ],
"favicon": [],
"static": [],
"empty": [],
diff --git a/editions/highlightdemo/tiddlers/$__coreURL.tid b/editions/highlightdemo/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..99eff5356
--- /dev/null
+++ b/editions/highlightdemo/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/highlightdemo/tiddlywiki.info b/editions/highlightdemo/tiddlywiki.info
index 075859c8c..74342d35b 100644
--- a/editions/highlightdemo/tiddlywiki.info
+++ b/editions/highlightdemo/tiddlywiki.info
@@ -16,6 +16,9 @@
"--render","$:/core/templates/static.template.html","static.html","text/plain",
"--render","$:/core/templates/alltiddlers.template.html","alltiddlers.html","text/plain",
"--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"]
+ "--render","$:/core/templates/static.template.css","static/static.css","text/plain"],
+ "external": [
+ "--render","$:/core/save/all-external-js","highlightdemo.html","text/plain"
+ ]
}
}
diff --git a/editions/innerwikidemo/tiddlers/system/$__coreURL.tid b/editions/innerwikidemo/tiddlers/system/$__coreURL.tid
new file mode 100644
index 000000000..99eff5356
--- /dev/null
+++ b/editions/innerwikidemo/tiddlers/system/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/innerwikidemo/tiddlywiki.info b/editions/innerwikidemo/tiddlywiki.info
index 2a55c68d0..676734982 100644
--- a/editions/innerwikidemo/tiddlywiki.info
+++ b/editions/innerwikidemo/tiddlywiki.info
@@ -19,6 +19,9 @@
"--screenshot",
"[[$:/plugins/tiddlywiki/innerwiki/examples]]",
"4"
+ ],
+ "external": [
+ "--render","$:/core/save/all-external-js","index.html","text/plain"
]
}
}
\ No newline at end of file
diff --git a/editions/katexdemo/tiddlers/$__coreURL.tid b/editions/katexdemo/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..99eff5356
--- /dev/null
+++ b/editions/katexdemo/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/katexdemo/tiddlywiki.info b/editions/katexdemo/tiddlywiki.info
index bd07b3e28..40c84dfc6 100644
--- a/editions/katexdemo/tiddlywiki.info
+++ b/editions/katexdemo/tiddlywiki.info
@@ -16,6 +16,9 @@
"--render","$:/core/templates/static.template.html","static.html","text/plain",
"--render","$:/core/templates/alltiddlers.template.html","alltiddlers.html","text/plain",
"--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"]
+ "--render","$:/core/templates/static.template.css","static/static.css","text/plain"],
+ "external": [
+ "--render","$:/core/save/all-external-js","katexdemo.html","text/plain"
+ ]
}
}
diff --git a/editions/markdowndemo/tiddlers/$__coreURL.tid b/editions/markdowndemo/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..99eff5356
--- /dev/null
+++ b/editions/markdowndemo/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/markdowndemo/tiddlywiki.info b/editions/markdowndemo/tiddlywiki.info
index 575c1e416..bc025070d 100644
--- a/editions/markdowndemo/tiddlywiki.info
+++ b/editions/markdowndemo/tiddlywiki.info
@@ -13,6 +13,9 @@
],
"build": {
"index": [
- "--rendertiddler","$:/core/save/all","markdowndemo.html","text/plain"]
+ "--rendertiddler","$:/core/save/all","markdowndemo.html","text/plain"],
+ "external": [
+ "--render","$:/core/save/all-external-js","markdowndemo.html","text/plain"
+ ]
}
}
diff --git a/editions/text-slicer/tiddlers/system/$__coreURL.tid b/editions/text-slicer/tiddlers/system/$__coreURL.tid
new file mode 100644
index 000000000..f3ab8b9c0
--- /dev/null
+++ b/editions/text-slicer/tiddlers/system/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/text-slicer/tiddlywiki.info b/editions/text-slicer/tiddlywiki.info
index 7906ba510..f3a0df3bf 100644
--- a/editions/text-slicer/tiddlywiki.info
+++ b/editions/text-slicer/tiddlywiki.info
@@ -13,6 +13,9 @@
"build": {
"index": [
"--rendertiddler","$:/core/save/all","index.html","text/plain"
+ ],
+ "external": [
+ "--render","$:/core/save/all-external-js","index.html","text/plain"
]
}
}
\ No newline at end of file
diff --git a/editions/tour/tiddlers/System/$__coreURL.tid b/editions/tour/tiddlers/System/$__coreURL.tid
new file mode 100644
index 000000000..5876d6687
--- /dev/null
+++ b/editions/tour/tiddlers/System/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/tw5.com-docs/tiddlers/$__coreURL.tid b/editions/tw5.com-docs/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..f3ab8b9c0
--- /dev/null
+++ b/editions/tw5.com-docs/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/tw5.com-docs/tiddlywiki.info b/editions/tw5.com-docs/tiddlywiki.info
index 4d486267b..b788116eb 100644
--- a/editions/tw5.com-docs/tiddlywiki.info
+++ b/editions/tw5.com-docs/tiddlywiki.info
@@ -10,6 +10,9 @@
],
"build": {
"index": [
- "--render","$:/core/save/all","index.html","text/plain"]
+ "--render","$:/core/save/all","index.html","text/plain"],
+ "external": [
+ "--render","$:/core/save/all-external-js","index.html","text/plain"
+ ]
}
}
diff --git a/editions/xlsx-utils/tiddlers/$__coreURL.tid b/editions/xlsx-utils/tiddlers/$__coreURL.tid
new file mode 100644
index 000000000..f3ab8b9c0
--- /dev/null
+++ b/editions/xlsx-utils/tiddlers/$__coreURL.tid
@@ -0,0 +1,4 @@
+title: $:/coreURL
+tags: $:/tags/Global
+
+\function coreURL() [[../../tiddlywikicore-$(version)$.js]substitute[]]
diff --git a/editions/xlsx-utils/tiddlywiki.info b/editions/xlsx-utils/tiddlywiki.info
index 7adfc403b..5f1774f0b 100644
--- a/editions/xlsx-utils/tiddlywiki.info
+++ b/editions/xlsx-utils/tiddlywiki.info
@@ -12,6 +12,9 @@
],
"build": {
"index": [
- "--rendertiddler","$:/core/save/all","index.html","text/plain"]
+ "--rendertiddler","$:/core/save/all","index.html","text/plain"],
+ "external": [
+ "--render","$:/core/save/all-external-js","index.html","text/plain"
+ ]
}
}
From 897b14a8d612294142aee4e8e6aac401eb1ab9b4 Mon Sep 17 00:00:00 2001
From: Abdullah Ibrahim <76573989+rumman157@users.noreply.github.com>
Date: Mon, 17 Mar 2025 21:51:40 +0600
Subject: [PATCH 05/21] Signing CLA (#8983)
---
licenses/cla-individual.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md
index f827a3f2b..ee46925ff 100644
--- a/licenses/cla-individual.md
+++ b/licenses/cla-individual.md
@@ -609,3 +609,5 @@ J. Ryan Stinnett, @jryans, 2025/01/04
Galen Huntington, @galenhuntington, 2025/01/19
@Rhys-T, 2025/01/23
+
+@Rumman157, 2025/03/17
\ No newline at end of file
From f6a60f51d279d4090623d401b34a59113f07d8d2 Mon Sep 17 00:00:00 2001
From: Leilei332
Date: Tue, 18 Mar 2025 00:15:28 +0800
Subject: [PATCH 06/21] Fix error in geospatial edition tiddlywiki.info file
(#8977)
---
editions/geospatialdemo/tiddlywiki.info | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/editions/geospatialdemo/tiddlywiki.info b/editions/geospatialdemo/tiddlywiki.info
index 527748f49..ed9700583 100644
--- a/editions/geospatialdemo/tiddlywiki.info
+++ b/editions/geospatialdemo/tiddlywiki.info
@@ -14,7 +14,7 @@
],
"build": {
"index": [
- "--render","$:/core/save/all","index.html","text/plain"],,
+ "--render","$:/core/save/all","index.html","text/plain"],
"external": [
"--render","$:/core/save/all-external-js","index.html","text/plain"
],
From 4e6a2ffd60951f4c9aade44959d271c645878312 Mon Sep 17 00:00:00 2001
From: Abdullah Ibrahim <76573989+rumman157@users.noreply.github.com>
Date: Tue, 18 Mar 2025 00:27:54 +0600
Subject: [PATCH 07/21] Signing CLA (#8982)
From 961e74f73d230d0028efb586db07699120eac888 Mon Sep 17 00:00:00 2001
From: Leilei332
Date: Sat, 22 Mar 2025 19:32:00 +0800
Subject: [PATCH 08/21] Remove .eslintrc.json (#8987)
---
.eslintrc.json | 317 -------------------------------------------------
1 file changed, 317 deletions(-)
delete mode 100644 .eslintrc.json
diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index cbcea998b..000000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,317 +0,0 @@
-{
- "env": {
- "browser": true,
- "commonjs": true,
- "node": true
- },
- "extends": [
- "eslint:recommended"
- ],
- "globals": {
- "$tw": "writable"
- },
- "parserOptions": {
- "ecmaVersion": 5
- },
- "plugins": [],
- "rules": {
- "array-bracket-newline": "off",
- "array-bracket-spacing": "off",
- "array-callback-return": "off",
- "array-element-newline": "off",
- "arrow-body-style": "error",
- "arrow-parens": [
- "error",
- "as-needed"
- ],
- "arrow-spacing": [
- "error",
- {
- "after": true,
- "before": true
- }
- ],
- "block-scoped-var": "off",
- "block-spacing": "off",
- "brace-style": "off",
- "callback-return": "off",
- "camelcase": "off",
- "capitalized-comments": "off",
- "class-methods-use-this": "error",
- "comma-dangle": "off",
- "comma-spacing": "off",
- "comma-style": "off",
- "complexity": "off",
- "computed-property-spacing": "off",
- "consistent-return": "off",
- "consistent-this": "off",
- "curly": "off",
- "default-case": "off",
- "default-case-last": "error",
- "default-param-last": "error",
- "dot-location": "off",
- "dot-notation": "off",
- "eol-last": "off",
- "eqeqeq": "off",
- "func-call-spacing": "off",
- "func-name-matching": "off",
- "func-names": "off",
- "func-style": "off",
- "function-call-argument-newline": "off",
- "function-paren-newline": "off",
- "generator-star-spacing": "error",
- "global-require": "off",
- "grouped-accessor-pairs": "error",
- "guard-for-in": "off",
- "handle-callback-err": "off",
- "id-blacklist": "error",
- "id-denylist": "error",
- "id-length": "off",
- "id-match": "error",
- "implicit-arrow-linebreak": "error",
- "indent": "off",
- "indent-legacy": "off",
- "init-declarations": "off",
- "jsx-quotes": "error",
- "key-spacing": "off",
- "keyword-spacing": [
- "error",
- {
- "before": true,
- "after": false,
- "overrides": {
- "case": {
- "after": true
- },
- "do": {
- "after": true
- },
- "else": {
- "after": true
- },
- "return": {
- "after": true
- },
- "throw": {
- "after": true
- },
- "try": {
- "after": true
- },
- "catch": {
- "after": true
- }
- }
- }
- ],
- "line-comment-position": "off",
- "linebreak-style": "off",
- "lines-around-comment": "off",
- "lines-around-directive": "off",
- "lines-between-class-members": "error",
- "max-classes-per-file": "error",
- "max-depth": "off",
- "max-len": "off",
- "max-lines": "off",
- "max-lines-per-function": "off",
- "max-nested-callbacks": "error",
- "max-params": "off",
- "max-statements": "off",
- "max-statements-per-line": "off",
- "multiline-comment-style": "off",
- "multiline-ternary": "off",
- "new-parens": "off",
- "newline-after-var": "off",
- "newline-before-return": "off",
- "newline-per-chained-call": "off",
- "no-alert": "off",
- "no-array-constructor": "off",
- "no-await-in-loop": "error",
- "no-bitwise": "off",
- "no-buffer-constructor": "off",
- "no-caller": "error",
- "no-catch-shadow": "off",
- "no-confusing-arrow": "error",
- "no-console": "off",
- "no-constant-condition": [
- "error",
- {
- "checkLoops": false
- }
- ],
- "no-constructor-return": "error",
- "no-continue": "off",
- "no-div-regex": "off",
- "no-duplicate-imports": "error",
- "no-else-return": "off",
- "no-empty-function": "off",
- "no-eq-null": "off",
- "no-eval": "off",
- "no-extend-native": "off",
- "no-extra-bind": "off",
- "no-extra-label": "off",
- "no-extra-parens": "off",
- "no-floating-decimal": "off",
- "no-implicit-coercion": [
- "error",
- {
- "boolean": false,
- "number": false,
- "string": false
- }
- ],
- "no-implicit-globals": "off",
- "no-implied-eval": "error",
- "no-inline-comments": "off",
- "no-invalid-this": "off",
- "no-iterator": "error",
- "no-label-var": "off",
- "no-labels": "off",
- "no-lone-blocks": "off",
- "no-lonely-if": "off",
- "no-loop-func": "off",
- "no-loss-of-precision": "error",
- "no-magic-numbers": "off",
- "no-mixed-operators": "off",
- "no-mixed-requires": "off",
- "no-multi-assign": "off",
- "no-multi-spaces": "off",
- "no-multi-str": "error",
- "no-multiple-empty-lines": ["warn", { "max": 4, "maxEOF": 0 }],
- "no-native-reassign": "off",
- "no-negated-condition": "off",
- "no-negated-in-lhs": "error",
- "no-nested-ternary": "off",
- "no-new": "off",
- "no-new-func": "off",
- "no-new-object": "off",
- "no-new-require": "error",
- "no-new-wrappers": "error",
- "no-octal-escape": "error",
- "no-param-reassign": "off",
- "no-path-concat": "error",
- "no-plusplus": "off",
- "no-process-env": "off",
- "no-process-exit": "off",
- "no-promise-executor-return": "error",
- "no-proto": "off",
- "no-restricted-exports": "error",
- "no-restricted-globals": "error",
- "no-restricted-imports": "error",
- "no-restricted-modules": "error",
- "no-restricted-properties": "error",
- "no-restricted-syntax": "error",
- "no-return-assign": "off",
- "no-return-await": "error",
- "no-script-url": "off",
- "no-self-compare": "off",
- "no-sequences": "off",
- "no-shadow": "off",
- "no-spaced-func": "off",
- "no-sync": "off",
- "no-tabs": "off",
- "no-template-curly-in-string": "error",
- "no-ternary": "off",
- "no-throw-literal": "off",
- "no-trailing-spaces": "error",
- "no-undef-init": "off",
- "no-undefined": "off",
- "no-underscore-dangle": "off",
- "no-unmodified-loop-condition": "off",
- "no-unneeded-ternary": "off",
- "no-unreachable-loop": "error",
- "no-unused-expressions": "off",
- "no-use-before-define": "off",
- "no-useless-backreference": "error",
- "no-useless-call": "off",
- "no-useless-computed-key": "error",
- "no-useless-concat": "off",
- "no-useless-constructor": "error",
- "no-useless-rename": "error",
- "no-useless-return": "off",
- "no-var": "off",
- "no-void": "off",
- "no-warning-comments": "off",
- "no-whitespace-before-property": "error",
- "nonblock-statement-body-position": [
- "error",
- "any"
- ],
- "object-curly-newline": "off",
- "object-curly-spacing": "off",
- "object-property-newline": "off",
- "object-shorthand": "off",
- "one-var": "off",
- "one-var-declaration-per-line": "off",
- "operator-assignment": "off",
- "operator-linebreak": "off",
- "padded-blocks": "off",
- "padding-line-between-statements": "error",
- "prefer-arrow-callback": "off",
- "prefer-const": "off",
- "prefer-destructuring": "off",
- "prefer-exponentiation-operator": "off",
- "prefer-named-capture-group": "off",
- "prefer-numeric-literals": "error",
- "prefer-object-spread": "off",
- "prefer-promise-reject-errors": "error",
- "prefer-reflect": "off",
- "prefer-regex-literals": "off",
- "prefer-rest-params": "off",
- "prefer-spread": "off",
- "prefer-template": "off",
- "quote-props": "off",
- "quotes": "off",
- "radix": "off",
- "require-atomic-updates": "error",
- "require-await": "error",
- "require-jsdoc": "off",
- "require-unicode-regexp": "off",
- "rest-spread-spacing": "error",
- "semi": "off",
- "semi-spacing": "off",
- "semi-style": "off",
- "sort-imports": "error",
- "sort-keys": "off",
- "sort-vars": "off",
- "space-before-blocks": "off",
- "space-before-function-paren": "off",
- "space-in-parens": "off",
- "space-infix-ops": "off",
- "space-unary-ops": "off",
- "spaced-comment": "off",
- "strict": "off",
- "switch-colon-spacing": "off",
- "symbol-description": "error",
- "template-curly-spacing": "error",
- "template-tag-spacing": "error",
- "unicode-bom": [
- "error",
- "never"
- ],
- "valid-jsdoc": "off",
- "valid-typeof": [
- "error",
- {
- "requireStringLiterals": false
- }
- ],
- "vars-on-top": "off",
- "wrap-iife": "off",
- "wrap-regex": "off",
- "yield-star-spacing": "error",
- "yoda": "off",
- "no-useless-escape": "off",
- "no-unused-vars": "off",
- "no-empty": "off",
- "no-extra-semi": "off",
- "no-redeclare": "off",
- "no-control-regex": "off",
- "no-mixed-spaces-and-tabs": "off",
- "no-extra-boolean-cast": "off",
- "no-prototype-builtins": "off",
- "no-undef": "off",
- "no-unreachable": "off",
- "no-self-assign": "off"
- }
-}
From 40d53543dc943ff8689264df71cd2ed7b9c0b21c Mon Sep 17 00:00:00 2001
From: bobjtls <71995093+bobjtls@users.noreply.github.com>
Date: Sat, 22 Mar 2025 22:35:15 +1100
Subject: [PATCH 09/21] Signing CLA (#8985)
---
licenses/cla-individual.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/licenses/cla-individual.md b/licenses/cla-individual.md
index ee46925ff..4033e9fc1 100644
--- a/licenses/cla-individual.md
+++ b/licenses/cla-individual.md
@@ -610,4 +610,5 @@ Galen Huntington, @galenhuntington, 2025/01/19
@Rhys-T, 2025/01/23
-@Rumman157, 2025/03/17
\ No newline at end of file
+@Rumman157, 2025/03/17
+@bob.jansen@cultconv.com, 2025/03/22
\ No newline at end of file
From 1b605f0b876d77f70e24d26a24182eb4b9286d26 Mon Sep 17 00:00:00 2001
From: bobjtls <71995093+bobjtls@users.noreply.github.com>
Date: Sat, 22 Mar 2025 22:35:56 +1100
Subject: [PATCH 10/21] Docs: Addition of example for ActionSetField widget
(#8986)
---
.../tw5.com/tiddlers/widgets/ActionSetFieldWidget.tid | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/editions/tw5.com/tiddlers/widgets/ActionSetFieldWidget.tid b/editions/tw5.com/tiddlers/widgets/ActionSetFieldWidget.tid
index f278dae0b..92de54be9 100644
--- a/editions/tw5.com/tiddlers/widgets/ActionSetFieldWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/ActionSetFieldWidget.tid
@@ -1,6 +1,6 @@
caption: action-setfield
created: 20141025120850184
-modified: 20150806171403798
+modified: 20250322010115457
tags: Widgets ActionWidgets
title: ActionSetFieldWidget
type: text/vnd.tiddlywiki
@@ -66,3 +66,10 @@ src='<$button>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Appearance" tab
$button>'/>
+
+Here is an example of a button that will update the value of an existing field in a tiddler
+<$macrocall $name='wikitext-example-without-html'
+src='<$button>
+<$action-setfield $tiddler="Test" existing_field_name="new field value"/>
+Update Field existing_field_name in tiddler Test
+$button>'/>
\ No newline at end of file
From 48fa2be6acd635e4ee78b8e5c7405a66ade6bc52 Mon Sep 17 00:00:00 2001
From: Mario Pietsch
Date: Sat, 22 Mar 2025 21:37:15 +0100
Subject: [PATCH 11/21] [DOCS] Add HTML Tag info to reveal-widget (#8941)
---
editions/tw5.com/tiddlers/HTML Tags.tid | 11 +++++++++++
editions/tw5.com/tiddlers/widgets/RevealWidget.tid | 4 ++--
2 files changed, 13 insertions(+), 2 deletions(-)
create mode 100644 editions/tw5.com/tiddlers/HTML Tags.tid
diff --git a/editions/tw5.com/tiddlers/HTML Tags.tid b/editions/tw5.com/tiddlers/HTML Tags.tid
new file mode 100644
index 000000000..8df3b22d9
--- /dev/null
+++ b/editions/tw5.com/tiddlers/HTML Tags.tid
@@ -0,0 +1,11 @@
+created: 20250211092107689
+modified: 20250211092307574
+tags: Definitions
+title: HTML Tags
+type: text/vnd.tiddlywiki
+
+<<<
+In HTML, a tag is used for creating an element.
+
+The name of an HTML element is the name that appears at the beginning of the element's start tag and at the end of the element's end tag (if the element has an end tag). For example, the p in the `` start tag and `
` end tag is the name of the HTML paragraph element. Note that an element name in an end tag is preceded by a slash character: `
`, and that for void elements, the end tag is neither required nor allowed.
+<<< https://developer.mozilla.org/en-US/docs/Glossary/Tag
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/widgets/RevealWidget.tid b/editions/tw5.com/tiddlers/widgets/RevealWidget.tid
index 37df94c1e..0aff56e23 100644
--- a/editions/tw5.com/tiddlers/widgets/RevealWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/RevealWidget.tid
@@ -1,7 +1,7 @@
caption: reveal
created: 20131024141900000
jeremy: tiddlywiki
-modified: 20240721175716320
+modified: 20250211091937860
tags: Widgets
title: RevealWidget
type: text/vnd.tiddlywiki
@@ -28,7 +28,7 @@ The content of the `<$reveal>` widget is displayed according to the rules given
|stateTitle |A title containing the state, ''without'' TextReference. Gets preferred over the <<.attr state>> attribute |
|stateField |A ''field name'' which is used to look for the state, if the attribute <<.attr stateTitle>> is present |
|stateIndex |An ''index'' which is used to look for the state, if the attribute <<.attr stateTitle>> is present |
-|tag |Overrides the default HTML element tag (`` in block mode or `
` in inline mode) |
+|tag |Overrides the default [[HTML Tags]] (`` in block mode or `
` in inline mode) |
|type |The type of matching performed: ''match'', ''nomatch'', ''popup'', ''lt'', ''gt'', ''lteq'' or ''gteq'' |
|text |The text to match when the type is ''match'', ''nomatch'', ''lt'', ''gt'', ''lteq'' or ''gteq'' |
|class |An optional CSS class name to be assigned to the HTML element
» Set to `tc-popup-keep` to make a popup "sticky", so it won't close when you click inside of it|
From 8bda28afd5082bbf3f77482990f476ca6764df17 Mon Sep 17 00:00:00 2001
From: Mario Pietsch
Date: Thu, 27 Mar 2025 18:22:56 +0100
Subject: [PATCH 12/21] Fix typo (#8994)
---
editions/tw5.com/tiddlers/pragmas/Pragma_ _define.tid | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/editions/tw5.com/tiddlers/pragmas/Pragma_ _define.tid b/editions/tw5.com/tiddlers/pragmas/Pragma_ _define.tid
index 883f1e450..0ecac2400 100644
--- a/editions/tw5.com/tiddlers/pragmas/Pragma_ _define.tid
+++ b/editions/tw5.com/tiddlers/pragmas/Pragma_ _define.tid
@@ -48,6 +48,6 @@ $caption$
<>
""">>
-<<.warning """If macros are nested, textual substitution will only occur for the outermost macro. Thi is because by the time the inner macros are processed all the substitutions will have already occurred""">>
+<<.warning """If macros are nested, textual substitution will only occur for the outermost macro. This is because by the time the inner macros are processed all the substitutions will have already occurred""">>
A more formal [[presentation|Macro Definition Syntax]] of this syntax is also available.
From f315567924d6571293719f2447205ce1ad93c98b Mon Sep 17 00:00:00 2001
From: Jeremy Ruston
Date: Sun, 6 Apr 2025 15:22:25 +0100
Subject: [PATCH 13/21] Update MultiWikiServer tiddler
---
.../roadmap/multiwikiserver/MultiWikiServer.tid | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MultiWikiServer.tid b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MultiWikiServer.tid
index 891bdb378..d15f34679 100644
--- a/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MultiWikiServer.tid
+++ b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MultiWikiServer.tid
@@ -14,13 +14,8 @@ Planned features include:
* Instantaneous synchronisation of changes between the server and all connected clients
* Workflow processing on the server, for example to automatically compress images, or to archive webpages
-MWS does require basic knowledge of the command line and Node.js but is designed to be as simple as possible to setup and use. Once downloaded, just two commands are needed to complete the installation and start the server:
+MWS does require basic knowledge of the command line and Node.js but is designed to be as simple as possible to setup and use. A few simple commands are all that is needed to complete the installation and start the server.
-```
-npm install
-npm start
-```
+MWS is currently under development at ~GitHub but it is already functional and usable:
-MWS is currently [[under development at GitHub|https://github.com/TiddlyWiki/TiddlyWiki5/pull/7915]] but it is already functional and usable. Visit the MWS website for more information:
-
-! https://mws.tiddlywiki.com/
\ No newline at end of file
+https://github.com/TiddlyWiki/MultiWikiServer/
From 34cf59d31ef3b3c2db5d5453b846790b28f39feb Mon Sep 17 00:00:00 2001
From: Leilei332
Date: Sat, 12 Apr 2025 22:32:10 +0800
Subject: [PATCH 14/21] Fix some download file types. (#9026)
---
core/ui/ExportTiddlyWikiCore.tid | 2 +-
core/ui/PageControls/export-tiddlywikicore.tid | 2 +-
plugins/tiddlywiki/share/wizard.tid | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/core/ui/ExportTiddlyWikiCore.tid b/core/ui/ExportTiddlyWikiCore.tid
index 4b913a020..af097b648 100644
--- a/core/ui/ExportTiddlyWikiCore.tid
+++ b/core/ui/ExportTiddlyWikiCore.tid
@@ -12,7 +12,7 @@ Export the TiddlyWiki core JavaScript code for running with external JavaScript:
tooltip="Export the TiddlyWiki core code for running with external JavaScript"
aria-label="export TiddlyWiki core"
class="tc-btn-big-green">
-<$action-sendmessage $message='tm-download-file' $param='$:/core/templates/tiddlywiki5.js' filename=<>/>
+<$action-sendmessage $message='tm-download-file' $param='$:/core/templates/tiddlywiki5.js' filename=<> type="application/javascript"/>
{{$:/core/images/download-button}}
Download TiddlyWiki core
diff --git a/core/ui/PageControls/export-tiddlywikicore.tid b/core/ui/PageControls/export-tiddlywikicore.tid
index a6bb68c13..087ca6a36 100644
--- a/core/ui/PageControls/export-tiddlywikicore.tid
+++ b/core/ui/PageControls/export-tiddlywikicore.tid
@@ -12,7 +12,7 @@ element, and right-click its `src` URI. Save the link as ''$(jsFileName)$''
Export the ~TiddlyWiki core ~JavaScript code for running with external ~JavaScript:
<$button tooltip="Export the ~TiddlyWiki core code for running with external ~JavaScript" aria-label="export TiddlyWiki core" class="tc-btn-big-green">
-<$list filter="[[$:/boot/boot.js]is[missing]]" variable="ignore" emptyMessage="""<$action-sendmessage $message="tm-download-file" $param="$:/core/templates/tiddlywiki5.js" filename=<>/>""" >
+<$list filter="[[$:/boot/boot.js]is[missing]]" variable="ignore" emptyMessage="""<$action-sendmessage $message="tm-download-file" $param="$:/core/templates/tiddlywiki5.js" filename=<> type="application/javascript"/>""" >
<$action-setfield $tiddler=<> text=<> subtitle="Export ~TiddllyWiki Core"/>
<$action-sendmessage $message="tm-modal" $param=<>/>
$list>
diff --git a/plugins/tiddlywiki/share/wizard.tid b/plugins/tiddlywiki/share/wizard.tid
index 8dbf96989..52fcbee84 100644
--- a/plugins/tiddlywiki/share/wizard.tid
+++ b/plugins/tiddlywiki/share/wizard.tid
@@ -66,7 +66,7 @@ Generate sharing link
!! 5 - Export the shared tiddlers
<$button>
-<$action-sendmessage $message="tm-download-file" $param="$:/core/templates/exporters/JsonFile" exportFilter={{$:/config/plugins/share/filter}} filename="tiddlers.json"/>
+<$action-sendmessage $message="tm-download-file" $param="$:/core/templates/exporters/JsonFile" exportFilter={{$:/config/plugins/share/filter}} filename="tiddlers.json" type="application/json"/>
Export as JSON
$button>
From 5f551ca46f5c95d5fea88774ddd55f1bbe18dcde Mon Sep 17 00:00:00 2001
From: yaisog
Date: Sun, 13 Apr 2025 18:53:12 +0200
Subject: [PATCH 15/21] Change configTiddlerFilter for keyboard-driven-input
(#9032)
---
core/ui/AdvancedSearch/Standard.tid | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/ui/AdvancedSearch/Standard.tid b/core/ui/AdvancedSearch/Standard.tid
index c85c8b9f2..ae80ced35 100644
--- a/core/ui/AdvancedSearch/Standard.tid
+++ b/core/ui/AdvancedSearch/Standard.tid
@@ -37,7 +37,7 @@ caption: {{$:/language/Search/Standard/Caption}}
inputCancelActions=<>
inputAcceptActions=<>
inputAcceptVariantActions=<>
- configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]"
+ configTiddlerFilter="[[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]"
filterMinLength={{$:/config/Search/MinLength}}/>
$keyboard>
$keyboard>
From 4e28742aa62e319a4bae7baae58703b396b27f52 Mon Sep 17 00:00:00 2001
From: Mario Pietsch
Date: Mon, 14 Apr 2025 19:28:04 +0200
Subject: [PATCH 16/21] Remove function wrappers from plugins (#9030)
---
plugins/tiddlywiki/confetti/confetti-manager.js | 3 ---
plugins/tiddlywiki/confetti/confetti-widget.js | 3 ---
plugins/tiddlywiki/confetti/startup.js | 3 ---
plugins/tiddlywiki/dynannotate/modules/element-spotlight.js | 3 ---
plugins/tiddlywiki/dynannotate/modules/startup.js | 4 ----
plugins/tiddlywiki/innerwiki/anchor.js | 3 ---
plugins/tiddlywiki/qrcode/barcodereader.js | 3 ---
7 files changed, 22 deletions(-)
diff --git a/plugins/tiddlywiki/confetti/confetti-manager.js b/plugins/tiddlywiki/confetti/confetti-manager.js
index 66ccb427e..5ffb48fe0 100644
--- a/plugins/tiddlywiki/confetti/confetti-manager.js
+++ b/plugins/tiddlywiki/confetti/confetti-manager.js
@@ -6,7 +6,6 @@ module-type: global
Confetti manager
\*/
-(function(){
"use strict";
var confetti = require("$:/plugins/tiddlywiki/confetti/confetti.js");
@@ -49,5 +48,3 @@ ConfettiManager.prototype.reset = function () {
};
exports.ConfettiManager = ConfettiManager;
-
-})();
diff --git a/plugins/tiddlywiki/confetti/confetti-widget.js b/plugins/tiddlywiki/confetti/confetti-widget.js
index c3bbc25e3..f26dc3e05 100644
--- a/plugins/tiddlywiki/confetti/confetti-widget.js
+++ b/plugins/tiddlywiki/confetti/confetti-widget.js
@@ -6,7 +6,6 @@ module-type: widget
Confetti widget
\*/
-(function(){
"use strict";
var Widget = require("$:/core/modules/widgets/widget.js").widget;
@@ -60,5 +59,3 @@ ConfettiWidget.prototype.refresh = function(changedTiddlers) {
};
exports.confetti = ConfettiWidget;
-
-})();
diff --git a/plugins/tiddlywiki/confetti/startup.js b/plugins/tiddlywiki/confetti/startup.js
index fafbecee7..1ece709eb 100644
--- a/plugins/tiddlywiki/confetti/startup.js
+++ b/plugins/tiddlywiki/confetti/startup.js
@@ -6,7 +6,6 @@ module-type: startup
Setup the root widget event handlers
\*/
-(function(){
"use strict";
// Export name and synchronous status
@@ -56,5 +55,3 @@ exports.startup = function() {
$tw.confettiManager.reset();
});
};
-
-})();
diff --git a/plugins/tiddlywiki/dynannotate/modules/element-spotlight.js b/plugins/tiddlywiki/dynannotate/modules/element-spotlight.js
index 9a7ab71ad..fea230d55 100644
--- a/plugins/tiddlywiki/dynannotate/modules/element-spotlight.js
+++ b/plugins/tiddlywiki/dynannotate/modules/element-spotlight.js
@@ -6,7 +6,6 @@ module-type: library
Manages the element spotlight effect
\*/
-(function(){
"use strict";
function ElementSpotlight() {
@@ -129,5 +128,3 @@ ElementSpotlight.prototype.shineSpotlight = function(selectors) {
};
exports.ElementSpotlight = ElementSpotlight;
-
-})();
diff --git a/plugins/tiddlywiki/dynannotate/modules/startup.js b/plugins/tiddlywiki/dynannotate/modules/startup.js
index cdcbd4bfb..a7c4af252 100644
--- a/plugins/tiddlywiki/dynannotate/modules/startup.js
+++ b/plugins/tiddlywiki/dynannotate/modules/startup.js
@@ -8,8 +8,6 @@ module-type: startup
Startup the dyannotate background daemon to track the selection
\*/
-(function(){
-
"use strict";
// Export name and synchronous status
@@ -56,5 +54,3 @@ exports.startup = function() {
$tw.dynannotate.elementSpotlight.shineSpotlight(selectors);
});
};
-
-})();
diff --git a/plugins/tiddlywiki/innerwiki/anchor.js b/plugins/tiddlywiki/innerwiki/anchor.js
index 584370256..6b37cc97d 100644
--- a/plugins/tiddlywiki/innerwiki/anchor.js
+++ b/plugins/tiddlywiki/innerwiki/anchor.js
@@ -6,9 +6,6 @@ module-type: widget
Anchor widget to represent an innerwiki graphical anchor. Clone of the data widget
\*/
-(function(){
"use strict";
exports.anchor = require("$:/core/modules/widgets/data.js").data;
-
-})();
diff --git a/plugins/tiddlywiki/qrcode/barcodereader.js b/plugins/tiddlywiki/qrcode/barcodereader.js
index f44ec4c0e..ceba2b36b 100644
--- a/plugins/tiddlywiki/qrcode/barcodereader.js
+++ b/plugins/tiddlywiki/qrcode/barcodereader.js
@@ -6,7 +6,6 @@ module-type: widget
barcodereader widget for reading barcodes
\*/
-(function(){
"use strict";
var Widget = require("$:/core/modules/widgets/widget.js").widget;
@@ -83,5 +82,3 @@ BarCodeReaderWidget.prototype.refresh = function(changedTiddlers) {
};
exports.barcodereader = BarCodeReaderWidget;
-
-})();
From 73e70e77c1f66e0fc1cdd3ab5e7c66f77545466f Mon Sep 17 00:00:00 2001
From: Mario Pietsch
Date: Mon, 14 Apr 2025 19:28:43 +0200
Subject: [PATCH 17/21] Remove function wrappers from test editions (#9029)
---
editions/test/tiddlers/tests/test-action-deletefield.js | 8 --------
editions/test/tiddlers/tests/test-fakedom.js | 3 ---
editions/test/tiddlers/tests/test-plugins.js | 4 ----
editions/test/tiddlers/tests/test-widget-event.js | 5 -----
.../test/tiddlers/tests/test-widget-getVariableInfo.js | 2 --
5 files changed, 22 deletions(-)
diff --git a/editions/test/tiddlers/tests/test-action-deletefield.js b/editions/test/tiddlers/tests/test-action-deletefield.js
index 876f44d8e..f87eeda01 100644
--- a/editions/test/tiddlers/tests/test-action-deletefield.js
+++ b/editions/test/tiddlers/tests/test-action-deletefield.js
@@ -6,12 +6,6 @@ tags: [[$:/tags/test-spec]]
Tests <$action-deletefield />.
\*/
-(function(){
-
-/* jslint node: true, browser: true */
-/* eslint-env node, browser, jasmine */
-/* eslint no-mixed-spaces-and-tabs: ["error", "smart-tabs"]*/
-/* global $tw, require */
"use strict";
describe("<$action-deletefield /> tests", function() {
@@ -172,5 +166,3 @@ it("should correctly delete fields", function() {
});
});
-
-})();
diff --git a/editions/test/tiddlers/tests/test-fakedom.js b/editions/test/tiddlers/tests/test-fakedom.js
index faec01af6..8cfe3f9c2 100644
--- a/editions/test/tiddlers/tests/test-fakedom.js
+++ b/editions/test/tiddlers/tests/test-fakedom.js
@@ -6,7 +6,6 @@ tags: [[$:/tags/test-spec]]
Tests the fakedom that Tiddlywiki occasionally uses.
\*/
-(function(){
"use strict";
describe("fakedom tests", function() {
@@ -20,5 +19,3 @@ describe("fakedom tests", function() {
expect($tw.fakeDocument.createTextNode("text").TEXT_NODE).toBe(3);
});
});
-
-})();
diff --git a/editions/test/tiddlers/tests/test-plugins.js b/editions/test/tiddlers/tests/test-plugins.js
index fadf92a10..86cd4c6f0 100644
--- a/editions/test/tiddlers/tests/test-plugins.js
+++ b/editions/test/tiddlers/tests/test-plugins.js
@@ -6,7 +6,6 @@ tags: [[$:/tags/test-spec]]
Tests for integrity of the core plugins, languages, themes and editions
\*/
-(function(){
"use strict";
if($tw.node) {
@@ -47,6 +46,3 @@ if($tw.node) {
});
});
}
-
-
-})();
diff --git a/editions/test/tiddlers/tests/test-widget-event.js b/editions/test/tiddlers/tests/test-widget-event.js
index b70f5424c..9aeb9a838 100644
--- a/editions/test/tiddlers/tests/test-widget-event.js
+++ b/editions/test/tiddlers/tests/test-widget-event.js
@@ -3,10 +3,7 @@ title: test-widget-event.js
type: application/javascript
tags: [[$:/tags/test-spec]]
\*/
-(function(){
-/*jslint node: true, browser: true */
-/*global $tw: false */
"use strict";
describe("Widget Event Listeners", function() {
@@ -220,5 +217,3 @@ describe("Widget Event Listeners", function() {
});
});
-
-})();
diff --git a/editions/test/tiddlers/tests/test-widget-getVariableInfo.js b/editions/test/tiddlers/tests/test-widget-getVariableInfo.js
index 4ce21a956..ae0f4ce20 100644
--- a/editions/test/tiddlers/tests/test-widget-getVariableInfo.js
+++ b/editions/test/tiddlers/tests/test-widget-getVariableInfo.js
@@ -6,7 +6,6 @@ tags: [[$:/tags/test-spec]]
Tests the wikitext rendering pipeline end-to-end. We also need tests that individually test parsers, rendertreenodes etc., but this gets us started.
\*/
-(function(){
"use strict";
describe("Widget module", function() {
@@ -89,4 +88,3 @@ describe("Widget module", function() {
});
-})();
From fbeb8cddc8770f4fd3d646bc508e4bf422c9f144 Mon Sep 17 00:00:00 2001
From: Mario Pietsch
Date: Mon, 14 Apr 2025 19:29:08 +0200
Subject: [PATCH 18/21] Remove function wrappers from core/modules (#9028)
---
core/modules/filters/backtranscludes.js | 3 ---
core/modules/filters/transcludes.js | 3 ---
core/modules/parsers/wikiparser/rules/conditional.js | 3 ---
core/modules/utils/errors.js | 4 ----
core/modules/utils/repository.js | 3 ---
core/modules/widgets/data.js | 3 ---
core/modules/widgets/testcase.js | 3 ---
7 files changed, 22 deletions(-)
diff --git a/core/modules/filters/backtranscludes.js b/core/modules/filters/backtranscludes.js
index 2451ab941..07ef9b254 100644
--- a/core/modules/filters/backtranscludes.js
+++ b/core/modules/filters/backtranscludes.js
@@ -6,7 +6,6 @@ module-type: filteroperator
Filter operator for returning all the backtranscludes from a tiddler
\*/
-(function(){
"use strict";
/*
@@ -19,5 +18,3 @@ exports.backtranscludes = function(source,operator,options) {
});
return results.makeTiddlerIterator(options.wiki);
};
-
-})();
diff --git a/core/modules/filters/transcludes.js b/core/modules/filters/transcludes.js
index 0245dcaa4..5032e4255 100644
--- a/core/modules/filters/transcludes.js
+++ b/core/modules/filters/transcludes.js
@@ -6,7 +6,6 @@ module-type: filteroperator
Filter operator for returning all the transcludes from a tiddler
\*/
-(function(){
"use strict";
/*
@@ -19,5 +18,3 @@ exports.transcludes = function(source,operator,options) {
});
return results.makeTiddlerIterator(options.wiki);
};
-
-})();
diff --git a/core/modules/parsers/wikiparser/rules/conditional.js b/core/modules/parsers/wikiparser/rules/conditional.js
index 4dccf75fb..3995b90dc 100644
--- a/core/modules/parsers/wikiparser/rules/conditional.js
+++ b/core/modules/parsers/wikiparser/rules/conditional.js
@@ -10,7 +10,6 @@ This is a <%if [{something}] %>Elephant<%elseif [{else}] %>Pelican<%else%>Crocod
```
\*/
-(function(){
"use strict";
exports.name = "conditional";
@@ -113,5 +112,3 @@ exports.parseIfClause = function(filterCondition) {
// Return the parse tree node
return [listWidget];
};
-
-})();
diff --git a/core/modules/utils/errors.js b/core/modules/utils/errors.js
index fac4b3fa7..40e0a4f8f 100644
--- a/core/modules/utils/errors.js
+++ b/core/modules/utils/errors.js
@@ -6,8 +6,6 @@ module-type: utils
Custom errors for TiddlyWiki.
\*/
-(function(){
-
function TranscludeRecursionError() {
Error.apply(this,arguments);
this.signatures = Object.create(null);
@@ -19,5 +17,3 @@ TranscludeRecursionError.MAX_WIDGET_TREE_DEPTH = 1000;
TranscludeRecursionError.prototype = Object.create(Error);
exports.TranscludeRecursionError = TranscludeRecursionError;
-
-})();
diff --git a/core/modules/utils/repository.js b/core/modules/utils/repository.js
index 359f558b8..08d8828d9 100644
--- a/core/modules/utils/repository.js
+++ b/core/modules/utils/repository.js
@@ -6,7 +6,6 @@ module-type: utils
Utilities for working with the TiddlyWiki repository file structure
\*/
-(function(){
"use strict";
/*
@@ -45,5 +44,3 @@ exports.getAllPlugins = function(options) {
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,options.ignoreEnvironmentVariables ? undefined : $tw.config.languagesEnvVar),collectPlugins);
return tiddlers;
};
-
-})();
diff --git a/core/modules/widgets/data.js b/core/modules/widgets/data.js
index d51e2ba8b..50eafc63f 100644
--- a/core/modules/widgets/data.js
+++ b/core/modules/widgets/data.js
@@ -6,7 +6,6 @@ module-type: widget
Widget to dynamically represent one or more tiddlers
\*/
-(function(){
"use strict";
var Widget = require("$:/core/modules/widgets/widget.js").widget;
@@ -187,5 +186,3 @@ function hasPayloadChanged(a,b) {
}
exports.data = DataWidget;
-
-})();
diff --git a/core/modules/widgets/testcase.js b/core/modules/widgets/testcase.js
index cc7141867..ccdce7ac5 100644
--- a/core/modules/widgets/testcase.js
+++ b/core/modules/widgets/testcase.js
@@ -6,7 +6,6 @@ module-type: widget
Widget to display a test case
\*/
-(function(){
"use strict";
var Widget = require("$:/core/modules/widgets/widget.js").widget;
@@ -160,5 +159,3 @@ TestCaseWidget.prototype.refresh = function(changedTiddlers) {
};
exports["testcase"] = TestCaseWidget;
-
-})();
From 1e2ce0bc80265fccff03bea7d3d3e505a3dcb3a3 Mon Sep 17 00:00:00 2001
From: Mario Pietsch
Date: Mon, 14 Apr 2025 19:29:33 +0200
Subject: [PATCH 19/21] Remove function wrapper from development documentation.
(#9027)
---
editions/dev/tiddlers/new/Filter Operators.tid | 6 ------
editions/dev/tiddlers/new/Hook_ th-before-importing.tid | 5 -----
editions/dev/tiddlers/new/ParserSubclassingMechanism.tid | 4 ----
editions/dev/tiddlers/new/WidgetSubclassingMechanism.tid | 4 ----
4 files changed, 19 deletions(-)
diff --git a/editions/dev/tiddlers/new/Filter Operators.tid b/editions/dev/tiddlers/new/Filter Operators.tid
index c7c2e7456..4a1d173e3 100644
--- a/editions/dev/tiddlers/new/Filter Operators.tid
+++ b/editions/dev/tiddlers/new/Filter Operators.tid
@@ -34,13 +34,11 @@ Suppose we want to make a filter operator that returns every other tiddler from
We make a new tiddler, set its `type` and `module-type` appropriately, and begin writing the code:
```
-(function(){
"use strict";
exports.everyother = function(source, operator, options) {
// TODO
}
-})();
```
For the example filter syntax, our function will be called with
@@ -54,7 +52,6 @@ As is usually the case, we don't care about `operator.operator` here (since that
We could implement the operator by iterating over the input tiddlers and explicitly building a result array of titles:
```
-(function(){
"use strict";
exports.everyother = function(source, operator, options) {
@@ -66,7 +63,6 @@ exports.everyother = function(source, operator, options) {
});
return result;
}
-})();
```
That is, we supply a callback to `source` that negates `include` each time through (in order to grab every other result) and pushes the `title` of every other tiddler onto the result.
@@ -74,7 +70,6 @@ That is, we supply a callback to `source` that negates `include` each time throu
Alternatively, we can return our own iterator, by returning a function that accepts a similar callback and only calls it on every other tiddler:
```
-(function(){
"use strict";
exports.everyother = function(source, operator, options) {
@@ -86,7 +81,6 @@ exports.everyother = function(source, operator, options) {
});
};
}
-})();
```
Either way, we could interpret the `!` flag on the filter, if present, to mean that we want the //other// half of the tiddlers, by using it to set the initial value of `include`: `var include = operator.prefix !== "!";`
diff --git a/editions/dev/tiddlers/new/Hook_ th-before-importing.tid b/editions/dev/tiddlers/new/Hook_ th-before-importing.tid
index 19157566f..483fb5388 100644
--- a/editions/dev/tiddlers/new/Hook_ th-before-importing.tid
+++ b/editions/dev/tiddlers/new/Hook_ th-before-importing.tid
@@ -40,10 +40,7 @@ module-type: startup
YOUR DISCRCRIPTION COMES HERE!
\*/
-(function(){
-/*jslint node: true, browser: true */
-/*global $tw: false, exports: true */
"use strict";
// Export name and synchronous status
@@ -63,6 +60,4 @@ exports.startup = function() {
});
};
-})();
-
```
\ No newline at end of file
diff --git a/editions/dev/tiddlers/new/ParserSubclassingMechanism.tid b/editions/dev/tiddlers/new/ParserSubclassingMechanism.tid
index c4aab295e..8f36638ca 100644
--- a/editions/dev/tiddlers/new/ParserSubclassingMechanism.tid
+++ b/editions/dev/tiddlers/new/ParserSubclassingMechanism.tid
@@ -11,10 +11,7 @@ The wikitext parser subclassing mechanism makes it possible for custom parsers t
Here is an example of a subclass of the checkbox widget that adds logging to the event handler:
```js
-(function(){
-/*jslint node: true, browser: true */
-/*global $tw: false */
"use strict";
var WikiParser = require("$:/core/modules/parsers/wikiparser/wikiparser.js")["text/vnd.tiddlywiki"],
@@ -38,5 +35,4 @@ var MyCustomWikiParser = function(type,text,options) {
exports["text/vnd.my-custom-type"] = MyCustomWikiParser;
-})();
```
diff --git a/editions/dev/tiddlers/new/WidgetSubclassingMechanism.tid b/editions/dev/tiddlers/new/WidgetSubclassingMechanism.tid
index 3f39d4e3a..484952131 100644
--- a/editions/dev/tiddlers/new/WidgetSubclassingMechanism.tid
+++ b/editions/dev/tiddlers/new/WidgetSubclassingMechanism.tid
@@ -26,10 +26,7 @@ module-type: widget-subclass
Widget base class
\*/
-(function(){
-/*jslint node: true, browser: true */
-/*global $tw: false */
"use strict";
exports.baseClass = "checkbox"; // Extend the <$checkbox> widget
@@ -50,5 +47,4 @@ exports.prototype.handleChangeEvent = function(event) {
console.log("Checkbox status:",this.inputDomNode.checked);
};
-})();
```
From 866e55954f2b5b5d72dc3699984b1392e0f3acab Mon Sep 17 00:00:00 2001
From: Rob Hoelz
Date: Mon, 14 Apr 2025 12:33:18 -0500
Subject: [PATCH 20/21] Stringify derived fields for tiddlywiki.files (#9025)
Otherwise, when serializing the tiddlers as JSON when loading plugins,
derived values may end up with the incorrect values.
Take the `modified` field for example - without stringification, it ends
up as something like `new Date(2025, 3, 12, 6, 56, 23)`, which then gets
serialized as `"2025-04-12T11:56:23.000Z"` (in my timezone), rather than
`"20250412115623000"`. The string `"2025-04-12T11:56:23.000Z"` trips up
TiddlyWiki's date parser upon load, and it gets parsed as
`20250101000000000` instead.
Fixes GH #9021
---
boot/boot.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/boot/boot.js b/boot/boot.js
index 11286678d..20a639731 100644
--- a/boot/boot.js
+++ b/boot/boot.js
@@ -2000,7 +2000,7 @@ $tw.loadTiddlersFromSpecification = function(filepath,excludeRegExp) {
var value = tiddler[name];
switch(fieldInfo.source) {
case "subdirectories":
- value = path.relative(rootPath, filename).split(path.sep).slice(0, -1);
+ value = $tw.utils.stringifyList(path.relative(rootPath, filename).split(path.sep).slice(0, -1));
break;
case "filepath":
value = path.relative(rootPath, filename).split(path.sep).join('/');
@@ -2021,10 +2021,10 @@ $tw.loadTiddlersFromSpecification = function(filepath,excludeRegExp) {
value = path.extname(filename);
break;
case "created":
- value = new Date(fs.statSync(pathname).birthtime);
+ value = $tw.utils.stringifyDate(new Date(fs.statSync(pathname).birthtime));
break;
case "modified":
- value = new Date(fs.statSync(pathname).mtime);
+ value = $tw.utils.stringifyDate(new Date(fs.statSync(pathname).mtime));
break;
}
if(fieldInfo.prefix) {
From c409d8414e99a8e78d387ba53c5a36898fb6939f Mon Sep 17 00:00:00 2001
From: Jeremy Ruston
Date: Mon, 14 Apr 2025 22:17:18 +0100
Subject: [PATCH 21/21] Fix bug exposed by #9030
I think the bug was originally introduced in a9f9ffd40948589b2f2942810a06fa7d5ed107d5
---
plugins/tiddlywiki/dynannotate/modules/startup.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/plugins/tiddlywiki/dynannotate/modules/startup.js b/plugins/tiddlywiki/dynannotate/modules/startup.js
index a7c4af252..b95d5ef01 100644
--- a/plugins/tiddlywiki/dynannotate/modules/startup.js
+++ b/plugins/tiddlywiki/dynannotate/modules/startup.js
@@ -1,5 +1,3 @@
-const { ElementSpotlight } = require("./element-spotlight");
-
/*\
title: $:/plugins/tiddlywiki/dynannotate/startup.js
type: application/javascript