On Sat, 30 Jan 2021, Henning Hraban Ramm wrote:

> >> If I use \starttikz[name=example], I get 
> >> "JOBNAME-temp-tikzThick-example.tmp".
> >> I’d like to get something like "COMPONENTNAME-##-example.tmp" or a path 
> >> like "COMPONENTNAME/example_##.tmp".
> >> Is there a configuration hook in the module to change name generation?
> > 
> > No. I don't quite understand the concern. How do you plan to use a 
> > `name=value` option?
> 
> The current auto-generated file names are uncomfortably long, and I’d like to 
> know which contains what.

The idea was to avoid clash of names. That is why the file name starts with 
\jobname. I also want to avoid clash if you use multiple filters in the same 
file (a common use case for my projects), hence there is filtername. The -temp- 
is there because at some point context used to delete \jobname-temp-.tmp files 
if you passed the --purge option, but I see that it is no longer the case. 
Maybe that can be removed from the default name. The last part are the numbers, 
which are needed when caching results. 

> I’m not yet sure what would make the most sense for this project (at least 
> sorting by chapter/component would), but I have an use case with LilyPond 
> where I could save several LilyPond compile runs if I could influence the 
> naming:
> 
> I got ~500 songs in their own component files, and I use them in different 
> songbooklets with the same layout. E.g. there’s one containing all the songs 
> and several with a subject (e.g. winter & christmas, children, medieval & 
> fantasy, some author...).
> They all use [name=\currentcomponent]. If I could avoid the JOBNAME part of 
> the file name, all booklets would use the same note PDFs. Now, the temp 
> directory contains literally thousands of files.
> Since this is just for fun, the additional space and compile time is just a 
> bit annoying and doesn’t affect others, but I like to streamline my 
> workflows...

This is a relatively simple feature to add. I have pushed a new branch with 
this feature: https://github.com/adityam/filter/tree/prefix

I have added a new `prefix` option: you can use 

\defineexternalfilter[....][prefix=whatever]

and then the filter module will write the temp name as `whateverfilter0.ext` 
`whateverfilter1.ext`. The default value of prefix is \jobname-temp- (note 
trailing dash), so there should be no difference in the default output, but now 
you can configure the prefix if you want.

I am also open to making filter name as part of the prefix, so that you can 
have the ability to remove it if you wish. But I am hesitant to do so because 
it can lead to hard to debug errors if there is a clash in the prefix of two 
different filters. 

I haven't tested it beyond simple tests to make sure that nothing breaks. 
You can copy t-filter.mkiv from 
https://raw.githubusercontent.com/adityam/filter/prefix/t-filter.mkiv to your 
working directory and test if works for your situation. 


Aditya

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to