-
Bruno Bruno authoredBruno Bruno authored
Nav configuration
The navigation bar in the CollectionBuilder template uses the Bootstrap navbar component to add links to the main pages and a search box.
The Bootstrap navbar automatically collapses into a menu button on smaller screens (break point -lg
, which is approximately tablet size).
The navbar is configured using "_data/config-nav.csv". It is added to the default layout (so that every page has it) using "_includes/collection-nav.html". The same nav items will also be automatically added to the footer ("_includes/footer.html"). The navbar colors can be configured in theme.yml (see "advanced-theme.md").
config-nav allows you to easily control which pages will show up in your navbar and how they are labelled, as well as create dropdown menus.
Removing an item does not delete the page, but will make the page invisible to users.
Each item in the nav is one row of config-nav, including the columns display_name
, stub
, and dropdown_parent
:
-
display_name
will be the word(s) used on the navbar. Generally you will want these to be single words that are easy for users to understand--typically: Home, Browse, Subjects, Locations, Map, Timeline, Data, About. Modifying this value allows you to quickly change the display name without needing to update the file names or titles. e.g. for some collections a label such as "Creators" might replace "Subjects", while still pointing to the /subjects.html page. -
stub
is the relative url of the page in this project. To properly link to a page, thestub
value will match thepermalink
value of a specific page file. e.g. "browse.md" haspermalink: /browse.html
, thus in config-nav has a stub value of/browse.html
. These will be converted into relative links in the navbar. Thestub
value will be empty for items that are parents for a dropdown menu (see below). -
dropdown_parent
is only used when adding dropdowns to your navbar, and should be empty for any normal nav item. For items that should appear inside a dropdown, the value will match thedisplay_name
of the parent item (see below).
Dropdown menus
A Bootstrap dropdown menu can be added to a nav item following this convention in config-nav:
- if the item has a
stub
, but no value indropdown_parent
, it becomes a normal nav item - if the item has NO
stub
, it will become a dropdown menu - if the item has a value in
dropdown_parent
, it will only show up under the parent dropdown
For example, a dropdown with two pages under the label About would look like:
display_name,stub,dropdown_parent
About,,
About the Collection,/about.html,About
CollectionBuilder,/tech.html,About
"About" (with no value in stub or dropdown_parent) would appear in the navbar as a dropdown button. When clicked, the dropdown would appear with "About the Collection" and "CollectionBuilder" listed.
Note: dropdowns do NOT appear in the footer nav. The parent will appear, with a link to the top child.