🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

remark-extract-frontmatter

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

remark-extract-frontmatter

Stores front matter from markdown in VFiles data property

3.2.0
latest
Source
npm
Version published
Weekly downloads
25K
80.65%
Maintainers
1
Weekly downloads
 
Created
Source

remark-extract-frontmatter

Remark plugin to store front matter from markdown.

Travis Coverage
Status

Install

npm install --save remark-extract-frontmatter

Usage

If we have some markdown using yaml frontmatter, example.md

---
title: Example
list:
  - one
  - 0
  - false
---

# Other markdown

and

const extract = require('remark-extract-frontmatter')
const frontmatter = require('remark-frontmatter')
const compiler = require('remark-stringify')
const report = require('vfile-reporter')
const parser = require('remark-parse')
const toVfile = require('to-vfile')
const unified = require('unified')
const yaml = require('yaml').parse

unified()
  .use(parser)
  .use(compiler)
  .use(frontmatter)
  .use(extract, { yaml: yaml })
  .process(toVfile.readSync('./example.md'), function (err, file) {
    console.error(report(err || file))
    console.log(file.toString())
    console.log(file.data)
  })

will output

./example.md: no issues found
---
title: 'Example'
list:
  - one
  - 0
  - false
---

# Other markdown

{ title: 'Example', list: [ 'one', 0, false ] }

Options

Options[parser]

Type: Function

Default: null

Specify the function (value) to use when parsing a frontmatter type (key). For example for yaml, options could be { yaml: require('yaml').parse }, or for toml { toml: require('toml').parse }. If no parsing function is set then this plugin will do nothing by default.

name

Type: String

Default: null

Specify a key to store frontmatter in for example, { name: 'frontmatter' } will store any parsed frontmatter as data: { frontmatter: { ... } }. By default the parsed frontmatter is merged into the data object.

Example:

unified()
  .use(parser)
  .use(compiler)
  .use(frontmatter, [ 'toml' ])
  .use(extract, { name: 'frontmatter', toml: toml.parse })
  .process('+++\ntitle: "Example"\n+++', function (err, file) {
    console.log(file.data)
  })

will output

{ frontmatter: { title: 'Example' } }

throws

Type: Boolean

Default: false

Specify if when an error parsing frontmatter occurs, to fail and throw error using VFile.fail or continue and set a warning using VFile.message.

remove

Type: Boolean

Default: false

Indicate if we should remove parsed frontmatter from the VFile. The default behavior is to leave the parsed content in the VFile

License

MIT © Paul Zimmer

Keywords

remark

FAQs

Package last updated on 30 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts