
我喜欢在我的项目中同时使用JSON和Markdown。每个npm包都需要一个package.json文件,该文件先让是用JSON格式编写的。另外,好的项目需要配套好的文档。我喜欢使用Markdown写文档。
但我真的不写Markdown文件,我写的是文档,但他们存储在代码中(JSDoc注释)。我使用Blah自动生成Markdown文档的,然而有时候这些文档模版不够。
这就是我创建json2md的原因,它是JSON和Markdown语言之间的桥梁,此包与我的Blah模版集成,我可以使用JSON 在我的package.json (或其他JSON文件)中编写自定义内容,来定制输入在最终文档结果。
如何使用
使用npm i json2md在本地下载并安装json2md软件包。然后你可以在Node.js应用程序中,甚至客户端(浏览器)中使用它。
例如,要创建Markdown 图片 标签,你需要执行一下操作:
var json2md = require("json2md");
var myImg = json2md({
img: {
source: "http://example.com/image.png"
, title: "My image"
}
});
console.log(myImg);
输出结果为
这是另外一个更复杂的示例:
// 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"
]
}
]));
这将产生:
# 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!输出,你可以这样做:
json2md.converters.sayHello = function (input) {
return "Hello " + input "!";
};
这基本上扩展了转换器对象并添加了自定义转换器。
在GitHub上查看json2md。 我确信有很多事情需要改进。 随意提问,解决问题并做出贡献!