aboutsummaryrefslogtreecommitdiff
path: root/templates/_nav.html
blob: e35368147484a03d9effdc0ecf42cde5772f8b59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{% macro navsection(hierarchy, level, current) %}
  {% set sec = hierarchy | nth(n=level) %}
  {% set sec = get_section(path=sec) %}
  {% set maxlevel = hierarchy | length %}

  {% if sec.subsections %}
    {% for s in sec.subsections %}
      {% set p = get_section(path=s) %}
      <div class="toc-item">
        {% if p.subsections or p.pages %}
          {% if p.path == current.path %}
            <a class="subtext" href="{{ p.permalink | safe}}"><b>{{ p.title }}</b></a>
          {% elif hierarchy is containing(s) %}
            <a class="subtext" href="{{ p.permalink | safe}}">{{ p.title }}</a>
          {% else %}
            <a class="subtext" href="{{ p.permalink | safe}}">{{ p.title }}</a>
          {% endif %}
          {% if hierarchy is containing(s) or current.path == p.path %}
            {% if level + 1 < maxlevel %}
              <div class="nav-subsection">
                {{ nav::navsection(hierarchy=hierarchy,level=level + 1,current=current) }}
              </div>
            {% endif %}
          {% endif %}
        {% else %}
          {% if p.path == current.path %}
          <a class="subtext" href="{{p.permalink | safe}}"><b>{{ p.title }}</b></a>
          {% else %}
            <a class="subtext" href="{{p.permalink | safe}}">{{ p.title }}</a>
          {% endif %}
        {% endif %}
      </div>
      {% endfor %}
  {% endif %}

  {% if sec.pages %}
    {% for p in sec.pages %}
      <div class="toc-item">
        {% if p.path == current.path %}
        <a class="subtext" href="{{p.permalink | safe}}"><b>{{ p.title }}</b></a>
        {% else %}
          <a class="subtext" href="{{p.permalink | safe}}">{{ p.title }}</a>
        {% endif %}
      </div>
    {% endfor %}
  {% endif %}
{% endmacro navsection %}

{% macro navmenu(current) %}
  {% if current.ancestors %}
    {% set hierarchy = current.ancestors | slice(start=1) | concat(with=current.relative_path) %}
  {% else %}
    {% set hierarchy = [current.relative_path] %}
  {% endif %}

  {% set root_path = hierarchy | nth(n=0) %}
  {% set root = get_section(path=root_path) %}
  <div class="toc-item toc-section">
    <a class="subtext" href="{{root.permalink | safe}}">{{ root.title }}</a>
  </div>

  {{ nav::navsection(hierarchy=hierarchy,level=0,current=current) }}
{% endmacro %}