new-horizons/docs/content/base/page_template.jinja2
Ben C 5f4980e49e
Added Table Of Contents To Docs (#64)
* Add Bootstrap Extension

* Rename main.yml

* Artifact Upload

* Fix Bootstrap Reference Error

* BootstrapTreeProcessor

* getiterator removed

* keys function

* Style Images

* Update docs_build.yml

* Added Meta Files

* Template Get

* Fix Page Ref

* Update BASE_URL

* Sort Schemas

* Add Sitemaps

* Add favicons, open-graph, and setup guide

* Update Setup.md

* Update .gitignore

* Update Setup.md

* Use _blank on external links

* Restructured Docs

* Fix Links

* Added XML Schemas

* Name XML Schemas

* Improved Best Practices

* Add Logs For Static Files

* Make docs build happen on PR

* Responsive Footer

* Started On Table OF Contents

* Added Table Of Contents

* Fix <code> bg colors

* Remove unused CSS

* Add canonical link

* Fix OGP Image

* Try ScrollSpy on TOC

* Added ScrollSpy

* Improve TOC Spacing

* Custom Scroll Bars

* Fix Formatting in ship_log.md
2022-03-08 15:08:56 -08:00

47 lines
2.0 KiB
Django/Jinja

{% extends "base/base.jinja2" %}
{% from "base/macros.jinja2" import defer_css %}
{% set br="lg" %}
{% set col_num=3 %}
{% block resources %}
{{ defer_css("https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/styles/github-dark-dimmed.min.css") }}
<script onload="hljs.highlightAll();" defer
src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/highlight.min.js"></script>
{% endblock %}
{% block content %}
<div class="row g-6">
{% if page.render_toc %}
<div class="col-{{ br }}-{{ col_num }}">
<nav id="TableOfContents"
class="navbar navbar-light sticky-top flex-column align-items-stretch p-3 overflow-auto"
style="max-height: 100vh !important;">
{% macro render(item) %}
<a id="{{ item['id'] }}-toc" class="nav-link toc-link px-1 mb-1" href="#{{ item['id'] }}"
style="margin-left: {{ 0.7 * item['level'] }}rem;">{{ item['name'] }}</a>
{% if item['children'] %}
<nav class="nav nav-pills flex-column">
{% for child in item['children'] %}
{{ render(child) }}
{% endfor %}
</nav>
{% endif %}
{% endmacro %}
<nav class="nav nav-pills flex-column">
<strong class="nav-text pb-2">On This Page</strong>
{% for item in page.table_of_contents %}
{{ render(item) }}
{% endfor %}
</nav>
</nav>
</div>
<hr class="d-{{ br }}-none mt-3"/>
{% endif %}
<div id="page-contents" {% if page.render_toc %}class="col-{{ br }}-{{ 12 - col_num }}"{% else %}class="col"{% endif %}>
{{ rendered|safe }}
</div>
</div>
{% endblock %}