100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| <a href="https://marked.js.org">
 | |
|   <img width="60px" height="60px" src="https://marked.js.org/img/logo-black.svg" align="right" />
 | |
| </a>
 | |
| 
 | |
| # Marked
 | |
| 
 | |
| [](https://www.npmjs.com/package/marked)
 | |
| [](https://cdn.jsdelivr.net/npm/marked/marked.min.js)
 | |
| [](https://packagephobia.now.sh/result?p=marked)
 | |
| [](https://www.npmjs.com/package/marked)
 | |
| [](https://github.com/markedjs/marked/actions)
 | |
| [](https://snyk.io/test/npm/marked)
 | |
| 
 | |
| - ⚡ built for speed
 | |
| - ⬇️ low-level compiler for parsing markdown without caching or blocking for long periods of time
 | |
| - ⚖️ light-weight while implementing all markdown features from the supported flavors & specifications
 | |
| - 🌐 works in a browser, on a server, or from a command line interface (CLI)
 | |
| 
 | |
| ## Demo
 | |
| 
 | |
| Checkout the [demo page](https://marked.js.org/demo/) to see marked in action ⛹️
 | |
| 
 | |
| ## Docs
 | |
| 
 | |
| Our [documentation pages](https://marked.js.org) are also rendered using marked 💯
 | |
| 
 | |
| Also read about:
 | |
| 
 | |
| * [Options](https://marked.js.org/#/USING_ADVANCED.md)
 | |
| * [Extensibility](https://marked.js.org/#/USING_PRO.md)
 | |
| 
 | |
| ## Compatibility
 | |
| 
 | |
| **Node.js:** Only [current and LTS](https://nodejs.org/en/about/releases/) Node.js versions are supported. End of life Node.js versions may become incompatible with Marked at any point in time.
 | |
| 
 | |
| **Browser:** Not IE11 :)
 | |
| 
 | |
| ## Installation
 | |
| 
 | |
| **CLI:** 
 | |
| 
 | |
| ```sh 
 | |
| npm install -g marked
 | |
| ```
 | |
| 
 | |
| **In-browser:** 
 | |
| 
 | |
| ```sh
 | |
| npm install marked
 | |
| npm install @types/marked # For TypeScript projects
 | |
| ```
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| ### Warning: 🚨 Marked does not [sanitize](https://marked.js.org/#/USING_ADVANCED.md#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! 🚨
 | |
| 
 | |
| ```
 | |
| DOMPurify.sanitize(marked.parse(`<img src="x" onerror="alert('not happening')">`));
 | |
| ```
 | |
| 
 | |
| **CLI**
 | |
| 
 | |
| ``` bash
 | |
| # Example with stdin input
 | |
| $ marked -o hello.html
 | |
| hello world
 | |
| ^D
 | |
| $ cat hello.html
 | |
| <p>hello world</p>
 | |
| ```
 | |
| 
 | |
| ```bash
 | |
| # Print all options
 | |
| $ marked --help
 | |
| ```
 | |
| 
 | |
| **Browser**
 | |
| 
 | |
| ```html
 | |
| <!doctype html>
 | |
| <html>
 | |
| <head>
 | |
|   <meta charset="utf-8"/>
 | |
|   <title>Marked in the browser</title>
 | |
| </head>
 | |
| <body>
 | |
|   <div id="content"></div>
 | |
|   <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
 | |
|   <script>
 | |
|     document.getElementById('content').innerHTML =
 | |
|       marked.parse('# Marked in the browser\n\nRendered by **marked**.');
 | |
|   </script>
 | |
| </body>
 | |
| </html>
 | |
| ```
 | |
| 
 | |
| ## License
 | |
| 
 | |
| Copyright (c) 2011-2022, Christopher Jeffrey. (MIT License)
 |