我喜欢在个人项目中同时使用JSON和Markdown。每一个npm包都须要一个package.json文件,该文件先让是用JSON格式编写的。另外,好的项目须要配套好的文档。我喜欢使用Markdown写文档。git
但我真的不写Markdown文件,我写的是文档,但他们存储在代码中(JSDoc注释)。我使用Blah
自动生成Markdown文档的,然而有时候这些文档模版不够。github
这就是我建立json2md的缘由,它是JSON和Markdown语言之间的桥梁,此包与个人Blah模版集成,我能够使用JSON 在个人package.json (或其余JSON文件)中编写自定义内容,来定制输入在最终文档结果。npm
如何使用 使用npm i json2md
在本地下载并安装json2md
软件包。而后你能够在Node.js应用程序中,甚至客户端(浏览器)中使用它。json
例如,要建立Markdown 图片 标签,你须要执行一下操做:浏览器
var json2md = require("json2md");
var myImg = json2md({
img: {
source: "http://example.com/image.png"
, title: "My image"
}
});
console.log(myImg);
复制代码
输出结果为
bash
这是另一个更复杂的示例:markdown
// Dependencies
var json2md = require("json2md");
console.log(json2md([
{ h1: "JSON To Markdown" }
, { blockquote: "A JSON to Markdown converter." }
, { img: [
{ title: "Some image", source: "https://example.com/some-image.png" }
, { title: "Another image", source: "https://example.com/some-image1.png" }
, { title: "Yet another image", source: "https://example.com/some-image2.png" }
]
}
, { h2: "Features" }
, { ul: [
"Easy to use"
, "You can programatically generate Markdown content"
, "..."
]
}
, { h2: "How to contribute" }
, { ol: [
"Fork the project"
, "Create your branch"
, "Raise a pull request"
]
}
]));
复制代码
这将产生:ui
# JSON To Markdown
> A JSON to Markdown converter.



## Features
- Easy to use
- You can programatically generate Markdown content
- ...
## How to contribute
1. Fork the project
2. Create your branch
3. Raise a pull request
复制代码
但这不是所有! 您能够建立自定义转换器。 假设你有一个像{sayHello:“World”}
这样的输入。 若是你想生成一个Hello World!
输出,你能够这样作:spa
json2md.converters.sayHello = function (input) {
return "Hello " + input "!";
};
复制代码
这基本上扩展了转换器对象并添加了自定义转换器。code
在GitHub上查看json2md。 我确信有不少事情须要改进。 随意提问,解决问题并作出贡献!