【译】使用json2md将JSON转换为Markdown

我喜欢在个人项目中同时使用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。 我确信有不少事情须要改进。 随意提问,解决问题并作出贡献!

原文地址

相关文章
相关标签/搜索