|
|
преди 5 дни | |
|---|---|---|
| .. | ||
| lib | преди 5 дни | |
| node_modules | преди 5 дни | |
| index.js | преди 5 дни | |
| license | преди 5 дни | |
| package.json | преди 5 дни | |
| readme.md | преди 5 дни | |
Generate a Table of Contents from mdast trees.
npm:
npm install mdast-util-toc
Dependencies:
var util = require('util')
var u = require('unist-builder')
var toc = require('mdast-util-toc')
Given a mdast tree:
var tree = u('root', [
u('heading', {depth: 1}, [u('text', 'Alpha')]),
u('heading', {depth: 2}, [u('text', 'Bravo')]),
u('heading', {depth: 3}, [u('text', 'Charlie')]),
u('heading', {depth: 2}, [u('text', 'Delta')])
])
Yields:
{ index: null,
endIndex: null,
map:
{ type: 'list',
ordered: false,
spread: true,
children:
[ { type: 'listItem', loose: true, spread: true, children: [Array] } ] } }
toc(node[, options])Generate a Table of Contents from a Markdown document.
Looks for the first heading matching options.heading (case insensitive,
supports alt/title attributes for links and images too), and returns a table
of contents for all following headings.
If no heading is specified, creates a table of contents for all headings in
node.
Links to headings are based on GitHub’s style.
Only top-level headings (those not in blockquotes or lists), are used.
(Change this default behavior by using option parents as described below)
The given node is not modified.
optionsoptions.headingHeading to look for (string), wrapped in new RegExp('^(' + value + ')$', 'i').
options.maxDepthMaximum heading depth to include in the table of contents (number, default:
6),
This is inclusive, thus, when set to 3, level three headings, are included
(those with three hashes, ###).
options.tightWhether to compile list-items tightly (boolean?, default: false).
options.parentsAllows headings to be children of certain node types.
Internally, it uses
unist-util-is to check.
Hence all types that can be passed in as first parameter can be used here,
including Function, string, Object and Array.<Test>.
Check
documentation
for details.
(default: the first parameter node, which only allows top-level headings)
Example:
{
"parents": ["root", "blockquote"]
}
This would allow headings under either root or blockquote to be used.
An object representing the table of contents.
index (number?)
— Position of the heading in node. -1 if no heading
was found, null if no heading was givenendIndex (number?)
— Position of the last node after heading before the TOC starts.
-1 if no heading was found, null if no heading was given,
same as index if there are no nodes between heading and the
first heading in the TOCmap (Node?)
— List node representing the generated table of contents.
null if no table of contents could be created, either because
heading didn’t exist, or because no following headings were foundSee contributing.md in syntax-tree/mdast 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.