site.j2 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>{{ page.title }} - ssg</title>
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <script src="/static/js/main.js"></script>
  7. </head>
  8. <body>
  9. <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  10. <a class="navbar-brand" href="/"><img src="/static/uploads/logo.png" style="height: 27px"></a>
  11. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  12. <span class="navbar-toggler-icon"></span>
  13. </button>
  14. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  15. <ul class="navbar-nav mr-auto">
  16. {% for menu_item in menu %}
  17. {% if 'children' in menu_item %}
  18. <li class="nav-item dropdown">
  19. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  20. {{ menu_item['title'] }}
  21. </a>
  22. <div class="dropdown-menu" aria-labelledby="navbarDropdown">
  23. <a class="dropdown-item" href="/{{ menu_item['url'] }}">{{ menu_item['title'] }}</a>
  24. {%- for child_menu_item in menu_item['children'] recursive -%}
  25. <a class="dropdown-item" href="/{{ child_menu_item['url'] }}">{{ '> ' * (loop.depth - 1) }}{{ child_menu_item['title'] }}</a>
  26. {{ loop(child_menu_item['children']) }}
  27. {%- endfor -%}
  28. </div>
  29. </li>
  30. {% else %}
  31. <li class="nav-item">
  32. <a class="nav-link" href="/{{ menu_item['url'] }}">{{ menu_item['title'] }}</a>
  33. </li>
  34. {% endif %}
  35. {% endfor %}
  36. </ul>
  37. <ul class="navbar-nav">
  38. <li class="nav-item text-nowrap">
  39. <a class="nav-link" href="/backend">backend</a>
  40. </li>
  41. </ul>
  42. </div>
  43. </nav>
  44. <div class="container mt-3">
  45. {{ page.content() }}
  46. </div>
  47. </body>