Namespace separator: `%2F` in one repo `___` triple underscore in the other

I use Logseq 0.10.9 on MacOs 14.1.2 for multiple repos. In one repo, the namespace separator / is transformed to %2F characters in file names. In the other, it is transformed to ___ triple underscores in the file names.

Is there a local setting for this transformation? I checked several configuration files but I couldn’t find any.

In the Logseq config file there is this:

 ;; Configure the escaping method for special characters in page titles.
 ;; Warning:
 ;;   This is a dangerous operation. To modify the setting,
 ;;   access the 'Filename format' setting and follow the instructions.
 ;;   Othwerwise, You may need to manually rename all affected files and
 ;;   re-index them on all clients after synchronization.
 ;;   Incorrect handling may result in messy page titles.
 ;; Available options:
 ;;   - :triple-lowbar (default)
 ;;      ;use triple underscore `___` for slash `/` in page title
 ;;      ;use Percent-encoding for other invalid characters
 :file/name-format :triple-lowbar

Might be something is going wrong with the special character convertion of file names? I’m not sure.

2 Likes

Does that apply only to Page title or the #tag/subtag could keep like this?

This question was about how Logseq saves pages on disk (i.e. the file name it gives to pages). It’s irrelevant to how you name pages in Logseq itself.

1 Like

Therefore, is #tag/subtag or #tag__subtag ? Sorry, after many months, I came back to the graph and I saw the deprecation of “/” in namespaces for the new 3 underscores. Does that apply?

I’m not sure what you refer to with

the deprecation of “/” in namespaces for the new 3 underscores

as Ramses explained, the three underscores are used by the application in the background when dealing with the filenames, but this is not visible to the user in regular use of logseq.

For your notes within logseq, the / remains the separator between parent and child.

  • In your example, the answer would be #tab/subtag
1 Like

Again, this only refers to the file names on disk, not to anything within the interface of Logseq itself. Within Logseq, you still use the slash to denote a namespace. How you use Logseq hasn’t changed.

It’s only under the hood stuff that makes Logseq compatible with more file systems.

1 Like

Great. Totally understood, now. Thanks!

2 Likes