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 @@ -

Contributing to TiddlyWiki5

Here we focus on contributions via GitHub Pull Requests but there are many other ways that anyone can help the TiddlyWiki project, such as reporting bugs or helping to improve our documentation.

Rules for Pull Requests

PRs must meet these minimum requirements before they can be considered for merging:

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:

These a poorly worded PR titles:

PR titles may also include a short prefix to indicate the subsystem to which they apply. For example:

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:

praisePraises 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
nitpickNitpicks are small, trivial, but necessary changes. Distinguishing nitpick comments significantly helps direct the reader's attention to comments requiring more involvement
suggestionSuggestions 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
issueIssues represent user-facing problems. If possible, it's great to follow this kind of comment with a suggestion
questionQuestions 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
thoughtThoughts 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
choreChores 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).

How to sign the CLA

Create a GitHub pull request to add your name to cla-individual.md or cla-entity.md, with the date in the format (YYYY/MM/DD).

step by step

  1. Navigate to licenses/CLA-individual or licenses/CLA-entity according to whether you are signing as an individual or representative of an organisation
  2. Ensure that the "branch" dropdown at the top left is set to tiddlywiki-com
  3. Click the "edit" button at the top-right corner (clicking this button will fork the project so you can edit the file)
  4. Add your name at the bottom
  5. Below the edit box for the CLA text you should see a box labelled Propose file change
  6. Enter a brief title to explain the change (eg, "Signing the CLA")
  7. Click the green button labelled Propose file change
  8. 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". +

Contributing to TiddlyWiki5

Here we focus on contributions via GitHub Pull Requests but there are many other ways that anyone can help the TiddlyWiki project, such as reporting bugs or helping to improve our documentation.

Rules for Pull Requests

PRs must meet these minimum requirements before they can be considered for merging:

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:

These a poorly worded PR titles:

PR titles may also include a short prefix to indicate the subsystem to which they apply. For example:

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:

praisePraises 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
nitpickNitpicks are small, trivial, but necessary changes. Distinguishing nitpick comments significantly helps direct the reader's attention to comments requiring more involvement
suggestionSuggestions 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
issueIssues represent user-facing problems. If possible, it's great to follow this kind of comment with a suggestion
questionQuestions 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
thoughtThoughts 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
choreChores 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).

How to sign the CLA

Create a GitHub pull request to add your name to cla-individual.md or cla-entity.md, with the date in the format (YYYY/MM/DD).

step by step

  1. Navigate to licenses/CLA-individual or licenses/CLA-entity according to whether you are signing as an individual or representative of an organisation
  2. Ensure that the "branch" dropdown at the top left is set to tiddlywiki-com
  3. Click the "edit" button at the top-right corner (clicking this button will fork the project so you can edit the file)
  4. Add your name at the bottom
  5. Below the edit box for the CLA text you should see a box labelled Propose file change
  6. Enter a brief title to explain the change (eg, "Signing the CLA")
  7. Click the green button labelled Propose file change
  8. 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"/> + + <$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}} + + <$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"> +
