documentation:website:config_submenu:start

Configuring the submenu

The submenu is the gray container underneath the topbar. It can contain the title and subtitle of the page as well as some additional links.

To create a submenu for a namespace, one has to create a page called submenu in the namespace. The content of the page will be displayed as the submenu. There are some additional rules to the syntax.

A heading in the submenu is declared as a heading on every other page as well, by using ====== Heading ====== at the beginning of the submenu page. The first link in the submenu is displayed as a level 1 heading, every following link as a level 2 heading. i.e.

[[documentation:website:start|How to...]]
[[documentation:website:config_submenu:start|Submenu]]

and

====== How to... ======
===== Submenu =====

would be displayed in the same way, with the difference that in the first version the headings would also be links.

An unorderd list (with links as items) will be converted into a navigation bar at the bottom of the submenu. The subitems of a nested list such as

  * [[item 1]] 
  * [[item 2]] 
      * [[subitem 1]] 
      * [[subitem 2]] 

will be shown when hovered over the parent item.

For example, the submenu of this page was created by first adding a new page with [[submenu]] and then filling it with content:

[[documentation:website:start|How to...]]
[[documentation:website:config_submenu:start|Submenu]]
  * [[just]]
  * [[some]]
  * [[items]]
      * [[some]]
      * [[with]]
      * [[subitems]]

Deleting a submenu is done by the same way as deleting a page, which is saving it with no content.


As mentioned before, it is possible to create for each namespace a different submenu. If there is no submenu defined in the current namespace, the submenu of the next higher level is used.

For example:

   root namespace (always present)
     │
     └── 'a:' namespace
          └──'start_a', pagename,               %start page of namespace 'a:'
          └──'submenu_a' pagename,              %submenu of namespace 'a:'
          └── 'b:' namespace
               └──'submenu_b', pagename,        %submenu of namespace 'a:b:'
               └── 'c' pagename
          └──'d:' namespace
               └──'e' pagename

Note: For simpler explanation, the submenus pages are named submenu_a and submenu_b, referring to the submenu page in namespace a: and b:. When implemented, both have to called only submenu.

  • On page start_a, the displayed submenu will be submenu_a, as it is the submenu defined in namespace a:.
  • On page c, the displayed submenu will be submenu_b, as it is the submenu defined in namespace b:.
  • On page e, the displayed submenu will be submenu_a, as there is no submenu defined in namespace d:, thus the submenu defined on the next higher level is used, submenu_a.

Note: If two pages should have different submenus, they have to be created in different namespaces, as a submenu in one namespace will be used for all pages inside of the namespace.