From d44c7fd8df619c8dd9ad48bf399a915bb1ad6409 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Wed, 4 Oct 2023 18:08:45 +0100 Subject: [PATCH] Ensure {{}} doesn't generate a transclude widget with no attributes --- core/modules/parsers/wikiparser/rules/transcludeblock.js | 3 +++ core/modules/parsers/wikiparser/rules/transcludeinline.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/core/modules/parsers/wikiparser/rules/transcludeblock.js b/core/modules/parsers/wikiparser/rules/transcludeblock.js index c033c2440..d6dad6df3 100644 --- a/core/modules/parsers/wikiparser/rules/transcludeblock.js +++ b/core/modules/parsers/wikiparser/rules/transcludeblock.js @@ -81,6 +81,9 @@ exports.parse = function() { } return [tiddlerNode]; } else { + // No template or text reference is provided, so we'll use a blank target. Otherwise we'll generate + // a transclude widget that transcludes the current tiddler, often leading to recursion errors + transcludeNode.attributes["$tiddler"] = {name: "$tiddler", type: "string", value: ""}; return [transcludeNode]; } } diff --git a/core/modules/parsers/wikiparser/rules/transcludeinline.js b/core/modules/parsers/wikiparser/rules/transcludeinline.js index 3ce9dc78e..87529ca8d 100644 --- a/core/modules/parsers/wikiparser/rules/transcludeinline.js +++ b/core/modules/parsers/wikiparser/rules/transcludeinline.js @@ -79,6 +79,9 @@ exports.parse = function() { } return [tiddlerNode]; } else { + // No template or text reference is provided, so we'll use a blank target. Otherwise we'll generate + // a transclude widget that transcludes the current tiddler, often leading to recursion errors + transcludeNode.attributes["$tiddler"] = {name: "$tiddler", type: "string", value: ""}; return [transcludeNode]; } }