The jump in version number is because the new parameterised transclusion and related features in this release are the culmination of thinking and experimenting that began around 7 years ago. These are far reaching improvements that allow authors to write clearer, more concise wikitext that is more powerful than ever before. They also fix some of the mistakes in the original design of TiddlyWiki 5. The real challenge has been to deliver these improvements without compromising on our commitment to backwards compatibility.
At its simplest, parameterised transclusion is the ability to pass parameters in a transclusion, separating them with a single vertical bar:
{{MyUtility|red|22px}}
Those parameters can be accessed within the tiddler “MyUtility” with the following declaration:
\parameters (colour:"green",size: "20px")
...
The work to implement parameterised transclusion also provides some other significant features:
Custom widgets in wikitext
Custom, parameterised named functions
Procedures – these are essentially what macros should have been; they work in exactly the same way except that parameters are exposed as simple variables (without the double underscores) and no textual substitution takes place
The major features of the new release are:
A new syntax for widget/html attributes that allows textual substitution of variable and filters
Support for sending HTTP requests, opening up exciting possibilities to call web APIs and load content dynamically
Updated Google Analytics plugin compatible with the new version
New :then[...] filter run prefix
New thisTiddler variable for transcluded tiddlers to access their own title
More improvements to the browser storage plugin, making it more flexible and robust
Many bug fixes
Finally, CamelCase linking is now turned off by default
You can upgrade your existing single file wikis here:
For Node.js users, the new version is available on npm at tiddlywiki - npm
As usual, please exercise caution when upgrading, and take care to keep backup copies of everything important.
My thanks to everyone who contributed to this release, from code contributions to feedback. We’re phenomenally lucky to have so many people willing to help, and it is much appreciated.
Any questions or comments are welcome here, or via GitHub.
Boy, oh, boy - this is just so exciting, my summer will be totally wrecked and the relationship with my fiancée will end up like all the previous ones
A huge thank you to Jeremy and everyone who has spent time, ideas, effort, discussion, hacking and just overall helped out. TiddlyWiki is truly incredible thanks to you!
Thanks @jeremyruston et al, this certainly is a “step change” to TiddlyWiki deserving of the 5.3.x version change. I too have being involved for some time in this and speaking from a super user perspective, rather than a developer, some of the changes will take time for people to come to terms with, but critically, with the backwards compatibility approach there is no rush to learn about these substantial changes, but still value in upgrading your wikis.
I plan to do a post, a more verbose discussion of the changes, on my own view of many of the changes to inspire a broader audience to make use of these advances.
And welcome support or critisisum
I urge community members to post as well on new features they value and thus help others come to terms with the changes.
I would also ask people to consider contributing to the documentation at tiddlywiki.com to help in its adoption. If you struggle with something then come to understand it, regardless of your expertise level you are qualified to contribute improved documentation.
Impressive set of new features @jeremyruston and the team! Even more impressive is the way you have been able to weave these powerful new mechanisms into the core without disrupting the existing tools for power users.
Lastly, it takes quite a bit of humility to acknowledge that these new features intend to address shortcomings of previous designs.
Procedures, which are essentially what macros should have been; […]
I look forward to getting myself acquainted with the new set of capabilities!
Congratulations!
This is super cool! Just rewrote a wiki to take advantage of parameterized transclusion, just to get to know this stuff.
Does anyone know if there’s any way to put a 5.3.0 version wiki up on tiddlyhost, or will we need to wait till tiddlyhost updates its available wikis to take advantage of it?
Oh great! I had been looking around for a place to upload a wiki and could not find it, but I just found it – in the three-dots menu at the far right on the wiki list is an “upload” option. Just tried it and it works great. Thank you!
From the documentation plus this example, it looks as though {{TheText||TheCSS}} in a third tiddler should show the text of TheText but with the CSS (green, 20px). And {{TheText||TheCSS|red|80px}} should show the text of The Text but in red, 80px.
I tried this and nothing changed in the text of either. And I don’t see anything like this in the documentation. Can someone elaborate how I am misunderstanding this?
Thanks Mario, I found it and installed it (had to use the node.js way, put "tiddlywiki/googleanalytics", in tiddlywiki.info). However, I put in my Google Analytics ID in the settings part of the plugin (usage says there are two options to be set but I can see only one) and GA does not see the tag when scanning it manually from GA.
The TW is hosted via docker/node.js - anyone knows if that makes a difference? I tried with a blank test tiddlywiki on tiddlyhost.com, which also did not work as expected.
Are there any pitfalls that I could somehow avoid and get GA to run as intended?
“Transclude Tiddler B, with these parameters, into Tiddler A”
than
“create a list widget context in tiddler A, which the current tiddler of the list template (A1) has the content I want inserted into the transcluded tiddler B, then transclude A1 in place but pipe it through B as a template tiddler” (or something like that) which is what I have usually been doing instead.