Thanks so much Saq and Jeremy! Here <https://www.mentalnodes.com/folders-kill-creativity> is the final result – many thanks for your help!
On Saturday, April 25, 2020 at 1:39:15 PM UTC+1, Jeremy Ruston wrote: > > Sorry to be late to this thread. > > The static site generation templates included in the core don’t need to > know the URL at which the site will be published because it only generates > relative URLs. As things stand, users have to edit the definition > of tv-wikilink-template in those templates to include their full URL. > > An alternative that might work better in some situations would be pass the > URL as a variable to the --rendertiddler or --render commands, and update > the definition of tv-wikilink-template to include that variable. > > Best wishes > > Jeremy > > > > On 25 Apr 2020, at 10:58, Saq Imtiaz <[email protected] <javascript:>> > wrote: > > @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] <javascript:>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/tiddlywiki/5f8ea810-f1e1-4bee-89c8-02192e4f4a63%40googlegroups.com > > <https://groups.google.com/d/msgid/tiddlywiki/5f8ea810-f1e1-4bee-89c8-02192e4f4a63%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- 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/8d86aee5-fda1-49e2-a1b5-86611ec9367c%40googlegroups.com.

