1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-02-03 12:49:09 +00:00

feat: allow $tw.utils.getParseTreeText to render other rules' text

This commit is contained in:
lin onetwo 2024-06-13 01:23:59 +08:00
parent 37338b13e4
commit 8a12498fa9

View File

@ -106,7 +106,7 @@ exports.findParseTreeNode = function(nodeArray,search) {
/*
Helper to get the text of a parse tree node or array of nodes
*/
exports.getParseTreeText = function getParseTreeText(tree) {
exports.getParseTreeText = function getParseTreeText(tree, tiddlerType) {
var output = [];
if($tw.utils.isArray(tree)) {
$tw.utils.each(tree,function(node) {
@ -115,6 +115,14 @@ exports.getParseTreeText = function getParseTreeText(tree) {
} else {
if(tree.type === "text") {
output.push(tree.text);
} else {
var Parser = $tw.wiki.getParser(tiddlerType);
var Rule = Parser.prototype.blockRuleClasses[tree.type] ||
Parser.prototype.inlineRuleClasses[tree.type] ||
Parser.prototype.pragmaRuleClasses[tree.type];
if(Rule && Rule.prototype.getText) {
output.push(Rule.prototype.getText(tree));
}
}
if(tree.children) {
return getParseTreeText(tree.children);