Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
A JSON to Markdown converter.
If you're looking to use this on the client side, that's also possible. Check out the dist
directory.
$ npm i --save json2md
// 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"
]
}
, { h2: "Code blocks" }
, { p: "Below you can see a code block example." }
, { "code": {
language: "js"
, content: [
"function sum (a, b) {"
, " return a + b;"
, "}"
, "sum(1, 2);"
]
}
}
]));
// =>
// # 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
//
// ## Code blocks
//
// Below you can see a code block example.
//
// ```js
// function sum (a, b) {
// return a + b;
// }
// sum(1, 2);
// ```
json2md(data, prefix)
Converts a JSON input to markdown.
Supported elements
Type | Element | Data | Example |
---|---|---|---|
h1 | Heading 1 | The heading text as string. | { h1: "heading 1" } |
h2 | Heading 2 | The heading text as string. | { h2: "heading 2" } |
h3 | Heading 3 | The heading text as string. | { h3: "heading 3" } |
h4 | Heading 4 | The heading text as string. | { h4: "heading 4" } |
h5 | Heading 5 | The heading text as string. | { h5: "heading 5" } |
h6 | Heading 6 | The heading text as string. | { h6: "heading 6" } |
p | Paragraphs | The paragraph text as string or array (multiple paragraphs). | { p: "Hello World"} or multiple paragraphs: { p: ["Hello", "World"] } |
blockquote | Blockquote | The blockquote as string or array (multiple blockquotes) | { blockquote: "Hello World"} or multiple blockquotes: { blockquote: ["Hello", "World"] } |
img | Image | An object or an array of objects containing the title and source fields. | { img: { title: "My image title", source: "http://example.com/image.png" } } |
ul | Unordered list | An array of strings representing the items. | { ul: ["item 1", "item 2"] } |
ol | Ordered list | An array of strings representing the items. | { ol: ["item 1", "item 2"] } |
code | Code block element | An object containing the language (String ) and content (Array or String ) fields. | { code: { "language": "html", "content": "<script src='dummy.js'></script>" } } |
table | Table | An object containing the headers (Array of String s) and rows (Array of Array s or Object s). | { table: { headers: ["a", "b"], rows: [{ a: "col1", b: "col2" }] } } or { table: { headers: ["a", "b"], rows: [["col1", "col2"]] } } |
You can extend the json2md.converters
object to support your custom types.
json2md.converters.sayHello = function (input, json2md) {
return "Hello " + input + "!";
};
Then you can use it:
json2md({ sayHello: "World" });
// => "Hello World!"
data
: The input JSON data.prefix
: A snippet to add before each line.Have an idea? Found a bug? See how to contribute.
Another way to support the development of my open-source modules is to set up a recurring donation, via Patreon. :rocket:
PayPal donations are appreciated too! Each dollar helps.
Thanks! :heart:
If you are using this library in one of your projects, add it in this list. :sparkles:
doc-cli
(by CNIO)—doc generator for nodejsreact-docgen-markdown
(by Moritz Sattler)—terraform2md
(by Bryan LOT)—Generate the Markdown from a terraform.tfstate file.I am using this library to generate documentation for my projects, being integrated with blah.FAQs
A JSON to Markdown converter.
We found that json2md demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.