tiny-frontmatter

1.0.0 • Public • Published

tiny-frontmatter

This is a tiny node module for parsing a document containing simple metadata into a javascript object.

I made it for a quick, easily editable alternative to using other large libraries or wrapper libraries for large libraries. It doesn't have any dependencies, and only requires mocha + chai for dev dependencies.

Installation

$ npm install tiny-frontmatter

Syntax

Frontmatter goes at the top of your file, and is delimited by the characters --- before and after the metadata key/value pairs. Keys are unescaped strings followed by colon (with a whitespace character before and after if you want). Values can be either string or arrays. All keys, values, and array values should be unescaped (not wrapped in ' or " characters - just plain text).

---
key: value
key: [ value, value ]
---
content

Use Example:

Start with a properly formated file:

---
title: Hello
date: June 18, 2014
tags: [ hello, world ]
---
Hello world!
How are you all doing?

Require the module:

var tfm = require('tiny-frontmatter');

Pass the file's contents as a string to the module to get a parsed object back. Example:

fs.readFile(path-to-hello.md, 'utf-8', function(err, data) {
  var parsed = tfm(data);
  // do something with your new object
})

This is the object that was returned from the above call:

{
  attributes: {
    title: 'Hello',
    date: 'June 18, 2014',
    tags: ['hello', 'world']
    }
  body:  'Hello world!\nHow are you all doing?'
}

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.0
    2
    • latest

Version History

Package Sidebar

Install

npm i tiny-frontmatter

Weekly Downloads

2

Version

1.0.0

License

MIT

Last publish

Collaborators

  • rjreed