2018-03-22 11:57:04 -05:00
Marked is
2018-03-11 17:16:48 -04:00
1. built for speed.< sup > *</ sup >
2018-04-04 22:43:24 -04:00
2. a low-level markdown compiler for parsing markdown without caching or blocking for long periods of time.< sup > **</ sup >
2018-03-11 17:16:48 -04:00
3. light-weight while implementing all markdown features from the supported flavors & specifications.< sup > ***</ sup >
4. available as a command line interface (CLI) and running in client- or server-side JavaScript projects.
< p > < small > < sup > *< / sup > Still working on metrics for comparative analysis and definition.< / small > < br >
< small > < sup > **< / sup > As few dependencies as possible.< / small > < br >
< small > < sup > ***< / sup > Strict compliance could result in slower processing when running comparative benchmarking.< / small > < / p >
2018-03-25 20:46:27 -04:00
< h2 id = "demo" > Demo< / h2 >
2018-03-26 10:36:47 -05:00
Checkout the [demo page ](./demo/ ) to see marked in action ⛹️
2018-03-25 20:46:27 -04:00
These documentation pages are also rendered using marked 💯
2018-03-11 17:16:48 -04:00
< h2 id = "installation" > Installation< / h2 >
**CLI:** `npm install -g marked`
2019-02-18 17:36:45 -05:00
**In-browser:** `npm install marked`
2018-03-11 17:16:48 -04:00
< h2 id = "usage" > Usage< / h2 >
2020-08-29 18:55:11 -04:00
### Warning: 🚨 Marked does not [sanitize](/using_advanced#options) the output HTML. Please use a sanitize library, like [DOMPurify](https://github.com/cure53/DOMPurify) (recommended), [sanitize-html](https://github.com/apostrophecms/sanitize-html) or [insane](https://github.com/bevacqua/insane) on the output HTML! 🚨
2018-06-24 01:56:52 -05:00
2018-03-11 17:16:48 -04:00
**CLI**
``` bash
$ marked -o hello.html
hello world
^D
$ cat hello.html
< p > hello world< / p >
```
2018-04-01 23:25:53 -05:00
``` bash
$ marked -s "*hello world*"
< p > < em > hello world< / em > < / p >
```
2018-03-11 17:16:48 -04:00
**Browser**
```html
<!doctype html>
< html >
< head >
< meta charset = "utf-8" / >
< title > Marked in the browser< / title >
< / head >
< body >
< div id = "content" > < / div >
2018-03-25 20:36:41 -04:00
< script src = "https://cdn.jsdelivr.net/npm/marked/marked.min.js" > < / script >
2018-03-11 17:16:48 -04:00
< script >
document.getElementById('content').innerHTML =
marked('# Marked in browser\n\nRendered by **marked** .');
< / script >
< / body >
< / html >
```
2020-09-21 09:57:04 -05:00
**Node.js**
2020-09-21 00:00:45 -05:00
```js
const marked = require("marked");
2020-09-21 09:56:54 -05:00
const html = marked('# Marked in Node.js\n\nRendered by **marked** .');
2020-09-21 00:00:45 -05:00
```
2018-03-11 17:16:48 -04:00
2020-08-29 17:55:07 -04:00
Marked offers [advanced configurations ](/using_advanced ) and [extensibility ](/using_pro ) as well.
2018-03-11 17:16:48 -04:00
< h2 id = "specifications" > Supported Markdown specifications< / h2 >
We actively support the features of the following [Markdown flavors ](https://github.com/commonmark/CommonMark/wiki/Markdown-Flavors ).
2020-07-06 16:47:39 -04:00
| Flavor | Version | Status |
| :--------------------------------------------------------- | :------ | :----------------------------------------------------------------- |
| The original markdown.pl | -- | |
| [CommonMark ](http://spec.commonmark.org/0.29/ ) | 0.29 | [Work in progress ](https://github.com/markedjs/marked/issues/1202 ) |
| [GitHub Flavored Markdown ](https://github.github.com/gfm/ ) | 0.29 | [Work in progress ](https://github.com/markedjs/marked/issues/1202 ) |
2018-03-11 17:16:48 -04:00
By supporting the above Markdown flavors, it's possible that Marked can help you use other flavors as well; however, these are not actively supported by the community.
< h2 id = "security" > Security< / h2 >
The only completely secure system is the one that doesn't exist in the first place. Having said that, we take the security of Marked very seriously.
2020-08-29 17:55:07 -04:00
Therefore, please disclose potential security issues by email to the project [committers ](/authors ) as well as the [listed owners within NPM ](https://docs.npmjs.com/cli/owner ). We will provide an initial assessment of security reports within 48 hours and should apply patches within 2 weeks (also, feel free to contribute a fix for the issue).