Add content to sync to external file names

How may I add some dynamic context to the external file names for external file sync?

When I have many files it can be tricky to know where they live just by the numbers.

This is Scrivener, latest macOS version.
Here is a simplified example. . .

I have a journal-like multi-markdown, LaTeX project. There are steps here but multi-markdown is the last step from Scrivener. My example has folders for each month and a page for each day of the month.

Drafts
   --- October
        --- 1 
        --- 2 
        --- 3 
        --- ...
  --- November 
        --- 1 
        --- 2 
        --- 3 
        --- ...

When this is synced to an external folder there are many files, each named so they are sorted the same as the binder. This is part is good.

The challenge is quickly finding a file in a particular folder. In my journal example, I have named them with the day number, like 1 for the first day of the month.

They look like this.

034 February [1463].md
035 1 [1464].md
036 2 [1465].md
037 3 [1466].md
038 4 [1467].md
039 5 [1468].md
040 6 [1469].md
041 7 [1470].md
042 8 [1471].md
043 9 [1472].md

I would like to apply some additional context to the day files so I can quickly find a given day in a given month. The only way I know that 037 3 [1466].md is the 3rd of February, is because I first found the February file and see the number range.

I am looking for a way to add to the bit between the 037 and the [1466].md of 037 3 [1466].md.

The only thing I could think of was to name the element in the binder with something, for example <$pageGroupParentTitle>. This clearly does not work. My guess that the compile action is what transforms <$pageGroupParentTitle> to the page group parent title, and that obviously does not happen during sync to external folder.

Renaming the binder to some static text will work but then I need rename the entity every time I move it to a new folder in the binder.

Do the interim file names (e.g. in Scrivener) need to be single numbers?

I’m thinking that if you changed the names to include date information but with a marker that you could remove on compilation, then this would make identification easier.

E.g. The November documents would all be named in Binder as something like @Nov@01, @Nov@02, @Dev@01 etc. (Obviously, you can choose any markers you like, as long as they’re acceptable as file names for the external sync.)

It would therefore give you the opportunity to do a search and replace using regular expressions at a later date to strip out the date marker – either in Edit > Find > Project Replace, or in Compile itself.

Before:

Screenshot 2024-11-15 at 18.46.27

External sync folder:

Project Replace settings:

After:
Screenshot 2024-11-15 at 18.49.07

Or if you want to leave it to compile, these settings achieve the same thing:

Does that help in any way?

1 Like

Yes that helps because it prevents the context that I need to find the files from polluting the headings in the compiled document. :grin:

I would still like a way to compute the context so I could use a single value that references the parent entity, rather than updating the title of all the children when the parent title changes (or the child page is moved to a different parent).

Would this be a new feature request rather than something possible now?