Extract YAML front matter from strings.
This modules does not do any IO (file loading or reading), only extracting yaml front matter from strings.
This concept that was originally introduced to me through the jeykll blogging system and is pretty useful where you want to be able to easily add metadata to content without the need for a database. YAML is extracted from the the top of a file between matching separators of "---" or "= yaml =".
So you have a file example.md
:
---
title: Just hack'n
description: Nothing to see here
---
This is some text about some stuff that happened sometime ago
Then you can do this:
var fs = require('fs')
, fm = require('front-matter')
fs.readFile('./example.md', 'utf8', function(err, data){
if (err) throw err
var content = fm(data)
console.log(content)
})
And end up with an object like this:
{ attributes: { title: 'Just hack\'n'
, description: 'Nothing to see here'
}
, body: 'This is some content'
}
var fm = require('front-matter')
Return a content
object with two properties:
content.attributes
contains the extracted yaml attributes in json formcontent.body
contains the string contents below the yaml separators
With npm do:
npm install front-matter
MIT