Skip to content

Commit 65cd394

Browse files
committed
Sorted items in the sidebar (including sections)
1 parent a5dfbe1 commit 65cd394

File tree

1 file changed

+26
-42
lines changed

1 file changed

+26
-42
lines changed

doc/_templates/sidebar-nav-bs.html

Lines changed: 26 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,31 @@
55
{% else %}
66
{{ generate_toctree_html("sidebar", maxdepth=4, collapse=False, includehidden=True, titles_only=True) }}
77
{% endif %}
8-
9-
<!-- {% if pagename.startswith("reference") %}
10-
{% set toc = generate_toctree_html(
11-
"sidebar",
12-
maxdepth=4,
13-
collapse=True,
14-
includehidden=True,
15-
titles_only=True
16-
) %}
17-
{% set toc_items = toc.split('<li>') %}
18-
{% set sorted_items = ['<li>' + item for item in toc_items[1:]|sort(case_sensitive=False)] %}
19-
{{ sorted_items|join('')|safe }}
20-
{% else %}
21-
{{ generate_toctree_html("sidebar", maxdepth=4, collapse=False, includehidden=True, titles_only=True) }}
22-
{% endif %} -->
23-
24-
<!-- {% if pagename.startswith("reference") %}
25-
{% set toc = generate_toctree_html(
26-
"sidebar",
27-
maxdepth=4,
28-
collapse=True,
29-
includehidden=True,
30-
titles_only=True
31-
) %}
32-
{% set toc_items = toc.split('<li>') %}
33-
{% set sorted_items = ['<li>' + item for item in toc_items[1:]|sort(case_sensitive=False)] %}
34-
<div class="bd-toc-item navbar-nav">
35-
{{ sorted_items|join('')|safe }}
36-
</div>
37-
{% else %}
38-
{{ generate_toctree_html("sidebar", maxdepth=4, collapse=False, includehidden=True, titles_only=True) }}
39-
{% endif %} -->
40-
41-
<!-- {% if pagename.startswith("reference") %}
42-
{% set toc = generate_toctree_html("sidebar", maxdepth=4, collapse=True, includehidden=True, titles_only=True) %}
43-
{% set items = toc.split('</li>') %}
44-
{% for item in items|sort(case_sensitive=False) %}
45-
{{ item }}</li>
46-
{% endfor %}
47-
{% else %}
48-
{{ generate_toctree_html("sidebar", maxdepth=4, collapse=False, includehidden=True, titles_only=True) }}
49-
{% endif %} -->
508
</div>
519
</nav>
10+
11+
<script>
12+
document.addEventListener('DOMContentLoaded', function() {
13+
// Only sort on reference pages
14+
if (window.location.pathname.includes('/reference/')) {
15+
const navContainer = document.querySelector('#bd-docs-nav .bd-toc-item');
16+
if (navContainer) {
17+
const lists = navContainer.querySelectorAll('ul');
18+
19+
lists.forEach(list => {
20+
const items = Array.from(list.children);
21+
22+
// Sort items alphabetically
23+
items.sort((a, b) => {
24+
const textA = a.textContent.trim().toLowerCase();
25+
const textB = b.textContent.trim().toLowerCase();
26+
return textA.localeCompare(textB);
27+
});
28+
29+
// Reattach sorted items
30+
items.forEach(item => list.appendChild(item));
31+
});
32+
}
33+
}
34+
});
35+
</script>

0 commit comments

Comments
 (0)