mklevel v1.0.3
Heading Levels
Indent and outdent heading levels
Increases and decreases heading levels so the structure of a document may be modified.
Useful when you have a standalone document that you wish to include in another document but the headings in the standalone document should be indented to fit the structure of the parent document.
Install
npm i mklevel --saveFor the command line interface install mkdoc globally (npm i -g mkdoc).
Usage
Create the stream and write a commonmark document:
var lvl = require('mklevel')
, ast = require('mkast');
ast.src('# 1\n\n## 2\n\n### 3\n\n')
.pipe(lvl({levels: [1, 2, -1, 0, 0, 0]}))
.pipe(ast.stringify({indent: 2}))
.pipe(process.stdout);Example
Increment all heading levels:
mkcat README.md | mklevel --all=1 | mkoutDecrement all heading levels:
mkcat README.md | mklevel --all=-1 | mkoutConvert level 2 headings to level 5:
mkcat README.md | mklevel -2=3 | mkoutConvert level 1 and 3 headings to level 2:
mkcat README.md | mklevel -1=1 -3=-1 | mkoutHelp
mklevel [options]
Modify heading levels.
-1=[NUM] Modify level 1 headings by NUM
-2=[NUM] Modify level 2 headings by NUM
-3=[NUM] Modify level 3 headings by NUM
-4=[NUM] Modify level 4 headings by NUM
-5=[NUM] Modify level 5 headings by NUM
-6=[NUM] Modify level 6 headings by NUM
-a, --all=[NUM] Modify all headings by NUM
-h, --help Display this help and exit
--version Print the version and exit
Report bugs to https://github.com/mkdoc/mklevel/issuesAPI
level
level([opts][, cb])Gets the heading level stream.
See Level for additional options.
Returns an output stream.
optsObject processing options.cbFunction callback function.
Options
inputReadable input stream.outputWritable output stream.
Level
new Level([opts])Increases and decreases heading levels.
Takes the integer values in the levels option and applies them by index
to the headings in the stream.
The level modifier for level one headings is at index zero in the list.
If a level modifier would take a heading level beyond the permitted 1-6 range the value is clamped, so the following is a noop:
{levels: [-1]}Because level one headings cannot be modified below one.
To convert all level one headings to level two:
{levels: [1]}To increment headings 1-4 by one:
{levels: [1,1,1,1]}To decrement all heading levels (except level 1 which cannot be decremented):
{all: -1}optsObject stream options.
Options
levelsArray list of integer level modifiers.allNumber use this value for all levels.
License
MIT
Created by mkdoc on March 27, 2016