website/templates/widgets.html

26 lines
896 B
HTML

{######################################
menu widget
Provide the widget with a content page
that contains your menu:
{{ widgets::menu(content="_common/menus/main.md") }}
Separate entries with a thematic break:
either ---, ~~~, ___ or <hr />
An entry can be either text, a link, or
a submenu. A submenu is an actual list
defined using Markdown or HTML.
You cannot use <p> tags in the menu.
######################################}
{% macro menu(content) %}
<nav class="nav-menu" role="navigation">
{%- set source = get_page(path=content) %}{% set entries = source.content | split(pat="<hr />") %}{# fetch page content and divide it with separator -#}
{%- for entry in entries %}
{{ entry | trim | replace(from="<p>", to="") | replace(from="</p>", to="") | safe }}{# strip paragraph tags away for nicer markup #}
{%- endfor %}
</nav>
{% endmacro menu %}