@Anne-Laure you are welcome and this is helpful to the community too. We are very good at thinking in terms of manipulating content and presentation inside a running TW, but need some practice (and documentation) on extrapolating that to static html rendered from tiddlers.
If you are keeping the JS macros in place, the last short version I posted is worth a try at some point. You are getting a uppercase first letter because the javascript macros turns the title into lowercase for the url and filenames. To do the same with tv-filter-export-link: [split[ ]join[-]encodeuricomponent[]lowercase[]] On Saturday, April 25, 2020 at 11:50:03 AM UTC+2, Anne-Laure Le Cunff wrote: > > Thanks so much, Saq! > > I may look into this later, but when I implemented your approach, it > generated exactly what I wanted, for instance (that's from the static > website output): > > <a href=" > https://twitter.com/intent/tweet?source=https://www.mentalnodes.com/Folders-kill-creativity&text=Folders > > kill creativity:%20 > https://www.mentalnodes.com/Folders-kill-creativity&via=anthilemoon&hashtags=mentalnodes" > > target="_blank" title="Tweet"><img alt="Tweet" > src="social-icons/Twitter.png"></a> > > > (not sure why the URL says "Folders" and not "folders" but that's minor) > > Very grateful! > > On Saturday, April 25, 2020 at 10:37:13 AM UTC+1, Saq Imtiaz wrote: >> >> @Anne-Laure we should have asked you for those files from the beginning! >> That would have made helping you out a lot easier all along :) >> >> Those instructions for regex use one of the other three variables that I >> mentioned, tv-get-export-link instead of tv-filter-export-link, which >> requires javascript. >> >> You can mix and match both approaches but then it can be a little tricky >> to ensure that both always return the exact same filenames and >> corresponding links. This may not be an issue, but there is a chance it >> might cause problems at some point. Basically its a case of making sure the >> filter in tv-filter-export-link does the exact same thing as the javascript. >> >> With the way I outlined, you use the same filters for both and there is >> no javascript involved, so there are no chances of such issues. Or >> alternatively one could write another javascript macro that defines the url >> variable, using the same javascript logic. >> For a non-developer I think the non-javascript based approach will be >> easiest in the long run. >> >> Regards, >> Saq >> >> On Saturday, April 25, 2020 at 11:11:56 AM UTC+2, Anne-Laure Le Cunff >> wrote: >>> >>> Hi Saq, >>> >>> First, thanks so much for your help! >>> >>> Yes, I have modified *static.tiddler.html* - it looks like this >>> <https://github.com/anthilemoon/tw-experiments/blob/master/%24__ness_labs_template_static-view-template.tid> >>> >>> in my setup — and it looks like your approach is working! Thank you! Will >>> keep on tweaking, but if you're curious you can see here >>> <https://github.com/anthilemoon/tw-experiments> the files where I did >>> the regex edits. (following these instructions >>> <https://www.didaxy.com/exporting-static-sites-from-tiddlywiki-part-5>) >>> >>> Many thanks! >>> >>> On Saturday, April 25, 2020 at 9:37:44 AM UTC+1, Saq Imtiaz wrote: >>>> >>>> @Anne-Laure : I suspect we have been overcomplicating a bit because >>>> most of us are not familiar with the static site generation process. If >>>> you >>>> can walk us through a few details of your setup I think we are close a >>>> solution. Short instructions at the end, but please read through >>>> everything. >>>> >>>> Have you modified this template >>>> static.tiddler.html >>>> >>>> from the folder >>>> /core/templates? >>>> >>>> If so, please post your customized template. If not, where exactly are >>>> you using regexp to replace the spaces in file names, and the links to >>>> them, with hyphens? >>>> >>>> TiddlyWiki defines three variables that can be used to tweak the >>>> structure of url's in the static files generated: >>>> >>>> https://tiddlywiki.com/#tv-wikilink-template%20Variable:%5B%5Btv-wikilink-template%20Variable%5D%5D%20%5B%5Btv-filter-export-link%20Variable%5D%5D%20%5B%5Btv-get-export-link%20Variable%5D%5D >>>> >>>> You said you have replaced the spaces in tiddler names with hyphens, >>>> the correct way to do this in links would be via the variable >>>> tv-filter-export-link >>>> >>>> https://tiddlywiki.com/#tv-filter-export-link%20Variable used at the >>>> top of static.tiddler.html as follows: >>>> >>>> \define tv-filter-export-link() [split[ ]join[-]encodeuricomponent[]] >>>> >>>> Assuming it is setup this way, the following filter will get you the >>>> file name portion of the url: >>>> [<currentTiddler>subfilter<tv-filter-export-link>] >>>> >>>> Since TW doesn't know where your files will be served we need to add in >>>> the domain name: >>>> [<currentTiddler>subfilter<tv-filter-export-link>addprefix[https:// >>>> www.mentalnodes.com/]] >>>> >>>> a better way to do this would be to create a tiddler called something >>>> like $:/config/static/domain and give it the text value >>>> https://mentalnodes.com/ so that we can re-use and easily change the >>>> domain name. >>>> Then the filter for the URL becomes: >>>> [<currentTiddler>subfilter<tv-filter-export-link>addprefix{$:/config/ >>>> static/domain}] >>>> >>>> >>>> *Putting it all together: (and assuming you aren't doing anything >>>> elsewhere to tweak the file names)* >>>> At the top of your template: >>>> >>>> \define tv-filter-export-link() [split[ ]join[-]encodeuricomponent[]] >>>> >>>> \define tweet-this(url,title,description) >>>> <a href=" >>>> https://twitter.com/intent/tweet?source=$url$&text=$title$%20$description$&via=anthilemoon >>>> " target="_blank" title="Tweet"><img alt="Tweet" src= >>>> "social-icons/Twitter.png" /></a> >>>> \end >>>> >>>> >>>> Use as: >>>> >>>> <$macrocall $name="tweet-this" url={{{ [<currentTiddler>subfilter >>>> <tv-filter-export-link>addprefix{$:/config/static/domain}] }}} >>>> title={{!!title}} description={{!!description}} /> >>>> >>>> To get your file names to match, you can use this filter with the >>>> RenderCommand when generating static files: >>>> https://tiddlywiki.com/#RenderCommand >>>> >>>> "[split[ >>>> ]join[-]encodeuricomponent[]addsuffix[.html]addprefix[static/]]" >>>> >>>> For easier access to the url in the template, you can wrap a set widget >>>> around the entirety of the html portion of your template: >>>> \define macros go here >>>> >>>> <$set name="url" filter= >>>> """[<currentTiddler>subfilter<tv-filter-export-link>addprefix{$:/config/static/domain}]""" >>>> > >>>> <!------html starts here--> >>>> >>>> >>>> <<url>> will give you the url, relies on tv-filter-export-link being >>>> defined in the template >>>> >>>> >>>> </$set> >>>> >>>> >>>> Please let us know if that works. If so, it can likely be further >>>> simplified for re-use. >>>> >>>> Regards, >>>> Saq >>>> >>> -- 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/5f8ea810-f1e1-4bee-89c8-02192e4f4a63%40googlegroups.com.

