Is it possible change the encoded slah %2F character in the file names of names spaces?

I’m not sure if this is a bug, or a misconfiguration of LogSeq. LogSeq uses an encoded slash ’ %2F ’ in the file names of pages that contain names spaces.

This makes the filename challenging to read: root%2Fleave.md

Is it possible to use another character like a ‘-’ or ‘.’, to get a filename root-leave.md or root.leave.md ?

2 Likes

This probably will not be changed (any time soon). It used to be a dot, and that proved to be really annoying, so it was changed to the current character.

The current setup is robust, helps with namespaces, and is compatible with all OSes Logseq runs on. And in practice, how often does one really look at the files?

EDIT: actually, it would be way better if they just created FOLDERS instead. There’s a few other topics discussing this and that seems totally the way to go. Would much prefer this. Would make namespaces more useful.

1 Like

True. While I understand the cross-platform reasoning for using the encoded flash character in the filename, the idea that ‘no one really looks at the file’ seem to conflict the whole idea of using markdown files in the first place. They should remain readable, otherwise I can just go for a closed format like Notion.

Therefore using folders makes a lot of sense to me, too.
@Alex_QWxleA - would there be any issue with that ?

2 Likes

I’ve asked one of our core engineers about this, and having namespaces create folders was considered in the past. The issue is that it completely kills performance, so it’s not a viable solution unfortunately.

The file is always readable, just file title just contains the character %2F whenever a slash is used in the page name. You still own all of your data in Markdown format, so the comparison to a locked platform like Notion isn’t fair IMHO. We’re still looking for potential alternatives, but this is the most robust solution as @Alex_QWxleA has pointed out.

:grin: well, if you’re calling me out on it… (and to be clear, these are my personal opinions, I don’t speak for Logseq):

No, still no reason to use folders (imho). My reasoning is:

Logseq is a collection of Markdown (or org-) files, using a small number of folders (pages, journals, assets and logseq). But the frontend hides all that. The frontend hides Markdown or Orgmode files. It hides journals or pages folders. All that is on purpose: Logseq is a Knowledge Graph, not a markdown editor.

Knowledge graphs have been invented to collect, reason and study information. The smallest piece of information in Logseq is a block. Blocks are collected in Pages. These blocks and collections of blocks (pages) can be used and reused in different contexts. Links, tags and references create relationships between nodes, and thus one piece of information can exist in multiple places at the same time.

This non-linear way of storing information is many times more flexible and powerful then the old hierarchical way of storing files in folders. Folders bind information to a single context, a graph is non-hierarchical by design.

To use Logseq effectively one has to completely change their way of thinking. Only then will people become real Logseq power-users: information is not stored in a place, it is stored in a relation to other blocks.

But can’t we do both? Can’t we do all that and have folders? Yes we could. The underlying system understands folders. (I even have one extra folder in my Logseq notes folder that is being populated by scripts from my system. Those scripts can be a little wonky at times, and I don’t want to mess up my pages or journal folders.) It is perfectly possible to create more folders and use them. You can do that today.

So it is technically possible. But “adding folders” means more than that. It means adding a file-manager. And then people want to be able to move files around. And copy files. And then Logseq becomes a slow version of Obsidian.

In Logseq the star of the show is the block. Blocks are queried. Blocks are moved about. Blocks are linked. And blocks are collected in pages. In legacy applications like Obsidian, the star of the show is the file. That doesn’t make it bad. It’s just not a block-based knowledge graph.

Asking for folders is like asking for a motorcycle with four wheels, four seats and a steering wheel. That’s not a motorcycle. That’s a car.

2 Likes

Feature Request: given the %2F seems a good solution, would it be possible to create an option to RENAME all files of so they use the same file name convention ?

My old ones use a ‘-’ and the new ones use ’ %2F '. And despite me following the logic here …

… I do think that a core feature of LogSeq over say Roam is local storage of markdown. For me the point there is partly owning my data and partly avoiding lock-in into one app. Hence, even if LogSeq hides the markdown files, keeping the local markdown organised consistently would seem to make sense to me for both human readability and for future use cases.

1 Like

I also find it’s annoying that the file contains %2F. In fact, I like edit org file in emacs, and view it in logseq. I got some ideas from dendron that create file hierarchy with the name “xxx.xxx.org”. When I create file with such dots, logseq can parse it as hierarchy. This meets my need. But when I edit [[xxx/xxx]] in logseq, the filename will contain “%2F” instead of “.”. I hope there some workaround that I can have file name with dots when create hierarchy in logseq. Or it can offer some config choices for users to choose.

Hope for this feature request will be considered.

2 Likes

I agree with this point. It irks me to see some files named with a “%2F” used as a namespace for some files, and “.” (in my case).