Free Software Solutions For Educational Institutions https://selfhosted.education
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

206 lines
9.4 KiB

3 years ago
  1. ---
  2. layout: table_wrappers
  3. ---
  4. <!DOCTYPE html>
  5. <html lang="{{ site.lang | default: 'en-US' }}">
  6. {% include head.html %}
  7. <body>
  8. <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
  9. <symbol id="svg-link" viewBox="0 0 24 24">
  10. <title>Link</title>
  11. <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link">
  12. <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
  13. </svg>
  14. </symbol>
  15. <symbol id="svg-search" viewBox="0 0 24 24">
  16. <title>Search</title>
  17. <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search">
  18. <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
  19. </svg>
  20. </symbol>
  21. <symbol id="svg-menu" viewBox="0 0 24 24">
  22. <title>Menu</title>
  23. <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu">
  24. <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>
  25. </svg>
  26. </symbol>
  27. <symbol id="svg-arrow-right" viewBox="0 0 24 24">
  28. <title>Expand</title>
  29. <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
  30. <polyline points="9 18 15 12 9 6"></polyline>
  31. </svg>
  32. </symbol>
  33. <symbol id="svg-doc" viewBox="0 0 24 24">
  34. <title>Document</title>
  35. <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
  36. <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>
  37. </svg>
  38. </symbol>
  39. </svg>
  40. <div class="side-bar">
  41. <div class="site-header">
  42. <a href="{{ '/' | absolute_url }}" class="site-title lh-tight">{% include title.html %}</a>
  43. <a href="#" id="menu-button" class="site-button">
  44. <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
  45. </a>
  46. </div>
  47. <nav role="navigation" aria-label="Main" id="site-nav" class="site-nav">
  48. {% if site.just_the_docs.collections %}
  49. {% assign collections_size = site.just_the_docs.collections | size %}
  50. {% for collection_entry in site.just_the_docs.collections %}
  51. {% assign collection_key = collection_entry[0] %}
  52. {% assign collection_value = collection_entry[1] %}
  53. {% assign collection = site[collection_key] %}
  54. {% if collection_value.nav_exclude != true %}
  55. {% if collections_size > 1 %}
  56. <div class="nav-category">{{ collection_value.name }}</div>
  57. {% endif %}
  58. {% include nav.html pages=collection %}
  59. {% endif %}
  60. {% endfor %}
  61. {% else %}
  62. {% include nav.html pages=site.html_pages %}
  63. {% endif %}
  64. </nav>
  65. <footer class="site-footer">
  66. The "Self Hosted Education" initiative is a public service initiative
  67. to encourage schools, colleges, universities etc. to use Free Software
  68. for all aspects of their computing needs.
  69. </footer>
  70. </div>
  71. <div class="main" id="top">
  72. <div id="main-header" class="main-header">
  73. {% if site.search_enabled != false %}
  74. <div class="search">
  75. <div class="search-input-wrap">
  76. <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
  77. <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
  78. </div>
  79. <div id="search-results" class="search-results"></div>
  80. </div>
  81. {% endif %}
  82. {% include header_custom.html %}
  83. {% if site.aux_links %}
  84. <nav aria-label="Auxiliary" class="aux-nav">
  85. <ul class="aux-nav-list">
  86. {% for link in site.aux_links %}
  87. <li class="aux-nav-list-item">
  88. <a href="{{ link.last }}" class="site-button"
  89. {% if site.aux_links_new_tab %}
  90. target="_blank" rel="noopener noreferrer"
  91. {% endif %}
  92. >
  93. {{ link.first }}
  94. </a>
  95. </li>
  96. {% endfor %}
  97. </ul>
  98. </nav>
  99. {% endif %}
  100. </div>
  101. <div id="main-content-wrap" class="main-content-wrap">
  102. {% unless page.url == "/" %}
  103. {% if page.parent %}
  104. {%- for node in pages_list -%}
  105. {%- if node.parent == nil -%}
  106. {%- if page.parent == node.title or page.grand_parent == node.title -%}
  107. {%- assign first_level_url = node.url | absolute_url -%}
  108. {%- endif -%}
  109. {%- if node.has_children -%}
  110. {%- assign children_list = pages_list | where: "parent", node.title -%}
  111. {%- for child in children_list -%}
  112. {%- if page.url == child.url or page.parent == child.title -%}
  113. {%- assign second_level_url = child.url | absolute_url -%}
  114. {%- endif -%}
  115. {%- endfor -%}
  116. {%- endif -%}
  117. {%- endif -%}
  118. {%- endfor -%}
  119. <nav aria-label="Breadcrumb" class="breadcrumb-nav">
  120. <ol class="breadcrumb-nav-list">
  121. {% if page.grand_parent %}
  122. <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
  123. <li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
  124. {% else %}
  125. <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
  126. {% endif %}
  127. <li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
  128. </ol>
  129. </nav>
  130. {% endif %}
  131. {% endunless %}
  132. <div id="main-content" class="main-content" role="main">
  133. {% if site.heading_anchors != false %}
  134. {% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><use xlink:href=\"#svg-link\"></use></svg>" anchorClass="anchor-heading" anchorAttrs="aria-labelledby=\"%html_id%\"" %}
  135. {% else %}
  136. {{ content }}
  137. {% endif %}
  138. {% if page.has_children == true and page.has_toc != false %}
  139. <hr>
  140. <h2 class="text-delta">Table of contents</h2>
  141. <ul>
  142. {%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%}
  143. {% for child in children_list %}
  144. <li>
  145. <a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
  146. </li>
  147. {% endfor %}
  148. </ul>
  149. {% endif %}
  150. {% capture footer_custom %}
  151. {%- include footer_custom.html -%}
  152. {% endcapture %}
  153. {% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %}
  154. <hr>
  155. <footer>
  156. {% if site.back_to_top %}
  157. <p><a href="#top" id="back-to-top">{{ site.back_to_top_text }}</a></p>
  158. {% endif %}
  159. {{ footer_custom }}
  160. {% if site.last_edit_timestamp or site.gh_edit_link %}
  161. <div class="d-flex mt-2">
  162. {% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %}
  163. <p class="text-small text-grey-dk-000 mb-0 mr-2">
  164. Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>.
  165. </p>
  166. {% endif %}
  167. {% if
  168. site.gh_edit_link and
  169. site.gh_edit_link_text and
  170. site.gh_edit_repository and
  171. site.gh_edit_branch and
  172. site.gh_edit_view_mode
  173. %}
  174. <p class="text-small text-grey-dk-000 mb-0">
  175. <a href="{{ site.gh_edit_repository }}/{{ site.gh_edit_view_mode }}/{{ site.gh_edit_branch }}{% if site.gh_edit_source %}/{{ site.gh_edit_source }}{% endif %}/{{ page.path }}" id="edit-this-page">{{ site.gh_edit_link_text }}</a>
  176. </p>
  177. {% endif %}
  178. </div>
  179. {% endif %}
  180. </footer>
  181. {% endif %}
  182. </div>
  183. </div>
  184. {% if site.search_enabled != false %}
  185. {% if site.search.button %}
  186. <a href="#" id="search-button" class="search-button">
  187. <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-search"></use></svg>
  188. </a>
  189. {% endif %}
  190. <div class="search-overlay"></div>
  191. {% endif %}
  192. </div>
  193. </body>
  194. </html>