landakram / remark-parse-yaml

Parse YAML blocks into structured data.
MIT License
14 stars 1 forks source link
remark remark-plugin yaml yaml-frontmatter

remark-parse-yaml

npm version Build Status

This remark plugin takes markdown with yaml frontmatter and parses the yaml into an object.

Usage

const unified = require('unified')
const markdown = require('remark-parse')
const frontmatter = require('remark-frontmatter')
const parseFrontmatter = require('remark-parse-yaml');

let processor = unified()
    .use(markdown)
    .use(frontmatter)
    .use(parseFrontmatter)

When the processor is run, yaml nodes will now have an additional key, parsedValue, attached to its data key.

Say that we have this markdown string:

---
metadata: this is metadata
tags:
    - one
    - two
---

# Heading 

When parsed, this will produce a yaml node with a data object that looks like this:

data: {
    parsedValue: {
        metadata: "this is metadata",
        tags: ["one", "two"]
    }
}