front-matter-markdown 

Get the config object from a markdown string. It will extract configuration from front-matter.
And get the directory(contents
) from the list of heading TOC/Table Of Content/Summary
.
It will generate a TOC from the markdown string if the list is empty
Usage
parseMarkdown = require('front-matter-markdown')
markdownStr = """
---
title: this is a title
---
# table of contents
* [Directory](./dir1)
* [Directory2](/dir2)
* [Directory3](#inline)
# this is a inline heading {#inline}
"""
console.log(JSON.stringify parseMarkdown(markdownStr), null, 1)
the results:
{
"title": "this is a title",
"skipSize": 31,
"ordered": false,
"contents": [
{
"title": "Directory",
"path": "./dir1",
"ordered": false,
"contents": [
{
"title": "Directory2",
"path": "/dir2"
}
]
},
{
"title": "Directory3",
"path": "#inline"
}
]
}
API
var parseMarkdown = require('front-matter-markdown');
parseMarkdown(aMarkdownString, aOptions)
: parse a markdown string to a plain object.
aOptions
(Object):
content
(Boolean): whether extract the markdown content from configuration.
defaults to true. it will store the compiled markdown to $compiled
too.
- Note: the
content
and $compiled
attributes are non-enumerable.
toc
(Boolean): whether extract the directory from the list in the specified heading.
defaults to false. the 'directoy' is put into contents
attributes.
links
(Boolean): merge the markdown links label to the result, default to false.
heading
(String|RegExp|ArrayOf(String)): the toc list in the heading(s) to extract the directory.
defaults to ['TOC', 'Table Of Content', 'Summary']
headingsAsToc
(Boolean|Object): whether generate
the directory from the headings of markdown.
defaults to false. It will generate
the toc if no toc list in the specified heading(toc
enabled).
maxDepth
(Number): Use headings whose depth is at most max depth for generate
.
defaluts to 3.
firstLevel
(Number): the first level to generate
the directory from the headings of markdown.
defaluts to 1.
Changes
v0.3
- markdown inline options to control parser.
- toc
- heading: the toc list in the heading section.
- headingsAsToc
- setOptionAlias function
- broken: toc, headingsAsToc options are defaults to false now.
- add the links option: merge the markdown links label to the result, default to false.
markdownStr = """
---
title: this is a title
toc: false
headingsAsToc: false
heading: Category
---
# Category
* [Directory](./dir1)
* [Directory2](/dir2)
* [Directory3](#inline)
# this is a inline heading {#inline}
[linkLabel1]: hi
[linkLabel2]: url "with title text"
"""
result = parseMarkdown(markdownStr) #= parseMarkdown markdownStr,
# toc:false
# headingsAsToc: false
# heading: 'Category'
License
MIT