markdown-to-json-with-content v0.0.3
Markdown YAML front-matter to JSON
version: 0.0.1
This is a modified version from Scott Stanfield's Markdown to JSON version.
Modification Note:
Deleted the delete _metadata['content'] method in m2j.js because
without _metadata['content'] the JSON object only spits out a preview
of the content below the YAML front matter chunk
Credit:
The credit goes to Scott Stanfield for creating this module.
Original Documentation from the original Repo:
m2j.js is used to read a folder of Markdown files, pulling out the YAML front matter from each, and saving it all as a JSON object.
This is especially useful if you have a folder full of Markdown files that you want scanned and processed into a single JSON file, which can then be consumed by Angular on the client, cached in a Node server, or saved in a nosql database.
In addition to moving the YAML to JSON, a few extra elements are created:
iso8601formatted fromdateusing Moment.jspreviewis first 70 or so characters of the actual raw markdown content, with ellipses at the endbasenameis the filename without the path or extension
Example
% m2.js --help
Usage: m2j [options] <files>
Options:
-h, --help output usage information
-V, --version output the version number
-w --width <int> max width of preview text [70]
-p --pretty format JSON with newlines
-o --outfile <filename> filename to save json to [output.json]
% m2j.js lottery.mslottery.md
---
title: The Lottery Ticket
author: Anton C.
date: "2013-03-15 15:00"
template: article.jade
tags:
- Fiction
- Russian
---
Ivan Dmitritch, a middle-class man who lived with his family on an income of twelve hundred a year and was very well satisfied with his lot, sat down on the sofa after supper and began reading the newspaper.output
{
"files": [
{
"title": "The Lottery Ticket",
"author": "Anton C.",
"date": "1893-04-01",
"template": "article.jade",
"tags": [
"Fiction",
"Russian"
],
"preview": "Ivan Dmitritch, a middle-class man who lived with his family on an …",
"iso8601Date": "1893-04-01T00:00:00-07:00",
"basename": "lottery.md"
}
]
}