JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 212952
  • Score
    100M100P100Q173194F
  • License MIT

Generate a Table of Contents (TOC) for Markdown files

Package Exports

  • remark-toc

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (remark-toc) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

remark-toc Build Status Coverage Status Chat

Generate a Table of Contents in remark.

Installation

npm:

npm install remark-toc

Usage

Say we have the following file, example.md:

# Alpha

## Table of Contents

## Bravo

### Charlie

## Delta

And our script, example.js, looks as follows:

var vfile = require('to-vfile');
var remark = require('remark');
var toc = require('remark-toc');

remark()
  .use(toc)
  .process(vfile.readSync('example.md'), function (err, file) {
    if (err) throw err;
    console.log(String(file));
  });

Now, running node example yields:

# Alpha

## Table of Contents

-   [Bravo](#bravo)

    -   [Charlie](#charlie)

-   [Delta](#delta)

## Bravo

### Charlie

## Delta

API

remark().use(toc[, options])

Add a Table of Contents to a Markdown document.

  • Looks for the first heading containing "Table of Contents", "toc", or table-of-contents (case insensitive, supports alt/title attributes for links and images too)
  • Removes all following contents until an equal or higher heading is found
  • Inserts a list representation of the hierarchy of following headings
  • Adds links to following headings, using the same slugs as GitHub
Options
heading

string?, default: "toc|table[ -]of[ -]contents?" — Heading to look for, wrapped in new RegExp('^(' + value + ')$', 'i').

maxDepth

number?, default: 6 — Maximum heading depth to include in the table of contents, This is inclusive, thus, when set to 3, level three headings, are included (those with three hashes, ###).

tight

boolean?, default: false — Whether to compile list-items tightly.

Contribute

See contribute.md in remarkjs/remark for ways to get started.

This organisation has a Code of Conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer