mirror of
https://github.com/Jermolene/TiddlyWiki5.git
synced 2026-03-11 01:03:01 -07:00
* Initial commit
The idea is to extend the macro call syntax to accept dynamic parameter values (ie thing:{{more}} etc). Eventually, this will work in all the contexts in which the double angle bracket syntax is valid.
This initial commit gets the tests passing, but doesn't yet activate the new functionality.
* Test for standalone macro calls with dynamic parameters
* Parse attribute macros with the new parser
This fixes the tests
* Test for attribute macros
* Add some examples
* Tweak examples
* Fix test
* Temporarily disable a broken serializer test
* Fix/dynamic macro calls test (#9459)
* Revert "Temporarily disable a broken serializer test"
This reverts commit b3144300ee.
* restore synamic parameter parse result
* lint
* lint
* remove duplicate
* Update core/modules/parsers/parseutils.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update editions/test/tiddlers/tests/data/serialize/DynamicWidgetAttribute.tid
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update editions/test/tiddlers/tests/data/serialize/DynamicWidgetAttribute.tid
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: mixed qouted and unquoted
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix unneeded diff
* Minor docs update
* Genuflecting to the linter
* Remove debug logging
* Add change note
* Allow single closing square brackets within double square brackets quoted strings
* Only allow new style parameter values if the separator is an equals sign
* On reflection, new style values should not be allowed for anonymous parameters
Backwards compatibility
* Docs updates
* Docs updates
---------
Co-authored-by: lin onetwo <linonetwo012@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
27 lines
647 B
JavaScript
27 lines
647 B
JavaScript
/*\
|
|
title: $:/plugins/tiddlywiki/wikitext-serialize/rules/macrocallblock.js
|
|
type: application/javascript
|
|
module-type: wikiruleserializer
|
|
\*/
|
|
|
|
"use strict";
|
|
|
|
exports.name = "macrocallblock";
|
|
|
|
exports.serialize = function (node) {
|
|
var result = "<<";
|
|
// Macro name
|
|
if(node.attributes && node.attributes["$variable"]) {
|
|
result += node.attributes["$variable"].value;
|
|
}
|
|
// Append ordered arguments if any
|
|
if(node.orderedAttributes) {
|
|
node.orderedAttributes.forEach(function (attribute) {
|
|
if(attribute.name !== "$variable") {
|
|
result += " " + $tw.utils.serializeAttribute(attribute);
|
|
}
|
|
});
|
|
}
|
|
result += ">>\n\n";
|
|
return result;
|
|
};
|