Skip to content

Commit 4b69295

Browse files
authored
Merge pull request #1963 from lean-ja/codex/fix-sidebar-toc-display-issue
fix: load toc script early
2 parents dd768ae + b58b0e7 commit 4b69295

File tree

4 files changed

+13
-35
lines changed

4 files changed

+13
-35
lines changed

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain ${RUST_VERS
1919
ENV PATH=$PATH:$HOME/.cargo/bin
2020

2121
# mdbook と mdbook のプラグインのインストール
22-
RUN cargo install --version 0.4.41 mdbook && \
22+
RUN cargo install --version 0.4.42 mdbook && \
2323
cargo install --version 1.18.0 mdbook-admonish

.github/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* [mdbook-admonish](https://github.com/tommilligan/mdbook-admonish) を使用してカードを表示させています。
99

1010
> [!IMPORTANT]
11-
> 開発に使用する mdbook のバージョンは `0.4.41` に固定してください。
11+
> 開発に使用する mdbook のバージョンは `0.4.42` に固定してください。
1212
1313
* [mdgen](https://github.com/Seasawher/mdgen) を Lean ファイルから markdown ファイルを生成するために使用しています。
1414

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
- name: Setup mdBook
3737
uses: peaceiris/actions-mdbook@v2
3838
with:
39-
mdbook-version: '0.4.41'
39+
mdbook-version: '0.4.42'
4040

4141
- name: install mdbook-admonish
4242
uses: baptiste0928/cargo-install@v3

theme/index.hbs

Lines changed: 10 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,17 @@
5252
<!-- MathJax -->
5353
<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
5454
{{/if}}
55-
</head>
56-
<body>
57-
<div id="body-container">
58-
<!-- Provide site root to javascript -->
55+
56+
<!-- サイトルートを JavaScript に渡す -->
5957
<script>
6058
var path_to_root = "{{ path_to_root }}";
6159
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
6260
</script>
61+
<!-- サイドバーの生成に必要な toc.js を早期に読み込む -->
62+
<script src="{{ path_to_root }}toc.js"></script>
63+
</head>
64+
<body>
65+
<div id="body-container">
6366

6467
<!-- Work around some values being stored in localStorage wrapped in quotes -->
6568
<script>
@@ -107,41 +110,16 @@
107110

108111
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
109112
<!-- populated by js -->
110-
<div class="sidebar-scrollbox"></div>
113+
{{!-- mdBook 0.4.42 ではサイドバー生成用のカスタム要素が導入された --}}
114+
<mdbook-sidebar-scrollbox class="sidebar-scrollbox"></mdbook-sidebar-scrollbox>
111115
<noscript>
112116
<iframe class="sidebar-iframe-outer" src="{{ path_to_root }}toc.html"></iframe>
113117
</noscript>
114118
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
115119
<div class="sidebar-resize-indicator"></div>
116120
</div>
117121
</nav>
118-
119-
<script async src="{{ path_to_root }}toc.js"></script>
120-
{{!-- toc.js がサイドバーの内容とスクロール位置を復元する --}}
121-
122-
<script>
123-
// toc.js が非同期にサイドバーを構築するため、
124-
// 目次の折りたたみボタンに手動でイベントを付与する
125-
window.addEventListener('load', function () {
126-
document.querySelectorAll('#sidebar a.toggle').forEach(function (el) {
127-
// クリックされた章の展開状態を切り替える
128-
el.addEventListener('click', function (ev) {
129-
ev.currentTarget.parentElement.classList.toggle('expanded');
130-
});
131-
});
132-
133-
// 現在表示しているページを含む章をすべて展開し、
134-
// 子ページが初期状態から見えるようにする
135-
var current = document.querySelector('#sidebar a.active');
136-
// active クラスはリンク要素に付与されるため、最初に親 <li> を取得する
137-
current = current && current.closest('li');
138-
while (current) {
139-
current.classList.add('expanded');
140-
// 親の <li> 要素へ登っていく
141-
current = current.parentElement && current.parentElement.closest('li');
142-
}
143-
});
144-
</script>
122+
{{!-- toc.js 内で折りたたみのイベント登録まで行うため、追加のスクリプトは不要 --}}
145123

146124
<div id="page-wrapper" class="page-wrapper">
147125

0 commit comments

Comments
 (0)