Jan-Erik Rediger
adde0c8cfb
Roundtripping markdown is actually quite hard. We don't actually require that. All we need is once parsing the markdown to find the right marker and the headings. We then manually generate markdown and all other content can be copied unparsed again. |
||
---|---|---|
.github/workflows | ||
src | ||
tests | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
release.toml |
mdbook-toc
A preprocessor for mdbook to add inline Table of Contents support.
It turns this:
<!-- toc -->
into a Table of Contents based on all top- and second-level headings of the chapter.
Installation
If you want to use only this preprocessor, install the tool:
cargo install mdbook-toc
Add it as a preprocessor to your book.toml
:
[preprocessor.toc]
command = "mdbook-toc"
renderer = ["html"]
Finally, build your book as normal:
mdbook path/to/book
Configuration
Custom TOC marker
The default marker is:
<!-- toc -->
If you wish to use a different marker, such as the GitLab marker [[_TOC_]]
, you must add the following settings to your book.toml
.
[preprocessor.toc]
marker = "[[_TOC_]]"
You can also use multi-line markers such as the GitHub marker, which is:
* auto-gen TOC;
{:toc}
Configure the string with a newline:
[preprocessor.toc]
marker = "* auto-gen TOC;\n{:toc}"
or with multi-line strings:
[preprocessor.toc]
marker = """* auto-gen TOC;
{:toc}"""
Maximum header level
By default the ToC will include headings up to level 4 (####
).
This can be configured in your book.toml
as follows:
[preprocessor.toc]
max-level = 4
License
MPL. See LICENSE.
Copyright (c) 2018-2020 Jan-Erik Rediger janerik@fnordig.de