Skip to content
Snippets Groups Projects
menu_sub.html 2.61 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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 %}