Skip to content

Parse out meta data from your markdown content.

Notifications You must be signed in to change notification settings

chrisjaure/metamd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

metamd

Parse meta Markdown data and render in the browser or server. Transform this:

Optional Heading
================
title: page1.md
tags: test

The two newlines preceding this paragraph are important.

into this:

{ title: 'page1.md',
  tags: 'test' }

'<h1>Optional Heading</h1><p>The two newlines preceding this paragraph are important.</p>'

Installation

Node

npm install metamd

Client

<script type="text/javascript" src="metamd.client.min.js"></script>

Example

var fs = require('fs');
var metamd = require('metamd');

var parsed = metamd(fs.readFileSync('./example/page1.md', 'utf-8'));
console.log(parsed.getData());
console.log(parsed.getHtml());

Will result in:

> { title: 'page1.md',
    tags: 'test' }

> <h1>Page 1
  </h1>
  <p>This is a <em>test</em>.

  </p>
  <pre><code>This is another test</code></pre>

Usage

metamd(<markdown>)

Returns an instance of Metamd.

Metamd.getData([key])

Returns an object containing the meta data. If key is provided, just that value will be returned.

Metamd.getMarkdown()

Returns the markdown absent of the meta data.

Metamd.getHtml()

Returns html rendered using marked.

NOTE: Meta data keys should be alphanumneric plus underscores. Nothing else will be parsed. Also be careful not to use reserved words or _body as keys.

Test

Testing is done with mocha and chai and can be run on the server or client. Remember to install the dev dependencies before running the tests.

Node

npm test

Client

Navigate to test/browser/index.html.

Compiling

If you make changes, you need to recompile for browser usage. After you install the dev dependencies, it's easy:

npm run compile

About

Parse out meta data from your markdown content.

Resources

Stars

Watchers

Forks

Packages

No packages published