[tw5] Re: Embedding tiddler title in image URL
Hey, cool! The $(..)$ syntax was the key. It also works within tiddler transclusion, e.g., {{$(currentTiddler)$ Discussion}}, which allowed me to finished the template. My main tiddlers now just have the single line <> and everything works. Mini-rant: all these different syntaxes are just a tad confusing :) Sometimes {{..}}, sometimes {{{..}}}, sometimes <<..>>, sometimes $(..)$, probably others I haven't stumbled on yet. Hard to keep track. Thanks to both of you for your help! --nathanael On Wednesday, June 23, 2021 at 12:51:52 PM UTC+8 Eric Shulman wrote: > On Tuesday, June 22, 2021 at 7:45:51 PM UTC-7 cjec...@gmail.com 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[<>]] >> >> > > 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: > <> > > 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 > <> 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 <> will be: > [img[images/Tiddler1.jpg]], which is the syntax you want. > * To use <> 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/]addsuffixaddsuffix[.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 tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/1e273193-745a-4283-94b4-ab2343f231ebn%40googlegroups.com.
[tw5] Re: Embedding tiddler title in image URL
Thanks for the quick reply, and for the code. Unfortunately, it's not working for me. Here's what I've done. 1. Download a fresh copy of Tiddlywiki 2. Create a tiddler called "Test". 3. Copy/paste your code into "Test" and save. I end up with a broken image icon. When I right click and choose "open image in new tab", I get the link: http://mysite.com/dir/images/%7B%7B!!title%7D%7D.jpg It's still interpreting {{!!title}} literally. --Nathanael On Wednesday, June 23, 2021 at 11:14:15 AM UTC+8 iamdar...@gmail.com wrote: > I think this is what you're looking for? There may be a better way to do > it, but it seems to function based on my tests. Thanks to everyone over the > last two weeks that have helped me so much! I wouldn't have been able to > answer someone's question like this otherwise. > > \define linkcreation() > [img[images/{{!!title}}.jpg]] > \end > > <> > > On Tuesday, June 22, 2021 at 10:45:51 PM UTC-4 cjec...@gmail.com wrote: > >> Long time lurker, first time poster. >> >> I've a wiki with a couple of hundred tiddlers all of the same format, >> just different content, so I'm trying to develop a tiddler template. >> >> Each tiddler displays an image specific to that tiddler. I've a directory >> in which all the images are kept, each with the same name as the tiddler >> {{!!title}} field. E.g.: >> >> images/Tiddler1.jpg >> images/Tiddler2.jpg >> images/Tiddler3.jpg >> >> They idea is to then 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[<>]] >> >> >> How can I do this? >> >> --Nathanael >> >> -- 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 tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c7e86735-4c08-4392-a2de-1b929ab48936n%40googlegroups.com.
[tw5] Embedding tiddler title in image URL
Long time lurker, first time poster. I've a wiki with a couple of hundred tiddlers all of the same format, just different content, so I'm trying to develop a tiddler template. Each tiddler displays an image specific to that tiddler. I've a directory in which all the images are kept, each with the same name as the tiddler {{!!title}} field. E.g.: images/Tiddler1.jpg images/Tiddler2.jpg images/Tiddler3.jpg They idea is to then 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[<>]] How can I do this? --Nathanael -- 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 tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/a233f67e-1091-400e-bed2-d36bbba75d28n%40googlegroups.com.