mirror of
https://github.com/snachodog/just-the-docs.git
synced 2025-04-15 23:52:23 -06:00
* Remove "passive" toggle PR #1244 introduced the "passive" toggle, but just-the-docs.js subsequently disabled the only styling that used it, so it became redundant. This removes it. * Reduce build time for page-dependent CSS Fix #1323 - Remove `_includes/head_nav.html`. - Generate page-independent SCSS in `assets/css/just-the-docs-head-nav.css`. - Link to `/assets/css/just-the-docs-head-nav.css` in `head.html`. - Disable the above stylesheet in `assets/js/just-the-docs.js`. - Generate page-dependent CSS in `_includes/css/activation.scss.liquid` and include in `head.html`. * No override svg rotate * Disable both stylesheets safely * Move the site nav to a new include - Fix the complete site nav - Move the site nav to `_includes/site_nav.html` - Cache the site nav - Uncache `nav.html` * Move nav and site_nav to _includes/components * Replace id prefix * Update breadcrumbs.html Replace several filters by a single loop through all the pages, but breaking as soon as possible. Profiling indicates that this saves up to 50% of the breadcrumbs build time for the filters. * Update just-the-docs-head-nav.css Adjust the number of lines to keep * Update head.html Remove superflous type. * Update activation.scss.liquid Remove a superfluous closing brace. Adjust layout. * Use `scssify` to remove nesting Preliminary profiling indicates that using `scssify` on the small number of nested CSS rules produced by `activation.scss.liquid` is quick enough. * Update head.scss Manual attempt at prettier (pending installation in Atom). * Avoid generation of nested CSS Local profiling indicated that using `scssify` on each page takes about 1% of the build time. - Update `_includes/css/activation.scss.liquid` to generate non-nested CSS. - Remove use of `scssify` from `_includes/head.html`. * Ignore false positives from validator Ignores: `:1.810-1.823: error: CSS: Parse Error.` and `:1.811-1.824: error: CSS: Parse Error.`; had to shift things around since the local config overrides the CI flag. * Inline `_sass/head.css` * Update CHANGELOG.md --------- Co-authored-by: Matthew Wang <matt@matthewwang.me>
64 lines
2.6 KiB
HTML
64 lines
2.6 KiB
HTML
{%- comment -%}
|
|
Include as: {%- include_cached components/site_nav.html -%}
|
|
Depends on: site.
|
|
Results in: HTML for the site-nav.
|
|
Includes:
|
|
components/nav.html
|
|
Overwrites:
|
|
pages_top_size, collections_size, collection_entry,
|
|
collection_key, collection_value, collection.
|
|
{%- endcomment -%}
|
|
|
|
<nav aria-label="Main" id="site-nav" class="site-nav">
|
|
{% assign pages_top_size = site.html_pages
|
|
| where_exp:"item", "item.title != nil"
|
|
| where_exp:"item", "item.parent == nil"
|
|
| where_exp:"item", "item.nav_exclude != true"
|
|
| size %}
|
|
{% if pages_top_size > 0 %}
|
|
{% include components/nav.html pages=site.html_pages %}
|
|
{% endif %}
|
|
{%- if site.nav_external_links -%}
|
|
<ul class="nav-list">
|
|
{%- for node in site.nav_external_links -%}
|
|
<li class="nav-list-item external">
|
|
<a href="{{ node.url | absolute_url }}" class="nav-list-link external">
|
|
{{ node.title }}
|
|
{% unless node.hide_icon %}<svg viewBox="0 0 24 24" aria-labelledby="svg-external-link-title"><use xlink:href="#svg-external-link"></use></svg>{% endunless %}
|
|
</a>
|
|
</li>
|
|
{%- endfor -%}
|
|
</ul>
|
|
{%- endif -%}
|
|
{% if site.just_the_docs.collections %}
|
|
{% assign collections_size = site.just_the_docs.collections | size %}
|
|
{% for collection_entry in site.just_the_docs.collections %}
|
|
{% assign collection_key = collection_entry[0] %}
|
|
{% assign collection_value = collection_entry[1] %}
|
|
{% assign collection = site[collection_key] %}
|
|
{% if collection_value.nav_exclude != true %}
|
|
{% if collections_size > 1 or pages_top_size > 0 %}
|
|
{% if collection_value.nav_fold == true %}
|
|
<ul class="nav-list nav-category-list">
|
|
<li class="nav-list-item">
|
|
{%- if collection.size > 0 -%}
|
|
<button class="nav-list-expander btn-reset" aria-label="Toggle collection {{ collection_value.name }}" aria-pressed="false">
|
|
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
|
|
</button>
|
|
{%- endif -%}
|
|
<div class="nav-category">{{ collection_value.name }}</div>
|
|
{% include components/nav.html pages=collection %}
|
|
</li>
|
|
</ul>
|
|
{% else %}
|
|
<div class="nav-category">{{ collection_value.name }}</div>
|
|
{% include components/nav.html pages=collection %}
|
|
{% endif %}
|
|
{% else %}
|
|
{% include components/nav.html pages=collection %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
</nav>
|