diff --git a/bin/build-site.sh b/bin/build-site.sh index f1fe649e7..799cfbed3 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.6 + TW5_BUILD_VERSION=v5.3.7 fi echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]" diff --git a/core/wiki/config/OfficialPluginLibrary.tid b/core/wiki/config/OfficialPluginLibrary.tid index fc11b6140..88fd39abe 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.6/index.html +url: https://tiddlywiki.com/library/v5.3.7/index.html caption: {{$:/language/OfficialPluginLibrary}} {{$:/language/OfficialPluginLibrary/Hint}} diff --git a/editions/prerelease/tiddlers/Release 5.3.7.tid b/editions/prerelease/tiddlers/Release 5.3.7.tid new file mode 100644 index 000000000..294399a7b --- /dev/null +++ b/editions/prerelease/tiddlers/Release 5.3.7.tid @@ -0,0 +1,54 @@ +caption: 5.3.7 +created: 20241115171024144 +modified: 20241115171024144 +tags: ReleaseNotes +title: Release 5.3.7 +type: text/vnd.tiddlywiki +description: Under development + +//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.6...master]]// + + +! Major Improvements + +! Translation improvements + +* + +! Plugin Improvements + + +! Widget Improvements + +* + +! Filter Improvements + +* + +! Usability Improvements + +* + +! Hackability Improvements + +* + +! Bug Fixes + +* + +! Node.js Improvements + +* + +! Developer 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 9c7a90f45..0ad81e302 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.6/index.html +url: http://127.0.0.1:8080/prerelease/library/v5.3.7/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 149770f59..2162c3b4b 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.6/index.html +url: https://tiddlywiki.com/prerelease/library/v5.3.7/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/prerelease/tiddlers/system/styles.tid b/editions/prerelease/tiddlers/system/styles.tid index 2f63c5a48..33424e4ae 100644 --- a/editions/prerelease/tiddlers/system/styles.tid +++ b/editions/prerelease/tiddlers/system/styles.tid @@ -4,14 +4,3 @@ type: text/vnd.tiddlywiki \rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock -.tc-scary-warning { - font-weight: bold; - padding: 0 1em; - margin-left: -1em; - margin-right: -1em; - color: #f22; - border-radius: 4px; - border: 3px solid transparent; - background: #ffd; - background: linear-gradient(#ffd, #ffd) padding-box, repeating-linear-gradient(-45deg, red 0, red 25%, transparent 0, transparent 50%) 0 / .6em .6em; -} \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/community/TiddlyWiki on the Web.tid b/editions/tw5.com/tiddlers/community/TiddlyWiki on the Web.tid index 9b7a1af30..9168c2f76 100644 --- a/editions/tw5.com/tiddlers/community/TiddlyWiki on the Web.tid +++ b/editions/tw5.com/tiddlers/community/TiddlyWiki on the Web.tid @@ -2,7 +2,7 @@ color: #808 created: 20241009150445080 icon: $:/core/images/link list: TalkTiddlyWiki [[TiddlyWiki on YouTube]] [[TiddlyWiki on Reddit]] [[TiddlyWiki on Discord]] [[TiddlyWiki on GitHub]] [[TiddlyWiki on Mastodon]] [[TiddlyWiki on Twitter]] [[TiddlyWiki on Gitter]] [[TiddlyWiki on Open Collective]] -modified: 20241009150453139 +modified: 20241115170824144 tags: Welcome title: TiddlyWiki on the Web type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/demonstrations/SampleAlert.tid b/editions/tw5.com/tiddlers/demonstrations/SampleAlert.tid new file mode 100644 index 000000000..cf632e46a --- /dev/null +++ b/editions/tw5.com/tiddlers/demonstrations/SampleAlert.tid @@ -0,0 +1,9 @@ +component: demo +created: 20160107230134172 +modified: 20160107230134172 +title: SampleAlert +type: text/vnd.tiddlywiki + +This is a demonstration alert. + +Note that the trashcan icon deletes the tiddler containing this alert. You can also remove it by opening the tiddler SampleAlert and editing it to remove the tag [[$:/tags/Alert]]. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/hellothere/Find Out More.tid b/editions/tw5.com/tiddlers/hellothere/Find Out More.tid index 1450243ee..21dd889b7 100644 --- a/editions/tw5.com/tiddlers/hellothere/Find Out More.tid +++ b/editions/tw5.com/tiddlers/hellothere/Find Out More.tid @@ -1,7 +1,7 @@ color: #880 created: 20241009150347613 icon: $:/core/images/help -modified: 20241009150430229 +modified: 20241115170824144 tags: Welcome title: Find Out More type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid index 6d1cb4be6..046938156 100644 --- a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +++ b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid @@ -1,7 +1,7 @@ created: 20130822170200000 icon: $:/core/icon 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: 20241009150333146 +modified: 20241115170824144 tags: Welcome title: HelloThere type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/hellothere/HelloThumbnail.tid b/editions/tw5.com/tiddlers/hellothere/HelloThumbnail.tid index 07eaaa05f..b72d039aa 100644 --- a/editions/tw5.com/tiddlers/hellothere/HelloThumbnail.tid +++ b/editions/tw5.com/tiddlers/hellothere/HelloThumbnail.tid @@ -1,5 +1,5 @@ created: 20150414070451144 -list: [[HelloThumbnail - Twenty Years of TiddlyWiki]] [[HelloThumbnail - Newsletter]] [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - TiddlyWikiLinks]] [[HelloThumbnail - Developers]] [[HelloThumbnail - Funding]] [[HelloThumbnail - Marketplace]] [[HelloThumbnail - Intertwingled Innovations]] +list: [[HelloThumbnail - Twenty Years of TiddlyWiki]] [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - TiddlyWiki Privacy]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - Newsletter]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - TiddlyWikiLinks]] [[HelloThumbnail - MultiWikiServer]] [[HelloThumbnail - Funding]] [[HelloThumbnail - Marketplace]] [[HelloThumbnail - Intertwingled Innovations]] modified: 20150414070948246 title: HelloThumbnail type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/hellothere/Testimonials and Reviews.tid b/editions/tw5.com/tiddlers/hellothere/Testimonials and Reviews.tid index 4ce3435e2..b3b176422 100644 --- a/editions/tw5.com/tiddlers/hellothere/Testimonials and Reviews.tid +++ b/editions/tw5.com/tiddlers/hellothere/Testimonials and Reviews.tid @@ -1,6 +1,6 @@ color: #088 icon: $:/core/images/star-filled -modified: 20241001141521924 +modified: 20241115170824144 tags: Welcome title: Testimonials and Reviews type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid b/editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid index 36f6ca64a..c3eb43dca 100644 --- a/editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid +++ b/editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid @@ -2,7 +2,7 @@ color: #cc9 created: 20241009163451663 icon: $:/core/images/tip list: GettingStarted [[Getting Started Video]] [[Find Out More]] [[TiddlyWiki on the Web]] [[Testimonials and Reviews]] -modified: 20241009163521037 +modified: 20241115170824144 tags: Welcome title: Quick Start type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - MultiWikiServer.tid b/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - MultiWikiServer.tid new file mode 100644 index 000000000..656e78b0c --- /dev/null +++ b/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - MultiWikiServer.tid @@ -0,0 +1,10 @@ +title: HelloThumbnail - MultiWikiServer +tags: HelloThumbnail +color: purple +background-color: #fff +caption: Coming Soon +link: MultiWikiServer +image: MWS Banner.png +ribbon-text: SOON + +Find out more about the new ~MultiWikiServer plugin that turns ~TiddlyWiki into a full-fledged server system supporting multiple user accounts and tiddler sharing \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Newsletter.tid b/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Newsletter.tid index be7cf98f8..24f4e9c28 100644 --- a/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Newsletter.tid +++ b/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Newsletter.tid @@ -4,6 +4,5 @@ caption: ~TiddlyWiki Newsletter link: TiddlyWiki Newsletter image: TiddlyWiki Newsletter Badge.png color: #fff -ribbon-text: NEW Subscribe to the ~TiddlyWiki Newsletter, a fortnightly summary of the most interesting and relevant news from the ~TiddlyWiki community diff --git a/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWiki Privacy.tid b/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWiki Privacy.tid new file mode 100644 index 000000000..e0f3e3c6d --- /dev/null +++ b/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWiki Privacy.tid @@ -0,0 +1,9 @@ +title: HelloThumbnail - TiddlyWiki Privacy +tags: HelloThumbnail +color: #D5B7EA +image: TiddlyWiki Privacy Badge.png +caption: Your Privacy and Security +link: TiddlyWiki Privacy and Security +ribbon-text: NEW + +With care, ~TiddlyWiki can be used totally privately, without needing to trust anything or anyone but your own device \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWikiLinks.tid b/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWikiLinks.tid index 221a3ae10..38da0ac3d 100644 --- a/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWikiLinks.tid +++ b/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWikiLinks.tid @@ -2,7 +2,7 @@ title: HelloThumbnail - TiddlyWikiLinks tags: HelloThumbnail color: #D5B7EA image: TiddlyWikiLinks -caption: links.tiddlywiki.org +caption: Community Links link: Community Links Aggregator Links to ~TiddlyWiki-related content collected by the community \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/images/MWS Banner.png b/editions/tw5.com/tiddlers/images/MWS Banner.png new file mode 100644 index 000000000..1e27e8f25 Binary files /dev/null and b/editions/tw5.com/tiddlers/images/MWS Banner.png differ diff --git a/editions/tw5.com/tiddlers/images/MWS Banner.png.meta b/editions/tw5.com/tiddlers/images/MWS Banner.png.meta new file mode 100644 index 000000000..12fc21072 --- /dev/null +++ b/editions/tw5.com/tiddlers/images/MWS Banner.png.meta @@ -0,0 +1,4 @@ +title: MWS Banner.png +type: image/png +tags: picture +alt-text: Banner for the new Multi Wiki Server plugin for TiddlyWiki diff --git a/editions/tw5.com/tiddlers/images/New Release Banner.png b/editions/tw5.com/tiddlers/images/New Release Banner.png index c2351b9e9..9cbf5e341 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/tw5.com/tiddlers/images/TiddlyWiki Privacy Badge.png b/editions/tw5.com/tiddlers/images/TiddlyWiki Privacy Badge.png new file mode 100644 index 000000000..bf081b1ab Binary files /dev/null and b/editions/tw5.com/tiddlers/images/TiddlyWiki Privacy Badge.png differ diff --git a/editions/tw5.com/tiddlers/images/TiddlyWiki Privacy Badge.png.meta b/editions/tw5.com/tiddlers/images/TiddlyWiki Privacy Badge.png.meta new file mode 100644 index 000000000..421876811 --- /dev/null +++ b/editions/tw5.com/tiddlers/images/TiddlyWiki Privacy Badge.png.meta @@ -0,0 +1,6 @@ +alt-text: Motovun Jack's laser eyes highlight TiddlyWiki's security badge +created: 20241106165307259 +modified: 20241106165307259 +tags: picture +title: TiddlyWiki Privacy Badge.png +type: image/png \ No newline at end of file diff --git a/editions/prerelease/tiddlers/Release 5.3.6.tid b/editions/tw5.com/tiddlers/releasenotes/Release 5.3.6.tid similarity index 95% rename from editions/prerelease/tiddlers/Release 5.3.6.tid rename to editions/tw5.com/tiddlers/releasenotes/Release 5.3.6.tid index 76ce020f0..b5b8413e6 100644 --- a/editions/prerelease/tiddlers/Release 5.3.6.tid +++ b/editions/tw5.com/tiddlers/releasenotes/Release 5.3.6.tid @@ -1,14 +1,19 @@ caption: 5.3.6 -created: 20240830144941926 -modified: 20240830144941926 +created: 20241115170824144 +modified: 20241115170824144 +released: 20241115170824144 tags: ReleaseNotes title: Release 5.3.6 type: text/vnd.tiddlywiki description: Under development -//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.5...master]]// +//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.5...v5.3.6]]// -! Major Improvements +<<.banner-credits + credit:"""Congratulations to [[pmario|https://talk.tiddlywiki.org/u/pmario]] 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-6]]). +""" + url:"https://raw.githubusercontent.com/TiddlyWiki/TiddlyWiki5/fdafdba1b07032f3d777bd3f782c4e62cfbf3731/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png" +>> ! Translation improvements @@ -30,6 +35,7 @@ This release includes improvements to the following translations: !! Geospatial Plugin * <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8404">> support for custom wikitext popups to be attached to map features +* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8740">> support for click actions to be attached to map features * <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8437">> ordering of latitude and longitude in geospatial operators * <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8484">> crash when geomap contains an empty geolayer widget * <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8511">> loading map state from saved tiddlers @@ -66,10 +72,6 @@ This release includes several fixes and improvements to the TestCaseWidget, its * <<.link-badge-updated "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8256">> DroppableWidget to allow actions to be triggered once passing all the items in the list rather than invoking the actions separately for each item in the list -! Filter Improvements - -* - ! Usability Improvements * <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8545">> new light and dark "Flexoki" palettes, originally designed by Steph Ango – see https://stephango.com/flexoki diff --git a/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Installation using Git.tid b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Installation using Git.tid new file mode 100644 index 000000000..a68730249 --- /dev/null +++ b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Installation using Git.tid @@ -0,0 +1,17 @@ +title: MWS: Installation using Git +tags: MultiWikiServer +modified: 20241105133737778 +created: 20241105133737778 + +These instructions require basic knowledge both of the terminal and of Git. There are also [[alternative instructions without using Git|MWS: Installation]]. + +# Clone the code from GitHub with: <<.copy-code-to-clipboard "git clone -b multi-wiki-support --single-branch https://github.com/TiddlyWiki/TiddlyWiki5">> +# Open a terminal window in the root of the downloaded folder +# Install the dependencies with the command: <<.copy-code-to-clipboard "npm install">> +# Start the server with the command: <<.copy-code-to-clipboard "npm start">> +# To use MWS, visit http://localhost:8080 in a browser on the same computer +# When you have finished using MWS, stop the server with ctrl-C + +To update your copy of MWS with newer changes from ~GitHub, run the following command: + +<<.copy-code-to-clipboard "git pull">> diff --git a/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Installation.tid b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Installation.tid new file mode 100644 index 000000000..092331e3d --- /dev/null +++ b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Installation.tid @@ -0,0 +1,15 @@ +title: MWS: Installation +tags: MultiWikiServer +modified: 20241105133737778 +created: 20241105133737778 + +These instructions require minimal knowledge of the terminal. There are also [[alternative instructions for those using Git|MWS: Installation using Git]]. + +# Download the code [[direct from GitHub|https://github.com/TiddlyWiki/TiddlyWiki5/archive/refs/pull/7915/head.zip]] +# Open a terminal window in the root of the downloaded folder +# Install the dependencies with the command: <<.copy-code-to-clipboard "npm install">> +# Start the server with the command: <<.copy-code-to-clipboard "npm start">> +# To use MWS, visit http://localhost:8080 in a browser on the same computer +# When you have finished using MWS, stop the server with ctrl-C + +To update your copy of MWS with newer changes will require re-downloading the code, taking care not to lose any changes you might have made. diff --git a/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Usage.tid b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Usage.tid new file mode 100644 index 000000000..a3b58ae78 --- /dev/null +++ b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MWS - Usage.tid @@ -0,0 +1,13 @@ +title: MWS: Usage +tags: MultiWikiServer +modified: 20241105133737778 +created: 20241105133737778 + +Once MWS is successfully [[installed|MWS: Installation]], you can access it by visiting http://localhost:8080 in a browser on the same computer. + +By default, MWS is installed with full anonymous access enabled, meaning that anyone with access to the server has full access to read and modify anything. However, also by default, the server is only accessible to browsers on the same machine. + +If you intend to put an MWS installation on a public network like the Internet, the server will need to be secured with the following steps: + +* Create and login with a new administrator account +* Disable anonymouse access diff --git a/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MultiWikiServer.tid b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MultiWikiServer.tid new file mode 100644 index 000000000..fd6681afe --- /dev/null +++ b/editions/tw5.com/tiddlers/roadmap/multiwikiserver/MultiWikiServer.tid @@ -0,0 +1,26 @@ +title: MultiWikiServer +tags: Definitions +modified: 20241105133737778 +created: 20241105133737778 + +! Introduction + +~MultiWikiServer is a new development that drastically improves ~TiddlyWiki's capabilities when running as server under Node.js. It brings ~TiddlyWiki up to par with common web-based tools like ~WordPress or ~MediaWiki by supporting multiple wikis and multiple users at the same time. + +Planned features include: + +* Hosting multiple wikis at once, using the [[Bags and Recipes]] mechanism for sharing data between them +* Robust authentication and authorisation options +* Improved handling of file uploads and attachments, allowing gigabyte video files to be uploaded and streamed +* 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 is currently [[under development at GitHub|https://github.com/TiddlyWiki/TiddlyWiki5/pull/7915]] but it is already functional and usable. + +! Installing MWS + +{{MWS: Installation}} + +! Using MWS + +{{MWS: Usage}} \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/saving/Encryption.tid b/editions/tw5.com/tiddlers/saving/Encryption.tid index 9b9ba4ee6..ccf8e5a83 100644 --- a/editions/tw5.com/tiddlers/saving/Encryption.tid +++ b/editions/tw5.com/tiddlers/saving/Encryption.tid @@ -1,10 +1,10 @@ created: 20130825160900000 -modified: 20160610083350724 +modified: 20241106165307259 tags: Features [[Working with TiddlyWiki]] title: Encryption type: text/vnd.tiddlywiki -When used as a single HTML file, TiddlyWiki5 allows content to be encrypted using the [[Stanford JavaScript Crypto Library]]. +When used as a single HTML file, TiddlyWiki5 allows content to be encrypted with AES 128 bit encryption in CCM mode using the [[Stanford JavaScript Crypto Library]]. # Switch to the ''Tools'' tab in the sidebar and look for the button with a padlock icon # If the button is labelled <<.icon $:/core/images/unlocked-padlock>> ''set password'' then the current wiki is not encrypted. Clicking the button will prompt for a password that will be used to encrypt subsequent saves diff --git a/editions/tw5.com/tiddlers/system/doc-macros.tid b/editions/tw5.com/tiddlers/system/doc-macros.tid index 199479fb8..19ae159ce 100644 --- a/editions/tw5.com/tiddlers/system/doc-macros.tid +++ b/editions/tw5.com/tiddlers/system/doc-macros.tid @@ -228,3 +228,11 @@ This is an example tiddler. See [[Table-of-Contents Macros (Examples)]]. \end + +\procedure .copy-code-to-clipboard(text) +
+<$transclude $variable="copy-to-clipboard-above-right" src=<>/> +<$codeblock code=<>/> +
+\end .copy-code-to-clipboard + diff --git a/editions/tw5.com/tiddlers/system/netlify-build-badge.tid b/editions/tw5.com/tiddlers/system/netlify-build-badge.tid new file mode 100644 index 000000000..b0cd272c0 --- /dev/null +++ b/editions/tw5.com/tiddlers/system/netlify-build-badge.tid @@ -0,0 +1,17 @@ +title: $:/_tw5.com/netlify-build-badge +tags: $:/tags/SideBarSegment +list-after: $:/core/ui/SideBarSegments/site-subtitle + +<% if [{$:/build}prefix[NETLIFY-BUILD]] %> +

+

+
+ Deploys by Netlify +
+
+ This is a preview build of the pull request #<$text text={{{ [{$:/build}split[|]nth[5]] }}}/> +
+
+

+<% endif %> + diff --git a/editions/tw5.com/tiddlers/system/tw5.com-styles.tid b/editions/tw5.com/tiddlers/system/tw5.com-styles.tid index ced42e64d..68944098d 100644 --- a/editions/tw5.com/tiddlers/system/tw5.com-styles.tid +++ b/editions/tw5.com/tiddlers/system/tw5.com-styles.tid @@ -133,3 +133,15 @@ type: text/vnd.tiddlywiki .tc-saving-sidebar-category { margin-bottom:10px; } .tc-saving-sidebar-category-title { margin-bottom:5px; font-weight:bold; } .tc-saving-sidebar-category-item { margin-left:10px; white-space:nowrap; } + +.tc-scary-warning { + font-weight: bold; + padding: 0 1em; + margin-left: -1em; + margin-right: -1em; + color: #f22; + border-radius: 4px; + border: 3px solid transparent; + background: #ffd; + background: linear-gradient(#ffd, #ffd) padding-box, repeating-linear-gradient(-45deg, red 0, red 25%, transparent 0, transparent 50%) 0 / .6em .6em; +} diff --git a/editions/tw5.com/tiddlers/workingwithtw/TiddlyWiki Privacy and Security.tid b/editions/tw5.com/tiddlers/workingwithtw/TiddlyWiki Privacy and Security.tid new file mode 100644 index 000000000..97fa2008a --- /dev/null +++ b/editions/tw5.com/tiddlers/workingwithtw/TiddlyWiki Privacy and Security.tid @@ -0,0 +1,48 @@ +title: TiddlyWiki Privacy and Security +created: 20241106165307259 +modified: 20241106165307259 + +[img width=200 [TiddlyWiki Privacy Badge.png]] +TiddlyWiki is unique in that ordinary people without special training can use it securely and privately. It is easy to apply the advice from the EFF to ~TiddlyWiki. The key is that ~TiddlyWiki is just a file, and so everything that users may have already learned about how to keep documents and images private can be applied to ~TiddlyWiki. + +Because data is stored in simple text files, people choosing to use ~TiddlyWiki today can be confident that their data will still be accessible in the decades to come. + +! Verifiable Trust + +An important aspect of ~TiddlyWiki's claims in the area of security and privacy is that these claims can be readily verified by anyone with basic technical skills. For example, the network monitoring tools built into browsers allow users to verify that ~TiddlyWiki doesn't send any data to other servers. Similarly anyone can open a ~TiddlyWiki HTML file in an editor and verify that their data is readily accessible. + +! Single File Configuration + +As a practical matter, using ~TiddlyWiki securely and privately in the single file configuration depends upon keeping that single file securely and privately. + +Users can employ the same tools that they use to keep any document and photograph secure. So, for many users, the simplest solution will be to use an existing file storage service such as Google Drive, Apple's iCloud, or Dropbox. Many users will already be relying on the privacy and security of these services. + +There are also open source alternatives such as [[Syncthing|https://syncthing.net/]] that allow users to synchronise files between their devices without using a third party service. + +Users may wish to use additional layers of security. ~TiddlyWiki in the single file configuration itself offers built-in encryption. It uses an industry standard encryption library to offer AES 128 bit encryption in CCM mode. All the data within the file is encrypted, and cannot be accessed without entering the correct password. The password is never stored in the file, and so if it is lost, the data is lost. Instructions can be found in [[Encryption]]. + +It is important to understand that ~TiddlyWiki's built in encryption is our best endeavour to offer privacy and usability. However, the encryption feature has not been subject to the kind of rigorous third party testing that characterises secure services like Signal or Syncthing. + +So, cautious users may wish to use ~TiddlyWiki's built in encryption as an extra layer of security, but should take care not to rely on it as one would rely on industry standard encryption solutions that have been rigorously tested in a variety of situations. + +! Node.js Configuration + +Using ~TiddlyWiki in the Node.js configuration requires more technical knowledge than the single file edition. There are several important areas with respect to security and privacy. + +Firstly, and most obviously, there is the matter of how user data is stored on disc as individual `.tid` files. Just as with the single file configuration, these are just ordinary files, and so can be used with third party tools that provide encryption. + +Secondly, consideration must be given to how data is transmitted across the network. By default, the Node.js configuration does not use SSL and so traffic can be observed by others (the impact is mitigated by the fact that by default only users on the same machine can connect to the server). While ~TiddlyWiki itself does offer the option of setting up an SSL connection it is generally advised to use an external proxy server to provide SSL services. nginx is popular for this purpose. + +! Community Tools + +There are also third party tools from the community that extend ~TiddlyWiki's built in encryption: + +* [["Encrypt single tiddler plugin" by Danielo Rodriguez]] allows individual tiddlers to be encrypted +* [[TW5-CSEncryption|https://wiki.fspark.me/TW5-CSEncryption/]] offers client-side encryption for ~TiddlyWiki on Node.js + +! Further Information + +If security and privacy are important to you then you need to take the best available advice, and the best place for that is specialist organisations that focus on this area. The Electronic Frontier Foundation in the US is well respected, and their advice would be a good place to start. It emphasises basics such as dealing with passwords and two factor authentication, but also explains more advanced topics such as making a security plan, and how to set up a device securely. + +https://ssd.eff.org/module-categories/basics + diff --git a/package.json b/package.json index dc2b7c496..ef67ee1ce 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tiddlywiki", "preferGlobal": "true", - "version": "5.3.6-prerelease", + "version": "5.3.7-prerelease", "author": "Jeremy Ruston ", "description": "a non-linear personal web notebook", "contributors": [ diff --git a/plugins/tiddlywiki/geospatial/docs/geolayer.tid b/plugins/tiddlywiki/geospatial/docs/geolayer.tid index 262aebb32..2ef34a9d4 100644 --- a/plugins/tiddlywiki/geospatial/docs/geolayer.tid +++ b/plugins/tiddlywiki/geospatial/docs/geolayer.tid @@ -16,7 +16,8 @@ The following attributes are supported: |''long'' |Optional longitude of marker if json attribute missing | |''alt'' |Optional altitude of marker if json attribute missing | |''draggable'' |Set to "yes" to make the marker draggable | -|''updateActions'' |Optional actions when the marker is dragged other otherwise modified. The variables ''lat'' and ''long'' contain the new coordinates of the marker | +|''updateActions'' |Optional actions when the marker is dragged other otherwise modified. The variables ''lat'', ''long'' and ''alt'' contain the new coordinates of the marker | +|''clickActions'' |<<.from-version "5.3.6">> Optional actions when the marker is clicked. The variable ''properties'' contains the JSON properties of the marker. The variables ''lat'', ''long'' and ''alt'' contain the coordinates of the marker | |''properties'' |<<.from-version "5.3.6">> Optional JSON properties to be attached to the marker (only supported for non-JSON layers) | |''popupTemplate'' |<<.from-version "5.3.6">> Optional template to be used for popups. The template is rendered with the variable ''feature'' containing the JSON text of the feature | diff --git a/plugins/tiddlywiki/geospatial/docs/geomap.tid b/plugins/tiddlywiki/geospatial/docs/geomap.tid index 37b7e869d..9e8b89126 100644 --- a/plugins/tiddlywiki/geospatial/docs/geomap.tid +++ b/plugins/tiddlywiki/geospatial/docs/geomap.tid @@ -101,6 +101,36 @@ If no base layers are defined by `<$geobaselayer>` widgets within the `<$geomap> <$data $tiddler="$:/plugins/tiddlywiki/geospatial"/> +<$testcase> +<$data + title="Description" + text="Map with geomarker with actions" +/> +<$data title="MarkerClickActions" text=""" + <$action-setfield $tiddler="$:/clicked-marker" text={{{ =[] =[] =[] =[] +[join[,]] }}}/> +"""/> +<$data title="Output" text="""Marker: <$text text={{$:/clicked-marker}}/> + +<$geomap + state=<> +> + <$list filter="[all[tiddlers+shadows]tag[$:/tags/GeoMarker]]"> + <$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}} properties={{{ [[{}]jsonset[title],] }}} clickActions={{MarkerClickActions}}/> + + +"""/> +<$data + title="Oxford" + tags="$:/tags/GeoMarker" + caption="Oxford" + lat="51.751944" + long="-1.257778" + alt="0" + text="""{{$:/core/images/star-filled}} This is Oxford!"""/> + properties={{{ [[{}]jsonset[title],[Oxford] }}}/> +<$data $tiddler="$:/plugins/tiddlywiki/geospatial"/> + + <$testcase> <$data title="Description" diff --git a/plugins/tiddlywiki/geospatial/templates/default-popup-template.tid b/plugins/tiddlywiki/geospatial/templates/default-popup-template.tid deleted file mode 100644 index 4540dd3f3..000000000 --- a/plugins/tiddlywiki/geospatial/templates/default-popup-template.tid +++ /dev/null @@ -1,3 +0,0 @@ -title: $:/plugins/tiddlywiki/geospatial/templates/default-popup-template - -Feature: <$text text={{{ [] }}}/> \ No newline at end of file diff --git a/plugins/tiddlywiki/geospatial/widgets/geomap.js b/plugins/tiddlywiki/geospatial/widgets/geomap.js index f1b693c14..f3cad0377 100644 --- a/plugins/tiddlywiki/geospatial/widgets/geomap.js +++ b/plugins/tiddlywiki/geospatial/widgets/geomap.js @@ -167,11 +167,12 @@ GeomapWidget.prototype.refreshMap = function() { }); this.map.addLayer(markers); // Process embedded geolayer widgets - var defaultPopupTemplateTitle = self.getAttribute("popupTemplate","$:/plugins/tiddlywiki/geospatial/templates/default-popup-template"); + var defaultPopupTemplateTitle = self.getAttribute("popupTemplate"); this.findChildrenDataWidgets(this.contentRoot.children,"geolayer",function(widget) { var jsonText = widget.getAttribute("json"), popupTemplateTitle = widget.getAttribute("popupTemplate",defaultPopupTemplateTitle), geoJson = []; + // Build up the geojson of the layer if(jsonText) { // Layer is defined by JSON blob geoJson = $tw.utils.parseJSONSafe(jsonText,[]); @@ -197,6 +198,7 @@ GeomapWidget.prototype.refreshMap = function() { geoJson.features[0].properties = $tw.utils.parseJSONSafe(properties); } } + // Create and add layer for the geojson var draggable = widget.getAttribute("draggable","no") === "yes", layer = $tw.Leaflet.geoJSON(geoJson,{ style: function(geoJsonFeature) { @@ -211,31 +213,46 @@ GeomapWidget.prototype.refreshMap = function() { var latlng = event.sourceTarget.getLatLng(); self.invokeActionString(widget.getAttribute("updateActions"),null,event,{ lat: latlng.lat, - long: latlng.lng + long: latlng.lng, + alt: latlng.alt }); }); return marker; }, onEachFeature: function(feature,layer) { - layer.bindPopup(function() { - var widget = self.wiki.makeTranscludeWidget(popupTemplateTitle, { - document: self.document, - parentWidget: self, - parseAsInline: false, - importPageMacros: true, - variables: { - feature: JSON.stringify(feature) - } + if(popupTemplateTitle) { + layer.bindPopup(function() { + var widget = self.wiki.makeTranscludeWidget(popupTemplateTitle, { + document: self.document, + parentWidget: self, + parseAsInline: false, + importPageMacros: true, + variables: { + feature: JSON.stringify(feature) + } + }); + var container = self.document.createElement("div"); + widget.render(container,null); + self.wiki.addEventListener("change",function(changes) { + widget.refresh(changes,container,null); + }); + return container; }); - var container = self.document.createElement("div"); - widget.render(container,null); - self.wiki.addEventListener("change",function(changes) { - widget.refresh(changes,container,null); + } + // Add event handlers + if(widget.hasAttribute("clickActions")) { + layer.on("click",function(event) { + self.invokeActionString(widget.getAttribute("clickActions"),null,event.originalEvent,{ + lat: event.latlng.lat, + long: event.latlng.lng, + alt: event.latlng.alt, + properties: JSON.stringify(feature.properties) + }); }); - return container; - }); + } } }).addTo(self.map); + // Create a name for this layer var name = widget.getAttribute("name") || ("Untitled " + untitledCount++); self.renderedLayers.push({name: name, layer: layer}); }); diff --git a/readme.md b/readme.md index a6619fd2f..dc105b05b 100644 --- a/readme.md +++ b/readme.md @@ -3,7 +3,7 @@

Google Groups

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

GitHub Stats

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

Twitter

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

TiddlyWiki is a SingleFileApplication, which is easy to use. For advanced users and developers there is a possibility to use a Node.js client / server configuration. This configuration is also used to build the TiddlyWiki SinglePageApplication

  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.6-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

      TiddlyWiki is a SingleFileApplication, which is easy to use. For advanced users and developers there is a possibility to use a Node.js client / server configuration. This configuration is also used to build the TiddlyWiki SinglePageApplication

      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.6". 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