Skip to content
Snippets Groups Projects
menu_sub.html 2.61 KiB
Newer Older
Tom Wiesing's avatar
Tom Wiesing committed
{% comment %}
Tom Wiesing's avatar
Tom Wiesing committed
    This page creates a submenu item. It expects an appropriate `item` as argument. 
    It also expects the global 'sorted_pages' argument. 
Tom Wiesing's avatar
Tom Wiesing committed
{% endcomment %}

{% unless item.menu_hidden %}
Tom Wiesing's avatar
Tom Wiesing committed
    {% assign base_folder = page.url | split: '/' %}
Tom Wiesing's avatar
Tom Wiesing committed
    {% assign base_folder = base_folder[1] %}
    
    {% assign represents = item.active | split: '/' %}
    {% assign represents = represents[1] %}
    
    {% assign menu_active = false %}
    
    {% if base_folder %}
        {% if item.folder %}
            {% if base_folder == item.folder %}
Tom Wiesing's avatar
Tom Wiesing committed
                {% assign menu_active = true %}
Tom Wiesing's avatar
Tom Wiesing committed
            {% endif %}
        {% endif %}
Tom Wiesing's avatar
Tom Wiesing committed
    {% endif %}
Tom Wiesing's avatar
Tom Wiesing committed
    
    {% if represents %}
        {% if base_folder == represents %}
            {% assign menu_active = true %}
        {% endif %}
    {% endif %}
    
    {% unless menu_active %}
        {% for it in item.items %}
            {% if page.url == it.url %}
                {% unless it.external %}                    
                    {% assign menu_active = true %}
                {% endunless %}
            {% endif %}
        {% endfor %}
    {% endunless %}
    
Tom Wiesing's avatar
Tom Wiesing committed
    <!-- Find the current folder -->
    {% assign item_folder = item.folder %}
Tom Wiesing's avatar
Tom Wiesing committed

Tom Wiesing's avatar
Tom Wiesing committed
    <li class="no-padding">
        <ul class="collapsible collapsible-accordion">
            <li class="bold">
                <a class="collapsible-header {% if menu_active %}active{% endif %}">
                    {% if item.menu_title %}
                        {{ item.menu_title }}
                    {% else %}
                        {{ item.title }}
Tom Wiesing's avatar
Tom Wiesing committed
                    {% endif %}
Tom Wiesing's avatar
Tom Wiesing committed
                </a>
                <div class="collapsible-body">
                    <ul>
                        <!-- If we have folders, iterate over them -->
                        {% if item.folder %}
                            {% for item in sorted_pages %}
                            
                                {% assign sub_components = item.url | split: '/' %}
                                {% if sub_components[1] == item_folder %}
                                    {% include menu_single.html %}
                                {% endif %}
                            {% endfor %}
                        {% endif %}

                        <!-- if we have items, iterate over them -->
                        {% if item.items %}
                            {% for item in item.items %}
Tom Wiesing's avatar
Tom Wiesing committed
                                {% include menu_single.html %}
                            {% endfor %}
                        {% endif %}
                    </ul>
                </div>
            </li>
        </ul>
    </li>
Tom Wiesing's avatar
Tom Wiesing committed
{% endunless %}