The problem with namespaces workflow is that hierarchy names tend to get ridiculously long. Example:
School/Class/Spanish/Unit 2/Section A/Numbers
So, when you are using a journal and want to add a note to the “Numbers” in “Section A” there are 3 issues:
This is very tedious to type.
This takes a lot of the space on the journal page
They are very long page names
For the issue number 2, we can curl the namespace by default, to something like this:
<<Numbers
And when you hover on “<<” the entire namespace hierarchy is displayed
Lemme know what you think, and how would you solve issue number 1 and 3.
Hi, I would love to see better namespace handling (like clickable hierarchies/abbreviations in the page title).
In the meantime, this is how I deal with it:
Use abbreviations ( eg p/ instead of project/ )
Try to use page properties ( eg year:: [[2023]], subject:: [[spanish]] ) instead of putting it in the namespace
Use page aliases (alias:: ) to quickly reference pages.
Make an index page (in your case “school/spanish” and put the rest of the hierarchy in the page content.
In general, I do not think a super deep & detailed hierarchy is really worth the hassle (or will ever be Logseq’s strength), I use only max 2 levels + page name.
That would be amazing… i am generally fine with long links in the content, but the page title sometimes takes up way too much space (especially on mobile, can be multiple rows).
For issue 1, you should be able to just type numbers and get a list of pages, including the full namespace you are looking for. Maybe less useful if you have 20 pages with the name numbers… just saying in theory you shouldn’t need to type the full name.
For issue 2, you can use an alias either as suggested by @fegfeg or inline as [alias]([[page]])
I myself try to limit hierarchies in general and I try to not use namespaces to form hierarchies at all.
But that’s personal preference of course!
I updated the script. It will work now with titles as well. Please import it directly or copy and paste it directly into custom.js. Sorry for the delay.