Skip to content

sir-dunxalot/yaml-front-matter-brunch

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

yaml-front-matter-brunch

Verison 0.2.6

This Brunch plugin compiles markdown files with YAML front matter into javascript objects.

Installation

In a node project run:

npm install yaml-front-matter-brunch --save

Usage

This Brunch plugin takes a markdown file like this this...

---
title: I like Bacon
description: Bacon is great - let me tell you why I like it.
published: 2014-04-15
author: Dave
categories:
 - food
 - breakfast
---

Bacon
======

Bacon is great! We all like [Bacon](//en.wikipedia.org/wiki/Bacon).

... And compiles it into an object like this...

module.exports = {"title":"I like Bacon","description":"Bacon is great - let me tell you why I like it.","published":"2014-04-15T00:00:00.000Z","author":"Dave","categories":["food","breakfast"],"__content":"<h1>Bacon</h1><p>Bacon is great! We all like <a href=\"//en.wikipedia.org/wiki/Bacon\">Bacon</a>"}

Essentially, the file content is overwritten with the javascript object.

Despite still being a .md file, The module is made acessible to the rest of the app based on its filename.

For example, if you are watching a bunch of .md files in a posts directory, you can find and use all the post objects in your Brunch app like this:

var listOfPosts = [];

window.require.list().filter(function(module) {
  return new RegExp('^posts/').test(module);
}).forEach(function(module) {
  var post = require(module);
  listOfPosts.push(post);
});

Questions and Comments

Open an issue, fork and PR, or tweet @Sir_Dunxalot

About

Adds brunch support for YAML Front Matter

Resources

License

Stars

Watchers

Forks

Packages

No packages published