Table of Contents

Summary

Adds a Table of Contents to a Markdown document.

This extension is included with the Markdown library since version 2.0.

Syntax

Place a marker in the document where you would like the table of contents to appear. Then, a nested list of all the headers in the document will replace the marker. The marker defaults to [TOC] so the following document:

[TOC]

# Header 1

## Header 2

would generate the following output:

<div class="toc">
  <ul>
    <li><a href="#header-1">Header 1</a></li>
      <ul>
        <li><a href="#header-2">Header 2</a></li>
      </ul>
  </ul>
</div>
<h1 id="header-1">Header 1</h1>
<h1 id="header-2">Header 2</h1>

Configuration Options

The following options are provided to configure the output:

  • marker: Text to find and replace with the Table of Contents. Defaults to [TOC].
  • slugify: Callable to generate anchors based on header text. Defaults to a built in slugify method. The callable must accept one argument which contains the text content of the header and return a string which will be used as the anchor text.
  • title: Title to insert in TOC <div>. Defaults to None.
  • anchorlink: Set to True to have the headers link to themselves. Default is False.