Means for customizing menu navigation items.

Description

Guise Mummy automatic navigation list regeneration based upon the navigation items present in a directory is handy, but in some cases navigation items need to be customized with additions or explicit lists. Here are some of the features that may be added during this epic. They are presented as ideas, and will be defined more explicitly in their respective tickets.

  • .navigation.lst: If present, anywhere up the hierarchy, completely overrides the discovered navigation items with those specified in the list. Each line is a reference to an artifact, relative to the .navigation.lst file. The list does not imply order; the items are still ordered according to the artifact order. Once set, the list is in effect until overridden by another .navigation.lst (or in the future some other explicit navigation, as will be determined and defined). The .navigation.lst can be empty, indicating no navigation items at all.

  • .navigation+.lst and .navigation-.lst: Similar to .navigation.lst, but contains items to be added to the navigation list, however that is initially determined. Addition/subtraction is not cumulative; these override any similar file in ancestor directories.

  • .navigation+=.lst and .navigation-=.lst: Similar to .navigation+.lst and .navigation-.lst, but are cumulative, allowing menu items to be added incrementally down the hierarchy.

  • .navigation.lst containing *: Effectively resets navigation to automatic. It is an open question whether such a .navigation.lst file could also contain a list of items; this would seem to be equivalent to .navigation.lst containing only *, along with a separate .navigation+.lst. Another idea would be to make .navigation+.lst cumulative (like .navigation+=.lst described above), and provide .navigation.lst containing * along with other items as a way to implement non-cumulative (like .navigation+.lst described above).

  • .navigation.lst with some line containing (_n_) at the end (space-delimited): A way to override the order without modifying the per-artifact metadata; e.g. foo-bar.md (200).

  • .navigation.lst with some lines indented: A way to indicated nested menus. Tabs would be preferred, but it would probably support any whitespace, with additional whitespace of any amount indicating a yet deeper nesting.

  • .navigation.turf: Some more complex navigation structure, supporting explicit order and nesting.

Environment

None

Assignee

Garret Wilson

Reporter

Garret Wilson

Labels

None

Components

Priority

Major

Epic Name

Custom Navigation
Configure