I would be more supportive of namespacing if Roam provided mechanisms for breadcrumbing. At least one wiki I have used over the years let you give each page a parent and facilitated rendering breadcrumbs for those pages and linking to the page’s children. One of my big Roam chores is creating navigational structures that could be created automatically by Roam commands. Meanwhile, the [[Parent/Child]] namespacing scheme is almost worthless to me because it injects boilerplate text and makes text less readable.
Namespacing would be useful to me if it created namespacing as the creation of a navigable hierarchy of pages. As I said, many of my Linked References are for navigation rather than content. A navigable page hierarchy would eliminate the need to create these references by hand and could easily put them with the Linked References, out of the real content of the page.
Here are my specific proposals:
-
Add a “Parent Pages” section above Linked References that contains a breadcrumb trail through a page’s ancestors.
-
Add a “Child Pages” section under Parent Pages that behaves just like Linked Pages but for all pages that have the current page as their namespaced parent.
-
The command
{{trail:}}
would render each page in the chain as a separate link. So the code{{trail:[[1980s/Middle 1980s/1985/Summer 1985/August 1985]]}}
would render to something like 1980s > Middle 1980s > 1985 > Summer 1985 > August 1985. -
{{trail:}}
could work just as well on block references. So if page named1980s
has a blockMiddle 1980s
with a block1985
with a blockSummer 1985
with a blockAugust 1985
with referenceXYZXYZXY
, then{{breadcrumb:((XYZXYZXY))}}
would also render 1980s > Middle 1980s > 1985 > Summer 1985 > August 1985. (This would actually eliminate a lot of need for hierarchies of pages that don’t actually have any content.) -
{{trail}}
with no argument would render the trail for the current page up through the parent. So on [[1980s/Middle 1980s/1985/Summer 1985/August 1985]] itself,{{trail}}
would render 1980s > Middle 1980s > 1985 > Summer 1985. -
The command
{{children}}
would render links to all of the pages that have the current page as their namespaced parent. So{{children}}
on the page [[1980s]] would render links to [[1980s/Early 1980s]], [[1980s/Middle Pages]], etc. -
The commands
{{children:[[namespace]]}}
and{{children:((block))}}
would render links to the children of the given namespace or block. -
Add the ability to make a shortcut to an entire namespace. Present the namespace as a list of the child pages in the lefthand menu as a new section under the SHORTCUTS section.
Thank you for your consideration.