+ <$list filter="[all[shadows+tiddlers]tag[$:/tags/TestCase/Actions]!has[draft.of]]" + variable="listItem" + > + <$transclude tiddler=<> mode="inline"/> + +
+ + +
<%if [[Narrative]is[tiddler]] %> @@ -46,7 +71,7 @@ title: $:/core/ui/testcases/DefaultTemplate <%endif%>
- <$macrocall $name="tabs" tabsList="[all[tiddlers]sort[]] -[prefix] -Description -Narrative -ExpectedResult -Output Output +[putfirst[]] -[has[plugin-type]]" state=<> default="Output" template="$:/core/ui/testcases/DefaultTemplate/SourceTabs"/> + <$macrocall $name="tabs" tabsList="[all[tiddlers]sort[]] -[prefix] -Description -Narrative -Output Output +[putfirst[]] -[has[plugin-type]]" state=<> default="Output" template="$:/core/ui/testcases/DefaultTemplate/SourceTabs"/>
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 <$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}}/> + + 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" /> + +\end + +<$navigator story="$:/StoryList" history="$:/HistoryList" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}> + <$messagecatcher $tm-navigate=<>> + {{$:/core/ui/CommandPaletteTemplate}} +
>> + +
+ + +``` + +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=<>/> + 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.

Installation

git clone https://github.com/Jermolene/TiddlyWiki5.git --branch multi-wiki-support
-
-cd TiddlyWiki5
-
-npm install

To start the server:

npm start

The npm start command is a shortcut for the following command:

node ./tiddlywiki.js ./editions/multiwikiserver --mws-listen

Then visit the administration interface in a browser:

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.

Learn more and see it in action at https://tiddlywiki.com/

Developer documentation is in progress at https://tiddlywiki.com/dev/

Join the Community

+

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

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

Learn more and see it in action at https://tiddlywiki.com/

Developer documentation is in progress at https://tiddlywiki.com/dev/

Join the Community

Official Forums

The new official forum for talking about TiddlyWiki: requests for help, announcements of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.

https://talk.tiddlywiki.org/

Note that talk.tiddlywiki.org is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.

For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):

https://groups.google.com/group/TiddlyWiki

Developer Forums

There are several resources for developers to learn more about TiddlyWiki and to discuss and contribute to its development.

Other Forums

Documentation

There is also a discussion group specifically for discussing TiddlyWiki documentation improvement initiatives: https://groups.google.com/group/tiddlywikidocs

-

Installing TiddlyWiki on Node.js

  1. Install Node.js
    • Linux:
      Debian/Ubuntu:
      apt install nodejs
      May need to be followed up by:
      apt install npm
      Arch Linux
      yay -S tiddlywiki
      (installs node and tiddlywiki)
    • Mac
      brew install node
    • Android
    • Other
  2. Open a command line terminal and type:
    npm install -g tiddlywiki
    If it fails with an error you may need to re-run the command as an administrator:
    sudo npm install -g tiddlywiki (Mac/Linux)
  3. Ensure TiddlyWiki is installed by typing:
    tiddlywiki --version
    • In response, you should see TiddlyWiki report its current version (eg "5.3.4-prerelease". You may also see other debugging information reported.)
  4. Try it out:
    1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
    2. tiddlywiki mynewwiki --listen to start TiddlyWiki
    3. Visit http://127.0.0.1:8080/ in your browser
    4. Try editing and creating tiddlers
  5. Optionally, make an offline copy:
    • click the +

      Installing TiddlyWiki on Node.js

      1. Install Node.js
        • Linux:
          Debian/Ubuntu:
          apt install nodejs
          May need to be followed up by:
          apt install npm
          Arch Linux
          yay -S tiddlywiki
          (installs node and tiddlywiki)
        • Mac
          brew install node
        • Android
        • Other
      2. Open a command line terminal and type:
        npm install -g tiddlywiki
        If it fails with an error you may need to re-run the command as an administrator:
        sudo npm install -g tiddlywiki (Mac/Linux)
      3. Ensure TiddlyWiki is installed by typing:
        tiddlywiki --version
        • In response, you should see TiddlyWiki report its current version (eg "5.3.4". You may also see other debugging information reported.)
      4. Try it out:
        1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
        2. tiddlywiki mynewwiki --listen to start TiddlyWiki
        3. Visit http://127.0.0.1:8080/ in your browser
        4. Try editing and creating tiddlers
      5. Optionally, make an offline copy:
        • click the diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index b1000539c..ca8d40aa7 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -3264,11 +3264,6 @@ span.tc-translink > a:first-child { border-radius: 6px; } -.tc-tiddler-frame .tc-test-case-wrapper { - margin-left: -0.5em; - margin-right: -0.5em; -} - .tc-test-case-wrapper { background-color: <>; } @@ -3297,7 +3292,7 @@ span.tc-translink > a:first-child { display: inline-block; line-height: 0; border-radius: 1em; - vertical-align: bottom; + vertical-align: text-bottom; margin-right: 0.25em; } @@ -3314,6 +3309,12 @@ span.tc-translink > a:first-child { height: 0.5em; } +.tc-test-case-header > h2 { + background: <>; + border-radius: 4px; + padding: 0.25em; +} + .tc-test-case-header > h2, .tc-test-case-source > pre { margin: 0; @@ -3323,6 +3324,18 @@ span.tc-translink > a:first-child { font-style: normal; } +.tc-test-case-toolbar { + float: right; +} + +.tc-test-case-toolbar svg { + fill: <>; +} + +.tc-test-case-toolbar .tc-drop-down { + font-size: 0.8em; +} + .tc-test-case-result-fail { border: 1px solid <>; background-color: <>; @@ -3366,10 +3379,14 @@ span.tc-translink > a:first-child { } .tc-test-case-source .tc-tab-content { - background: <>; + background: inherit; margin: 0; } +.tc-test-case-source .tc-tab-content .tc-field-table { + background: <>; +} + .tc-test-case-source .tc-field-table { width: 100%; } @@ -3390,11 +3407,16 @@ span.tc-translink > a:first-child { padding-top: 0; } +.tc-test-case-footer-toolbar { + display: flex; + justify-content: flex-end; +} + .tc-test-case-output { box-shadow: inset 2px 2px 10px 0px <>; background: <>; border-radius: 4px; - border: 1px solid <>; + border: 1px solid <>; flex: 1 0 49%; min-width: 250px; padding: 0.25em 1em;