md2json2html
v1.0.0
Published
A npm package that transform markdown data to json and html.
Downloads
55
Maintainers
Readme
md2json2html
A npm package that transform markdown data to json and html.
Usage:
Install:
npm i md2json2html
Example:
See the test file.
const fs = require('fs');
const main = require('md2json2html');
const markdown2json = main.markdown2json;
const json2html = main.json2html;
const data = fs.readFileSync(__dirname + '/test.md', 'utf8');
const jsonRes = markdown2json(data);
const htmlRes = json2html(jsonRes.content);
console.log(JSON.stringify(jsonRes, null, 4));
console.log(htmlRes);
API:
markdown2json
/**
* markdown to json
*
* @param {string} markdownData markdown data string
* @return {Object} json object that contents yaml format meta and markdown-json node
*/
Note: the markdown-json node is defined as following:
class Node {
constructor(tagName, attr, children) {
this.tagName = tagName;
this.attr = attr;
this.children = children;
}
}
// example:
// Node {
// tagName: 'ul',
// attr: {
// // key-value pairs for ul
// },
// children: Node or Array of Node
// }
See also test.json.
json2html
/**
* json to html
*
* @param {Object} node markdown-json node
* @param {Array} converters markdown-json node tramsform functions
* @return {string} html format string
*/
converters
is an array of function, the function's arguments as follows:
/**
* sample converter
*
* @param {Object} node markdown-json node
* @return {Object} transformed markdown-json node, this will pass to next converter
*/
function sampleConverter(node) {
// do something here.
}
You can find a sample converter in test file. The converter using prismjs highlight the code area of node.
Thanks to mark-twain.