summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/todo/a_navbar_based_on_page_properties.mdwn32
1 files changed, 32 insertions, 0 deletions
diff --git a/doc/todo/a_navbar_based_on_page_properties.mdwn b/doc/todo/a_navbar_based_on_page_properties.mdwn
new file mode 100644
index 000000000..b158ced43
--- /dev/null
+++ b/doc/todo/a_navbar_based_on_page_properties.mdwn
@@ -0,0 +1,32 @@
+One thing I don't like about Tobi's `navbar.pm` is that the navigation bar is
+hardcoded instead of computed from what's available. Obviously, this allows
+for a very customised `navbar` (i.e. not making all pages show up, like
+a `map` would). However, I think this could also be achieved through page
+properties.
+
+So imagine four pages A, B, A/C, and A/D, and these pages would include the
+following directives, respectively
+
+ \[[navbar id=main priority=3]]
+ \[[navbar id=main priority=5]]
+ \[[navbar id=main title="Something else"]]
+ \[[navbar id=main]]
+
+then the computed navigation bar would be
+
+ B
+ A
+ Something else
+ D
+
+B would sort before A because it has a higher priority, but C would sort
+before D because their priorities are equal. The overridden title is not used
+for sorting.
+
+Also, the code automatically deduces that C and D are second-level under A.
+
+I don't think this is hard to code up and it's what I've been using with
+[rest2web](http://www.voidspace.org.uk/python/rest2web/) and it's served me
+well.
+
+--[[madduck]]