npm

Need private packages and team management tools?Check out npm Orgs. »

remark-toc

6.0.0 • Public • Published

remark-toc

Build Coverage Downloads Size Sponsors Backers Chat

remark plugin to generate a Table of Contents.

Install

npm:

npm install remark-toc

Use

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])

Generate a Table of Contents.

  • 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
  • Links from the table of contents to following headings, using the same slugs as GitHub

Note: if you’re later compiling to HTML, you still need to add anchors to headings. Previously that was done by this plugin as well, but now you must .use(slug) to include remark-slug explicitly.

options
options.heading

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

options.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, ###).

options.tight

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

options.skip

string? — Headings to skip, wrapped in new RegExp('^(' + value + ')$', 'i'). Any heading matching this expression will not be present in the table of contents.

Related

Contribute

See contributing.md in remarkjs/.github for ways to get started. See support.md for ways to get help.

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

License

MIT © Titus Wormer

install

npm i remark-toc

Downloadsweekly downloads

64,369

version

6.0.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
Report a vulnerability