summaryrefslogtreecommitdiffhomepage
path: root/website
diff options
context:
space:
mode:
Diffstat (limited to 'website')
-rw-r--r--website/_layouts/docs.html33
-rw-r--r--website/defs.bzl10
2 files changed, 27 insertions, 16 deletions
diff --git a/website/_layouts/docs.html b/website/_layouts/docs.html
index 0422f9fb0..d45a781a4 100644
--- a/website/_layouts/docs.html
+++ b/website/_layouts/docs.html
@@ -16,21 +16,24 @@ categories:
<ul class="sidebar-nav">
{% assign subcats = site.pages | where: 'layout', 'docs' | where: 'category', category | group_by: 'subcategory' | sort: 'name', 'first' %}
{% for subcategory in subcats %}
- {% assign sorted_pages = subcategory.items | sort: 'weight', 'last' %}
- {% if subcategory.name != "" %}
- {% assign ac = "aria-controls" %}
- {% assign cid = category | remove: " " | downcase %}
- {% assign sid = subcategory.name | remove: " " | downcase %}
- <li>
- <a class="sidebar-nav-heading" data-toggle="collapse" href="#{{ cid }}-{{ sid }}" aria-expanded="false" {{ ac }}="{{ cid }}-{{ sid }}">{{ subcategory.name }}<span class="caret"></span></a>
- <ul class="collapse sidebar-nav sidebar-submenu" id="{{ cid }}-{{ sid }}">
- {% endif %}
- {% for p in sorted_pages %}
- <li><a href="{{ p.url }}">{{ p.title }}</a></li>
- {% endfor %}
- {% if subcategory.name != "" %}
- </li>
- </ul>
+ {% assign sorted_pages = subcategory.items | where: 'include_in_menu', true | sort: 'weight', 'last' %}
+ {% comment %}If all pages in the subcategory are excluded don't show it.{% endcomment %}
+ {% if sorted_pages.size > 0 %}
+ {% if subcategory.name != "" %}
+ {% assign ac = "aria-controls" %}
+ {% assign cid = category | remove: " " | downcase %}
+ {% assign sid = subcategory.name | remove: " " | downcase %}
+ <li>
+ <a class="sidebar-nav-heading" data-toggle="collapse" href="#{{ cid }}-{{ sid }}" aria-expanded="false" {{ ac }}="{{ cid }}-{{ sid }}">{{ subcategory.name }}<span class="caret"></span></a>
+ <ul class="collapse sidebar-nav sidebar-submenu" id="{{ cid }}-{{ sid }}">
+ {% endif %}
+ {% for p in sorted_pages %}
+ <li><a href="{{ p.url }}">{{ p.title }}</a></li>
+ {% endfor %}
+ {% if subcategory.name != "" %}
+ </li>
+ </ul>
+ {% endif %}
{% endif %}
{% endfor %}
</ul>
diff --git a/website/defs.bzl b/website/defs.bzl
index f52946c15..703040882 100644
--- a/website/defs.bzl
+++ b/website/defs.bzl
@@ -7,6 +7,7 @@ load("//tools:defs.bzl", "short_path")
# dynamically. This is done the via BUILD system so that the plain
# documentation files can be viewable without non-compliant markdown headers.
DocInfo = provider(
+ "Encapsulates information for a documentation page.",
fields = [
"layout",
"description",
@@ -16,6 +17,7 @@ DocInfo = provider(
"weight",
"editpath",
"authors",
+ "include_in_menu",
],
)
@@ -33,6 +35,7 @@ def _doc_impl(ctx):
weight = ctx.attr.weight,
editpath = short_path(ctx.files.src[0].short_path),
authors = ctx.attr.authors,
+ include_in_menu = ctx.attr.include_in_menu,
),
]
@@ -74,6 +77,10 @@ doc = rule(
default = "50",
),
"authors": attr.string_list(),
+ "include_in_menu": attr.bool(
+ doc = "Include document in the navigation menu.",
+ default = True,
+ ),
},
)
@@ -111,7 +118,8 @@ subcategory: {subcategory}
weight: {weight}
editpath: {editpath}
authors: {authors}
-layout: {layout}"""
+layout: {layout}
+include_in_menu: {include_in_menu}"""
for f in dep.files.to_list():
# Is this a markdown file? If not, then we ensure that it ends up