Following the discussion here I think I have a viable and concise proposal to address most use cases of the “hierarchically organize pages/tags”.
The point is specifying hierarchies using page properties.
For me the ideal would some syntax that, given an arbitrary user-defined
<property>, (for example
extends::), looks like this:
Parent.md <property>:: [[Child]]
Child.md <property>:: [[Teddy]]
displays an indented list of pages by following that
<property> specified by the user, i.e.
- [[Parent]] - [[Child]] - [[Teddy]]
display another indented list but by following
<property> in the other direction:
- [[Teddy]] - [[Child]] - [[Parent]
used in a page involved in the hierarchy above, for example
[[Parent]] > [[Child]] > [[Teddy]]
Child.md is involved in a more complex hierarchy it would be:
[[Parent 1]] > [[Child]] > [[Teddy 1]] > [[Teddy 2]] [[Parent 2]] > [[Child]] > [[Teddy 1]] > [[Teddy 2]]
(you got the idea)
In addition it would be nice to display in the graph view only certain relations and not other ones (including “reference” that is the only type of relation we have now in the graph view).
For me it would be also useful to display the graph directly on a page with the command:
and for the graph of the current page only (like the one we already have in the sidebar):