Introduce "thisTiddler" variable (#7182)

* Initial Commit

* Change of mind: Do not blank thisTiddler within macros

* Revert previous implementation

* Somewhat simpler implementation

* Add docs

* Add docs version tag
This commit is contained in:
Jeremy Ruston 2023-05-06 11:40:22 +01:00 committed by GitHub
parent b61aef27d7
commit a6ced74a13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 61 additions and 1 deletions

View File

@ -279,6 +279,8 @@ TranscludeWidget.prototype.getTransclusionTarget = function() {
defaultType: this.transcludeType
});
}
// Set 'thisTiddler'
this.setVariable("thisTiddler",this.transcludeTitle);
// Return the parse tree
if(parser) {
return {

View File

@ -0,0 +1,29 @@
title: ThisTiddler/Simple
description: Simple usage of thisTiddler variable
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\whitespace trim
\import Macro
\define print-this-tiddler()
<$text text=<<thisTiddler>>/>
\end
(<$text text=<<thisTiddler>>/>)
(<<print-this-tiddler>>)
(<<imported-print-this-tiddler>>)
+
title: Macro
\define imported-print-this-tiddler()
<$text text=<<thisTiddler>>/>
\end
+
title: ExpectedResult
<p>(Output)</p><p>(Output)</p><p>(Output)</p>

View File

@ -134,7 +134,11 @@ This is an example tiddler. See [[Table-of-Contents Macros (Examples)]].
</dl>
<blockquote class="doc-example-result">
<$reveal default="$egvar$" type="match" text="NO-SUCH-VAR">
$eg$
$$$text/vnd.tiddlywiki
$eg$
$$$
</$reveal>
<$reveal default="$egvar$" type="nomatch" text="NO-SUCH-VAR">
<<$egvar$>>

View File

@ -0,0 +1,13 @@
created: 20230304123606350
modified: 20230304124149055
tags: [[currentTiddler Variable]] [[Variable Examples]]
title: thisTiddler Variable (Examples)
type: text/vnd.tiddlywiki
<$macrocall $name=".example" n="1" eg="""<$text text=<<thisTiddler>>/>"""/>
<$macrocall $name=".example" n="2" eg="""\define example() <$text text=<<thisTiddler>>/>
<<example>>
"""/>

View File

@ -0,0 +1,12 @@
caption: currentTiddler
created: 20230304122810114
modified: 20230304123557862
tags: Variables [[Core Variables]]
title: thisTiddler Variable
type: text/vnd.tiddlywiki
<<.from-version "5.3.0">> The <<.def thisTiddler>> [[variable|Variables]] is set by the <<.wlink TranscludeWidget>> widget to contain the title of the tiddler that was transcluded. This means that within a tiddler <<.def thisTiddler>> will contain the title of that tiddler. It is not affected by macros, which means that within a macro <<.def thisTiddler>> will contain the title of the tiddler from which the macro was invoked. Intermediate, nested macro calls are ignored.
Compare <<.vlink storyTiddler>> and <<.vlink currentTiddler>>.
<<.variable-examples "thisTiddler">>