From 2765e995dd0d1da605159cda3eed896cb3687b4d Mon Sep 17 00:00:00 2001 From: linonetwo Date: Wed, 19 Feb 2025 18:58:33 +0800 Subject: [PATCH] fix: link may not have attribute and children --- core/modules/parsers/wikiparser/rules/syslink.js | 6 +++--- core/modules/parsers/wikiparser/rules/wikilink.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/modules/parsers/wikiparser/rules/syslink.js b/core/modules/parsers/wikiparser/rules/syslink.js index aeeb4bdf2..a9a04cc7b 100644 --- a/core/modules/parsers/wikiparser/rules/syslink.js +++ b/core/modules/parsers/wikiparser/rules/syslink.js @@ -51,11 +51,11 @@ exports.parse = function() { }; exports.serialize = function(tree,serialize) { - // Check if the link is suppressed - var isSuppressed = tree.children[0].text.substr(0,1) === "~"; + // Check if the link is suppressed. Tree may only have text, no children and attributes + var isSuppressed = tree.children && tree.children[0].text.substr(0,1) === "~"; var serialized = isSuppressed ? "~" : ""; // Append the link text - serialized += tree.attributes.to.value; + serialized += tree.attributes ? tree.attributes.to.value : tree.text; return serialized; }; diff --git a/core/modules/parsers/wikiparser/rules/wikilink.js b/core/modules/parsers/wikiparser/rules/wikilink.js index 40888315f..8628a4f6c 100644 --- a/core/modules/parsers/wikiparser/rules/wikilink.js +++ b/core/modules/parsers/wikiparser/rules/wikilink.js @@ -66,10 +66,10 @@ exports.parse = function() { }; exports.serialize = function(tree,serialize) { - var isSuppressed = tree.children[0].text.substr(0,1) === $tw.config.textPrimitives.unWikiLink; + var isSuppressed = tree.children && tree.children[0].text.substr(0,1) === $tw.config.textPrimitives.unWikiLink; var serialized = isSuppressed ? $tw.config.textPrimitives.unWikiLink : ""; - serialized += tree.attributes.to.value; + serialized += tree.attributes ? tree.attributes.to.value : tree.text; return serialized; };