Adds Text substitution support in widget attributes and new operator (#7526)

* feat: new text substitution support, first pass

* fix: use the widget method instead of evaluating a filter

* revert to earlier implementation that emulates macro syntax

* fix: capitalize comments

* feat: add support for triple backticks for substituted attributes

* docs: added docs for substitute operator

* chore: more docs tweaks

* docs: substituted attributes, refactored docs for widget attributes

* docs: fixed typo

* docs: more examples for substituted attributes

* docs: updated prior documentation on concatenating text and variables

* docs: documentation corrections

* Update editions/tw5.com/tiddlers/filters/examples/substitute Operator (Examples).tid

Co-authored-by: btheado <brian.theado@gmail.com>

---------

Co-authored-by: btheado <brian.theado@gmail.com>
This commit is contained in:
Saq Imtiaz
2023-06-24 15:57:15 +02:00
committed by GitHub
parent e5566543c9
commit 3825e2579f
17 changed files with 361 additions and 66 deletions

View File

@@ -161,6 +161,16 @@ describe("HTML tag new parser tests", function() {
expect($tw.utils.parseAttribute(" attrib1>",0)).toEqual(
{ type : 'string', value : 'true', start : 0, name : 'attrib1', end : 8 }
);
expect($tw.utils.parseAttribute("p=`blah` ",1)).toEqual(null);
expect($tw.utils.parseAttribute("p=`blah` ",0)).toEqual(
{ start: 0, name: 'p', type: 'substituted', rawValue: 'blah', end: 8 }
);
expect($tw.utils.parseAttribute("p=```blah``` ",0)).toEqual(
{ start: 0, name: 'p', type: 'substituted', rawValue: 'blah', end: 12 }
);
expect($tw.utils.parseAttribute("p=`Hello \"There\"`",0)).toEqual(
{ start: 0, name: 'p', type: 'substituted', rawValue: 'Hello "There"', end: 17 }
);
});
it("should parse HTML tags", function() {