我喜歡在個人項目中同時使用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);
複製代碼
輸出結果爲![My image](http://example.com/image.png)
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.
![Some image](https://example.com/some-image.png)
![Another image](https://example.com/some-image1.png)
![Yet another image](https://example.com/some-image2.png)
## 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。 我確信有不少事情須要改進。 隨意提問,解決問題並作出貢獻!