Crates.io | mdbook-pagetoc |
lib.rs | mdbook-pagetoc |
version | 0.2.0 |
source | src |
created_at | 2022-04-05 17:09:53.136578 |
updated_at | 2024-04-29 22:50:34.833467 |
description | A mdbook plugin that provides a table of contents for each page. |
homepage | https://github.com/slowsage/mdbook-pagetoc |
repository | https://github.com/slowsage/mdbook-pagetoc |
max_upload_size | |
id | 562696 |
size | 54,360 |
A mdbook plugin that provides a table of contents for each page. Uses css/js from mdBook-pagetoc.
Sample image from mdBook-pagetoc:
Only supports the html
renderer.
On the first run of mdbook build
, it creates two files pagetoc.css
and pagetoc.js
.
You can customize any of them after the first run.
Add to book.toml
config:
[preprocessor.pagetoc]
[output.html]
additional-css = ["theme/pagetoc.css"]
additional-js = ["theme/pagetoc.js"]
The place marker <div class="sidetoc"><nav class="pagetoc"></nav></div>
will be inserted inside the <main>
tag. ie. This replaces
<main>
{{{ content }}}
</main>
with:
<main><div class="sidetoc"><nav class="pagetoc"></nav></div>
{{{ content }}}
</main>
If not customizing, you may want to add entries as appropriate to .gitignore
to keep your repo clean:
theme/pagetoc.css
theme/pagetoc.js
Customization: To autohide when only single header, add this snippet to pagetoc.css
:
a[class^='pagetoc-H']:only-child {
display: none;
}