1.0.3 • Published 5 years ago

markdown-it-ftoc v1.0.3

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

markdown-it-ftoc

markdown-it plugin to add toc and anchor links in headings

Modified from markdown-it-toc and apis like markdown-it-toc-and-anchor

Installation

yarn add markdown-it-ftoc

Usage

ES6

import markdownIt from "markdown-it"
import markdownItFtoc from "markdown-it-ftoc"

markdownIt({
    html: true,
    linkify: true,
    typographer: true,
  })
    .use(markdownItFtoc, {
      // ...options
    })
    .render(md)

browser

var md = window.markdownit();
md = md.use(window.markdownItFtoc);
console.log(md.render('@[toc](list)\n\n# test\n\n## something'));

Options

tocClassName

(default: "markdown-toc")

Option to customize html class of the wrapping the toc. If no class is wanted set to null.

tocFirstLevel

(default: 1)

Allows you to skip some heading level. Example: use 2 if you want to skip <h1>from the TOC.

tocLastLevel

(default: 6)

tocCallback

(default: null)

Allows you to get toc contents externally by executing a callback function returning toc elements, in addition / instead of using @toc tag in content. Example :

  markdownIt({
    html: true,
    linkify: true,
    typographer: true,
  })
    .use(markdownItTocAndAnchor, {
      tocCallback: function(tocHtml) {
        console.log(tocHtml)
      }
    })
    .render(md)

anchorLinkSymbol

(default: "#")

Allows you to customize the anchor link symbol

anchorLinkSpace

(default: true)

Allows you to enable/disable inserting a space between the anchor link and heading.

anchorLinkSymbolClassName

(default: "header-anchor")

Allows you to customize the anchor link symbol class name. If not null, symbol will be rendered as

<span class="anchorLinkSymbolClassName">anchorLinkSymbol</span>

anchorClassName

(default: "markdown-toc-anchor")

slugify

type: "function" Allows you to customize the slug function that create ids from string.

Examples: use uslug

import uslug from 'uslug'
markdownIt({
    html: true,
    linkify: true,
    typographer: true,
  })
    .use(markdownItTocAndAnchor, {
      slugify: uslug
    })
    .render(md)

slugifyArguments

arguments for slugify

type: arguments array default: []