1
Fork 0
Find a file
Jan-Erik Rediger adde0c8cfb Avoid roundtripping through pulldown-cmark
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.
2022-01-25 21:04:50 +01:00
.github/workflows Use correct file name for Windows release 2021-01-06 17:13:22 +01:00
src Avoid roundtripping through pulldown-cmark 2022-01-25 21:04:50 +01:00
tests Avoid roundtripping through pulldown-cmark 2022-01-25 21:04:50 +01:00
.gitignore Ignore local testing book 2019-07-10 21:22:02 +02:00
Cargo.lock Avoid roundtripping through pulldown-cmark 2022-01-25 21:04:50 +01:00
Cargo.toml Avoid roundtripping through pulldown-cmark 2022-01-25 21:04:50 +01:00
CHANGELOG.md Prepare release 2021-07-06 14:41:08 +02:00
LICENSE Add License and Readme 2018-07-20 12:07:21 +02:00
README.md Document configurability of the maximum level. 2021-01-06 14:55:47 +01:00
release.toml Set tag-name to not include the v 2019-08-21 09:52:41 -07:00

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