On Tuesday, June 22, 2021 at 7:45:51 PM UTC-7 [email protected] wrote:

> ...embed the tiddler title in the url, i.e.:
> [img[images/{{!!title}}.jpg]]
> But of course that just gets read literally. I've also tried using a 
> variable with the same result:
> <$set name="image" value="images/{{!!title}}.jpg">
> [image[<<image>>]]
> </$set>
>

The problem is that you can't directly mix field transclusion syntax, e.g., 
{{!!fieldname}}, within other wiki syntax, e.g., [img[...]]

The solution is to define a macro that constructs the desired wiki image 
syntax, like this:
\define showImage() [img[images/$(currentTiddler)$.jpg]]
Then, invoke it like this:
<<showImage>>

Notes:
* By default, within each tiddler, the variable "currentTiddler" holds the 
name of the tiddler
* In normal tiddler content, you can use either {{!!title}} or 
<<currentTiddler>> to *display* the name of the tiddler
* Within the macro definition, $(...)$ does a *text substitution* of the 
indicated variable, where the variable is defined *outside* the macro
* After variable substitutions are done, the resulting macro content is 
"returned" for rendering
* Thus, if the above macro is invoked within a tiddler named "Tiddler1", 
the macro content returned by <<showImage>> will be: 
[img[images/Tiddler1.jpg]], which is the syntax you want.
* To use <<showImage>> in multiple tiddlers, just place the showImage() 
macro definition in a tiddler by itself (e.g., "ShowImageMacro"), and then 
tag that tiddler with *$:/tags/Macro*.

Also, as an alternative to using a macro definition to construct the 
desired syntax, you could use the <$image> widget with a parameter value 
that is assembled using "filtered transclusion", like this:
   <$image source={{{ [[images/]addsuffix<currentTiddler>addsuffix[.jpg]] 
}}} />
However, this syntax is obviously more complex to produce the exact same 
result.

enjoy,
-e

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/ce26fb82-dc11-433d-b5b4-0f614a7e6dccn%40googlegroups.com.

Reply via email to