diff --git a/bin/build-site.sh b/bin/build-site.sh
index f308518b4..aece60267 100755
--- a/bin/build-site.sh
+++ b/bin/build-site.sh
@@ -5,7 +5,7 @@
# Default to the current version number for building the plugin library
if [ -z "$TW5_BUILD_VERSION" ]; then
- TW5_BUILD_VERSION=v5.3.3
+ TW5_BUILD_VERSION=v5.3.5
fi
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"
diff --git a/contributing.md b/contributing.md
index 9dc10d0da..549e862a6 100644
--- a/contributing.md
+++ b/contributing.md
@@ -1,3 +1,3 @@
-
PRs must meet these minimum requirements before they can be considered for merging:
The material in the PR must be free of licensing restrictions. Which means that either:
The author must hold the copyright in all of the material themselves
The material must be licensed under a license compatible with TiddlyWiki's BSD license
The author must sign the Contributors License Agreement (see below)
Each PR should only make a single feature change
The title of the PR should be 50 characters or less
The title of the PR should be capitalised, and should not end with a period
The title of the PR should be written in the imperative mood. See below
Adequate explanation in the body of the PR for the motivation and implementation of the change. Focus on the why and what, rather than the how
PRs must be self-contained. Although they can link to material elsewhere, everything needed to understand the intention of the PR should be included
Any visual changes introduced by the PR should be noted and illustrated with before/after screenshots
Documentation as appropriate for end-users or developers
Observe the coding style
Read the developers documentation
Please open a consultation issue prior to investing time in making a large PR
Imperative Mood for PR Titles
The "imperative mood" means written as if giving a command or instruction. See this post for more details, but the gist is that the title of the PR should make sense when used to complete the sentence "If applied, this commit will...". So for example, these are good PR titles:
If applied, this commit will update the contributing guidelines
If applied, this commit will change css-escape-polyfill to a $tw.utils method
If applied, this commit will make it easier to subclass the wikitext parser with a custom rule set
These a poorly worded PR titles:
If applied, this commit will edit text widgets should use default text for missing fields
If applied, this commit will signing the CLA
If applied, this commit will don't crash if options.event is missing
PR titles may also include a short prefix to indicate the subsystem to which they apply. For example:
Menu plugin: Include menu text in aerial rotator
Commenting on Pull Requests
One of the principles of open source is that many pairs of eyes on the code can improve quality. So, we welcome comments and critiques of pending PRs. Conventional Comments has some techniques to help make comments as constructive and actionable as possible. Notably, they recommend prefixing a comment with a label to clarify the intention:
praise
Praises highlight something positive. Try to leave at least one of these comments per review. Do not leave false praise (which can actually be damaging). Do look for something to sincerely praise
nitpick
Nitpicks are small, trivial, but necessary changes. Distinguishing nitpick comments significantly helps direct the reader's attention to comments requiring more involvement
suggestion
Suggestions are specific requests to improve the subject under review. It is assumed that we all want to do what's best, so these comments are never dismissed as “mere suggestions”, but are taken seriously
issue
Issues represent user-facing problems. If possible, it's great to follow this kind of comment with a suggestion
question
Questions are appropriate if you have a potential concern but are not quite sure if it's relevant or not. Asking the author for clarification or investigation can lead to a quick resolution
thought
Thoughts represent an idea that popped up from reviewing. These comments are non-blocking by nature, but they are extremely valuable and can lead to more focused initiatives and mentoring opportunities
chore
Chores are simple tasks that must be done before the subject can be “officially” accepted. Usually, these comments reference some common process. Try to leave a link to the process description so that the reader knows how to resolve the chore
Contributor License Agreement
Like other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the UnaMesa Association (the legal entity that owns TiddlyWiki on behalf of the community).
Ensure that the "branch" dropdown at the top left is set to tiddlywiki-com
Click the "edit" button at the top-right corner (clicking this button will fork the project so you can edit the file)
Add your name at the bottom
eg: Jeremy Ruston, @Jermolene, 2011/11/22
Below the edit box for the CLA text you should see a box labelled Propose file change
Enter a brief title to explain the change (eg, "Signing the CLA")
Click the green button labelled Propose file change
On the following screen, click the green button labelled Create pull request
The CLA documents used for this project were created using Harmony Project Templates. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity".
+
PRs must meet these minimum requirements before they can be considered for merging:
The material in the PR must be free of licensing restrictions. Which means that either:
The author must hold the copyright in all of the material themselves
The material must be licensed under a license compatible with TiddlyWiki's BSD license
The author must sign the Contributors License Agreement (see below)
Each PR should only make a single feature change
The title of the PR should be 50 characters or less
The title of the PR should be capitalised, and should not end with a period
The title of the PR should be written in the imperative mood. See below
Adequate explanation in the body of the PR for the motivation and implementation of the change. Focus on the why and what, rather than the how
PRs must be self-contained. Although they can link to material elsewhere, everything needed to understand the intention of the PR should be included
Any visual changes introduced by the PR should be noted and illustrated with before/after screenshots
Documentation as appropriate for end-users or developers
Observe the coding style
Read the developers documentation
Please open a consultation issue prior to investing time in making a large PR
Imperative Mood for PR Titles
The "imperative mood" means written as if giving a command or instruction. See this post for more details, but the gist is that the title of the PR should make sense when used to complete the sentence "If applied, this commit will...". So for example, these are good PR titles:
If applied, this commit will update the contributing guidelines
If applied, this commit will change css-escape-polyfill to a $tw.utils method
If applied, this commit will make it easier to subclass the wikitext parser with a custom rule set
These a poorly worded PR titles:
If applied, this commit will edit text widgets should use default text for missing fields
If applied, this commit will signing the CLA
If applied, this commit will don't crash if options.event is missing
PR titles may also include a short prefix to indicate the subsystem to which they apply. For example:
Menu plugin: Include menu text in aerial rotator
Commenting on Pull Requests
One of the principles of open source is that many pairs of eyes on the code can improve quality. So, we welcome comments and critiques of pending PRs. Conventional Comments has some techniques to help make comments as constructive and actionable as possible. Notably, they recommend prefixing a comment with a label to clarify the intention:
praise
Praises highlight something positive. Try to leave at least one of these comments per review. Do not leave false praise (which can actually be damaging). Do look for something to sincerely praise
nitpick
Nitpicks are small, trivial, but necessary changes. Distinguishing nitpick comments significantly helps direct the reader's attention to comments requiring more involvement
suggestion
Suggestions are specific requests to improve the subject under review. It is assumed that we all want to do what's best, so these comments are never dismissed as “mere suggestions”, but are taken seriously
issue
Issues represent user-facing problems. If possible, it's great to follow this kind of comment with a suggestion
question
Questions are appropriate if you have a potential concern but are not quite sure if it's relevant or not. Asking the author for clarification or investigation can lead to a quick resolution
thought
Thoughts represent an idea that popped up from reviewing. These comments are non-blocking by nature, but they are extremely valuable and can lead to more focused initiatives and mentoring opportunities
chore
Chores are simple tasks that must be done before the subject can be “officially” accepted. Usually, these comments reference some common process. Try to leave a link to the process description so that the reader knows how to resolve the chore
Contributor License Agreement
Like other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the UnaMesa Association (the legal entity that owns TiddlyWiki on behalf of the community).
Ensure that the "branch" dropdown at the top left is set to tiddlywiki-com
Click the "edit" button at the top-right corner (clicking this button will fork the project so you can edit the file)
Add your name at the bottom
eg: Jeremy Ruston, @Jermolene, 2011/11/22
Below the edit box for the CLA text you should see a box labelled Propose file change
Enter a brief title to explain the change (eg, "Signing the CLA")
Click the green button labelled Propose file change
On the following screen, click the green button labelled Create pull request
The CLA documents used for this project were created using Harmony Project Templates. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity".
This file was automatically generated by TiddlyWiki5
\ No newline at end of file
diff --git a/core/language/en-GB/Buttons.multids b/core/language/en-GB/Buttons.multids
index 3ee898b4f..15273d18e 100644
--- a/core/language/en-GB/Buttons.multids
+++ b/core/language/en-GB/Buttons.multids
@@ -104,6 +104,8 @@ ShowSideBar/Caption: show sidebar
ShowSideBar/Hint: Show sidebar
TagManager/Caption: tag manager
TagManager/Hint: Open tag manager
+TestCaseImport/Caption: import tiddlers
+TestCaseImport/Hint: Import tiddlers
Timestamp/Caption: timestamps
Timestamp/Hint: Choose whether modifications update timestamps
Timestamp/On/Caption: timestamps are on
diff --git a/core/modules/saver-handler.js b/core/modules/saver-handler.js
index 119c3e67a..23056bcc2 100644
--- a/core/modules/saver-handler.js
+++ b/core/modules/saver-handler.js
@@ -95,6 +95,7 @@ function SaverHandler(options) {
if($tw.browser) {
$tw.rootWidget.addEventListener("tm-save-wiki",function(event) {
self.saveWiki({
+ wiki: event.widget.wiki,
template: event.param,
downloadType: "text/plain",
variables: event.paramObject
@@ -102,6 +103,7 @@ function SaverHandler(options) {
});
$tw.rootWidget.addEventListener("tm-download-file",function(event) {
self.saveWiki({
+ wiki: event.widget.wiki,
method: "download",
template: event.param,
downloadType: "text/plain",
@@ -147,20 +149,22 @@ Save the wiki contents. Options are:
method: "save", "autosave" or "download"
template: the tiddler containing the template to save
downloadType: the content type for the saved file
+ wiki: optional wiki, overriding the default wiki specified in the constructor
*/
SaverHandler.prototype.saveWiki = function(options) {
options = options || {};
var self = this,
+ wiki = options.wiki || this.wiki,
method = options.method || "save";
// Ignore autosave if disabled
- if(method === "autosave" && ($tw.config.disableAutoSave || this.wiki.getTiddlerText(this.titleAutoSave,"yes") !== "yes")) {
+ if(method === "autosave" && ($tw.config.disableAutoSave || wiki.getTiddlerText(this.titleAutoSave,"yes") !== "yes")) {
return false;
}
var variables = options.variables || {},
template = (options.template ||
- this.wiki.getTiddlerText("$:/config/SaveWikiButton/Template","$:/core/save/all")).trim(),
+ wiki.getTiddlerText("$:/config/SaveWikiButton/Template","$:/core/save/all")).trim(),
downloadType = options.downloadType || "text/plain",
- text = this.wiki.renderTiddler(downloadType,template,options),
+ text = wiki.renderTiddler(downloadType,template,options),
callback = function(err) {
if(err) {
alert($tw.language.getString("Error/WhileSaving") + ":\n\n" + err);
diff --git a/core/palettes/Vanilla.tid b/core/palettes/Vanilla.tid
index d2b765b02..067f32519 100644
--- a/core/palettes/Vanilla.tid
+++ b/core/palettes/Vanilla.tid
@@ -99,7 +99,7 @@ table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #ec6
tag-foreground: #ffffff
-testcase-accent-level-1: #84C5E6
+testcase-accent-level-1: #c1eaff
testcase-accent-level-2: #E3B740
testcase-accent-level-3: #5FD564
tiddler-background: <>
diff --git a/core/ui/TestCases/DefaultTemplate.tid b/core/ui/TestCases/DefaultTemplate.tid
index 3a68253e8..02d20ad80 100644
--- a/core/ui/TestCases/DefaultTemplate.tid
+++ b/core/ui/TestCases/DefaultTemplate.tid
@@ -27,6 +27,31 @@ title: $:/core/ui/testcases/DefaultTemplate
<%endif%>
<$view tiddler="Description" mode="inline"/>
$genesis>
+
+ <$button popup=`$(state)$-more`
+ tooltip={{$:/language/Buttons/More/Hint}}
+ aria-label={{$:/language/Buttons/More/Caption}}
+ class="tc-btn-invisible"
+ selectedClass="tc-selected"
+ >
+ {{$:/core/images/down-arrow}}
+ $button>
+ <$let
+ tv-config-toolbar-icons="yes"
+ tv-config-toolbar-text="yes"
+ tv-config-toolbar-class="tc-btn-invisible"
+ >
+ <$reveal state=`$(state)$-more` type="popup" position="belowleft" animate="yes">
+
diff --git a/core/ui/TestCases/DefaultTemplateSourceTabs.tid b/core/ui/TestCases/DefaultTemplateSourceTabs.tid
index 68c62c1f6..862a7f57a 100644
--- a/core/ui/TestCases/DefaultTemplateSourceTabs.tid
+++ b/core/ui/TestCases/DefaultTemplateSourceTabs.tid
@@ -19,6 +19,9 @@ title: $:/core/ui/testcases/DefaultTemplate/SourceTabs
$list>
<$edit class="tc-edit-texteditor" tiddler=<>/>
+
\end
<$transclude $variable="body" $mode="inline"/>
diff --git a/core/ui/TestCases/actions/Export.tid b/core/ui/TestCases/actions/Export.tid
new file mode 100644
index 000000000..0d5f976e5
--- /dev/null
+++ b/core/ui/TestCases/actions/Export.tid
@@ -0,0 +1,4 @@
+title: $:/core/ui/testcases/actions/Export
+tags: $:/tags/TestCase/Actions
+
+<$macrocall $name="exportButton" exportFilter="[all[tiddlers]sort[]] -[prefix[$:/state/]] -Description -Narrative -ExpectedResult -Output Output +[putfirst[]] -[has[plugin-type]]" lingoBase="$:/language/Buttons/ExportTiddlers/"/>
\ No newline at end of file
diff --git a/core/ui/TestCases/actions/Import.tid b/core/ui/TestCases/actions/Import.tid
new file mode 100644
index 000000000..2a90dc227
--- /dev/null
+++ b/core/ui/TestCases/actions/Import.tid
@@ -0,0 +1,11 @@
+title: $:/core/ui/testcases/actions/Import
+tags: $:/tags/TestCase/Actions
+
+\whitespace trim
+<$button tooltip={{$:/language/Buttons/TestCaseImport/Hint}} aria-label={{$:/language/Buttons/TestCaseImport/Caption}} class=<>>
+<$action-sendmessage $message="tm-import-tiddlers" $param=<>/>
+{{$:/core/images/permalink-button}}
+
+<$text text={{$:/language/Buttons/TestCaseImport/Caption}}/>
+
+$button>
diff --git a/core/wiki/config/OfficialPluginLibrary.tid b/core/wiki/config/OfficialPluginLibrary.tid
index ed4a78d6a..5592cd912 100644
--- a/core/wiki/config/OfficialPluginLibrary.tid
+++ b/core/wiki/config/OfficialPluginLibrary.tid
@@ -1,6 +1,6 @@
title: $:/config/OfficialPluginLibrary
tags: $:/tags/PluginLibrary
-url: https://tiddlywiki.com/library/v5.3.4/index.html
+url: https://tiddlywiki.com/library/v5.3.5/index.html
caption: {{$:/language/OfficialPluginLibrary}}
{{$:/language/OfficialPluginLibrary/Hint}}
diff --git a/core/wiki/tags/TestCaseActions.tid b/core/wiki/tags/TestCaseActions.tid
new file mode 100644
index 000000000..79b2780dd
--- /dev/null
+++ b/core/wiki/tags/TestCaseActions.tid
@@ -0,0 +1,2 @@
+title: $:/tags/TestCase/Actions
+list:
diff --git a/editions/prerelease/tiddlers/Release 5.3.5.tid b/editions/prerelease/tiddlers/Release 5.3.5.tid
new file mode 100644
index 000000000..a2e4f9585
--- /dev/null
+++ b/editions/prerelease/tiddlers/Release 5.3.5.tid
@@ -0,0 +1,64 @@
+caption: 5.3.5
+created: 20240627165523990
+modified: 20240627165523990
+tags: ReleaseNotes
+title: Release 5.3.5
+type: text/vnd.tiddlywiki
+description: Under development
+
+//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.4...master]]//
+
+! Major Improvements
+
+! Translation improvements
+
+This release also includes improvements to the following translations:
+
+*
+
+! Plugin Improvements
+
+*
+
+! Widget Improvements
+
+*
+
+! Filter Improvements
+
+*
+
+! Usability Improvements
+
+*
+
+! Hackability Improvements
+
+*
+
+! Bug Fixes
+
+*
+
+! Node.js Improvements
+
+*
+
+! Performance Improvements
+
+*
+
+! Developer Improvements
+
+*
+
+! Infrastructure Improvements
+
+*
+
+! Acknowledgements
+
+[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
+
+<<.contributors """
+""">>
diff --git a/editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid b/editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid
index 9f3972203..77a45a51e 100644
--- a/editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid
+++ b/editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid
@@ -1,6 +1,6 @@
title: $:/config/LocalPluginLibrary
tags: $:/tags/PluginLibrary
-url: http://127.0.0.1:8080/prerelease/library/v5.3.2/index.html
+url: http://127.0.0.1:8080/prerelease/library/v5.3.5/index.html
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease Local)
A locally installed version of the official ~TiddlyWiki plugin library at tiddlywiki.com for testing and debugging. //Requires a local web server to share the library//
diff --git a/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid b/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid
index 07b5ab48a..9e9512ea1 100644
--- a/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid
+++ b/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid
@@ -1,6 +1,6 @@
title: $:/config/OfficialPluginLibrary
tags: $:/tags/PluginLibrary
-url: https://tiddlywiki.com/prerelease/library/v5.3.4/index.html
+url: https://tiddlywiki.com/prerelease/library/v5.3.5/index.html
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease)
The prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.
diff --git a/editions/tw5.com/tiddlers/customising/Alternative page layouts.tid b/editions/tw5.com/tiddlers/customising/Alternative page layouts.tid
index 09f7009fd..071d00dbd 100644
--- a/editions/tw5.com/tiddlers/customising/Alternative page layouts.tid
+++ b/editions/tw5.com/tiddlers/customising/Alternative page layouts.tid
@@ -1,5 +1,5 @@
created: 20201123172925848
-modified: 20230803052005116
+modified: 20240627060629394
tags: [[Customise TiddlyWiki]]
title: Alternative page layouts
type: text/vnd.tiddlywiki
@@ -8,8 +8,39 @@ type: text/vnd.tiddlywiki
! Creating an alternative page layout
-Creating an alternative layout goes beyond [[adding or removing features|Customising TiddlyWiki's user interface]] from the default interface and allows you to create an entirely new layout from scratch.
+Creating an alternative layout goes beyond [[adding or removing features|Customising TiddlyWiki's user interface]] from the default interface, which also known as [[standard layout|$:/core/ui/PageTemplate]], and allows you to create an entirely new layout from scratch.
To create an alternative page layout and have the ability to switch to it, you need to create an alternative page template tiddler with the [[SystemTag: $:/tags/Layout]].
-This alternative page template can either be a tweaked and modified version of the [[default page template|$:/core/ui/PageTemplate]], or something entirely different. The layout switching mechanism requires that your page template tiddler has the fields `name` and `description`, which are used in the listing in the switching user interface.
\ No newline at end of file
+This alternative page template can either be a tweaked and modified version of the [[default page template|$:/core/ui/PageTemplate]], or something entirely different. The layout switching mechanism requires that your page template tiddler has the fields `name` and `description`, which are used in the listing in the switching user interface.
+
+!! Common layout setup
+
+```tid
+\whitespace trim
+\import [subfilter{$:/core/config/GlobalImportFilter}]
+\define containerClasses()
+tc-page-container tc-language-$(languageTitle)$ your-plugin-name-container
+\end
+\procedure redirected-navigate-actions()
+ <$action-setfield $tiddler="$:/layout" text="" $timestamp="no">
+ <$action-navigate $to=<> $scroll="yes" />
+ $action-setfield>
+\end
+
+<$navigator story="$:/StoryList" history="$:/HistoryList" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>
+ <$messagecatcher $tm-navigate=<>>
+ {{$:/core/ui/CommandPaletteTemplate}}
+
>>
+
+
+ $messagecatcher>
+$navigator>
+```
+
+It includes
+
+# Import macros that is globally available in standard layout, so wikitext that works on standard layout also works on your layout.
+# Define the top-level css class, some style may depends on them. You can add your plugin's name in css class here.
+# Handle navigation when click on links. If your layout does not contains a story view (for example, you are writing a calendar or whiteboard layout), then the combination of `redirected-navigate-actions` `$navigator` and `$messagecatcher` will redirect user back to standard layout, and open the tiddler there.
+# Add some [[PageTemplate|$:/tags/PageTemplate]] back, for example the `$:/core/ui/CommandPaletteTemplate` or `$:/core/ui/PageTemplate/sidebar`, if you want them exist on your layout.
diff --git a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid
index 956deec8c..e30329bd0 100644
--- a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid
+++ b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid
@@ -1,6 +1,6 @@
created: 20130822170200000
list: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]]
-modified: 20231223102201587
+modified: 20240627165458407
tags: TableOfContents
title: HelloThere
type: text/vnd.tiddlywiki
diff --git a/editions/tw5.com/tiddlers/images/New Release Banner.png b/editions/tw5.com/tiddlers/images/New Release Banner.png
index 6577e8923..abb460324 100644
Binary files a/editions/tw5.com/tiddlers/images/New Release Banner.png and b/editions/tw5.com/tiddlers/images/New Release Banner.png differ
diff --git a/editions/prerelease/tiddlers/Release 5.3.4.tid b/editions/tw5.com/tiddlers/releasenotes/Release 5.3.4.tid
similarity index 93%
rename from editions/prerelease/tiddlers/Release 5.3.4.tid
rename to editions/tw5.com/tiddlers/releasenotes/Release 5.3.4.tid
index f30fb44a8..3048f1501 100644
--- a/editions/prerelease/tiddlers/Release 5.3.4.tid
+++ b/editions/tw5.com/tiddlers/releasenotes/Release 5.3.4.tid
@@ -1,12 +1,19 @@
caption: 5.3.4
-created: 20240529100240232
-modified: 20240529100240232
+created: 20240627165458407
+modified: 20240627165458407
+released: 20240627165458407
tags: ReleaseNotes
title: Release 5.3.4
type: text/vnd.tiddlywiki
description: Under development
-//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.3...master]]//
+//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.3...v5.3.4]]//
+
+<<.banner-credits
+ credit:"""Congratulations to [[duarte.framos|https://talk.tiddlywiki.org/u/duarte.framos]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-4/9940]]).
+"""
+ url:"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/05792a9de331dc31b5016c2029a43977114eb018/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png"
+>>
! Major Improvements
@@ -14,7 +21,7 @@ description: Under development
<<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7734">> several new features that together allow interactive learning tours to be created and presented in TiddlyWiki.
-The demo TiddlyWiki interactive tour can be seen at https://tiddlywiki.com/prerelease/tour
+The demo TiddlyWiki interactive tour can be seen at https://tiddlywiki.com/tour
The new features include:
@@ -34,7 +41,7 @@ The Geospatial Plugin incorporates a number of third party libraries and online
* [[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/prerelease/plugins/tiddlywiki/geospatial/
+Try it out at https://tiddlywiki.com/plugins/tiddlywiki/geospatial/
!! <<.wlink TestCaseWidget>> Widget
@@ -48,7 +55,7 @@ Test cases can also specify the raw HTML of the expected result which causes the
<>
-The easiest way to use the <<.wlink TestCaseWidget>> is by creating TestCaseTiddlers using the new CompoundTiddlers format. There are also many test cases to view in the TiddlyWiki test edition at https://tiddlywiki.com/prerelease/test.html
+The easiest way to use the <<.wlink TestCaseWidget>> is by creating TestCaseTiddlers using the new CompoundTiddlers format. There are also many test cases to view in the TiddlyWiki test edition at https://tiddlywiki.com/test.html
! Translation improvements
@@ -120,20 +127,12 @@ This release also includes improvements to the following translations:
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/8237">> server header authentication when header is missing
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/8253">> ButtonWidget should refresh when "tooltip" attribute changes
-! Performance Improvements
-
-*
-
! Developer Improvements
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8195">> issue with fakedom TW_Node inheritence
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8099">> SJCL library creating variables in global scope
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8179">> `widget.getVariableInfo()` to always return a `params` property
-! Infrastructure Improvements
-
-*
-
! Acknowledgements
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
diff --git a/editions/tw5.com/tiddlers/system/wikitext-macros.tid b/editions/tw5.com/tiddlers/system/wikitext-macros.tid
index c09b0d8fe..9746af1ae 100644
--- a/editions/tw5.com/tiddlers/system/wikitext-macros.tid
+++ b/editions/tw5.com/tiddlers/system/wikitext-macros.tid
@@ -75,7 +75,7 @@ type: text/vnd.tiddlywiki
<>
<$codeblock code=<>/>
-
<>
+
<$transclude $variable="code" $mode="block"/>
\end
diff --git a/editions/tw5.com/tiddlers/testcases/TestCaseWidget/FailingTest.tid b/editions/tw5.com/tiddlers/testcases/TestCaseWidget/FailingTest.tid
index 5524a9852..bad3e1395 100644
--- a/editions/tw5.com/tiddlers/testcases/TestCaseWidget/FailingTest.tid
+++ b/editions/tw5.com/tiddlers/testcases/TestCaseWidget/FailingTest.tid
@@ -5,7 +5,7 @@ description: An example of a failing test
title: Narrative
-This test case intentionally fails (in order to show how failures are displayed)
+This test case intentionally fails (in order to show how failures are displayed). The expected result is set to <$text text={{ExpectedResult}}/>, but the result computes to <$wikify name="html" text={{Output}} mode="block" output="html"><$text text=<>/>$wikify>
+
title: Output
diff --git a/editions/tw5.com/tiddlers/widgets/TestCaseWidget.tid b/editions/tw5.com/tiddlers/widgets/TestCaseWidget.tid
index 608a964d6..2ac2ee487 100644
--- a/editions/tw5.com/tiddlers/widgets/TestCaseWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/TestCaseWidget.tid
@@ -23,6 +23,11 @@ Notice also that clicking on links within the output pane will switch to the tab
The text of the payload tiddlers listed on the left are editable, with the results being immediately reflected in the preview pane on the right. However, if the <<.wid testcase>> widget is refreshed then the modifications are lost.
+There is a dropdown menu at the top right of the menu that has two options:
+
+* Export the payload tiddlers to a file in the usual export formats
+* Import the payload tiddlers into the host wiki. This option loads the payload tiddlers into the $:/Import tiddler so that they can be renamed and/or individually selected
+
The green tick at the top left of a test case indicates that a test has been set up and that it passes.
If the test fails, a red cross is shown, and there is a display of the differences between the actual results and the expected results:
@@ -72,6 +77,7 @@ The test case wiki will inherit variables that are visible to the <<.wid testcas
|!Variable |!Description |
|<<.var linkTarget>> |Causes the test case description to be rendered as a link to the current tiddler |
|<<.var displayFormat>> |Defaults to "wikitext", can also be "plaintext" to force plain text display |
+|<<.var testcaseTiddler>> |Title of the tiddler to be used as a link target for the testcase description |
A custom template can be specified for special purposes. For example, the provided template $:/core/ui/testcases/RawJSONTemplate just displays the payload tiddlers in JSON, which can be used for debugging purposes.
diff --git a/languages/de-DE/Buttons.multids b/languages/de-DE/Buttons.multids
index 9749aa8f2..050897b22 100644
--- a/languages/de-DE/Buttons.multids
+++ b/languages/de-DE/Buttons.multids
@@ -104,6 +104,8 @@ ShowSideBar/Caption: Sidebar einblenden
ShowSideBar/Hint: Sidebar einblenden
TagManager/Caption: Tag-Manager
TagManager/Hint: Öffne den Tag-Manager
+TestCaseImport/Caption: importiere Tiddler
+TestCaseImport/Hint: Importiere im Test enthaltene Tiddler
Timestamp/Caption: Zeitstempel
Timestamp/Hint: Einstellung, ob Änderungen den Zeitstempel beeinflussen
Timestamp/On/Caption: Zeitstempel EIN
diff --git a/languages/zh-Hans/Buttons.multids b/languages/zh-Hans/Buttons.multids
index c56e41ffe..3fa13f740 100644
--- a/languages/zh-Hans/Buttons.multids
+++ b/languages/zh-Hans/Buttons.multids
@@ -104,6 +104,8 @@ ShowSideBar/Caption: 显示侧边栏
ShowSideBar/Hint: 显示侧边栏
TagManager/Caption: 标签管理
TagManager/Hint: 标签管理
+TestCaseImport/Caption: 导入条目
+TestCaseImport/Hint: 导入条目
Timestamp/Caption: 时间戳
Timestamp/Hint: 选择修改是否更新时间戳
Timestamp/On/Caption: 时间戳开启
diff --git a/languages/zh-Hant/Buttons.multids b/languages/zh-Hant/Buttons.multids
index 75514b6da..b45b88f79 100644
--- a/languages/zh-Hant/Buttons.multids
+++ b/languages/zh-Hant/Buttons.multids
@@ -104,6 +104,8 @@ ShowSideBar/Caption: 顯示側邊欄
ShowSideBar/Hint: 顯示側邊欄
TagManager/Caption: 標籤管理
TagManager/Hint: 標籤管理
+TestCaseImport/Caption: 導入條目
+TestCaseImport/Hint: 導入條目
Timestamp/Caption: 時間戳記
Timestamp/Hint: 選擇修改是否更新時間戳記
Timestamp/On/Caption: 時間戳記開啟
diff --git a/package.json b/package.json
index fa64bd747..74807c304 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "tiddlywiki",
"preferGlobal": "true",
- "version": "5.3.4-prerelease",
+ "version": "5.3.5-prerelease",
"author": "Jeremy Ruston ",
"description": "a non-linear personal web notebook",
"contributors": [
diff --git a/readme.md b/readme.md
index 42cc8fb97..166a8f1f7 100644
--- a/readme.md
+++ b/readme.md
@@ -1,11 +1,7 @@
-
TiddlyWiki MultiWikiServer
UNDER DEVELOPMENT
This is a branch of TiddlyWiki that adds the MultiWikiServer plugin.
Readme
This plugin extends the TiddlyWiki 5 server running on Node.js to be able to host multiple wikis that can share content or be independent.
Note that changes are written to the topmost bag in a recipe.
Note that until syncing is improved it is necessary to use "Get latest changes from the server" to speed up propogation of changes.
To run the tests:
./bin/test.sh
Docs
HTTP API
The MultiWikiServer HTTP API provides access to resources hosted by the MWS store. It is based on the API of TiddlyWeb, first developed in 2008 by Chris Dent.
The design goals of the API are:
To follow the principles of REST where practical
To present resources as nouns, not verbs
General points about the design:
In MWS there are no resources that end with / (except for the root path which is /)
Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.
TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.
Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.
TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.
The new official forum for talking about TiddlyWiki: requests for help, announcements of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.
Note that talk.tiddlywiki.org is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.
For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):