Go to file
2024-08-25 21:53:46 -06:00
.devcontainer
.github chore(ci): Publish with Provenance (#3305) 2024-05-29 11:29:20 -06:00
api chore: consolidate eslint rules (#3368) 2024-07-14 18:54:46 -06:00
bin chore: consolidate eslint rules (#3368) 2024-07-14 18:54:46 -06:00
docs feat: add provideLexer and provideParser hooks (#3424) 2024-08-25 21:53:46 -06:00
man feat: add --no-clobber option to CLI (#3025) 2023-10-04 20:05:55 -06:00
src feat: add provideLexer and provideParser hooks (#3424) 2024-08-25 21:53:46 -06:00
test feat: add provideLexer and provideParser hooks (#3424) 2024-08-25 21:53:46 -06:00
.editorconfig
.gitattributes
.gitignore feat: add provideLexer and provideParser hooks (#3424) 2024-08-25 21:53:46 -06:00
.releaserc.json
bower.json
CHANGELOG.md chore: add changelog that points to releases (#3207) 2024-03-01 22:30:34 -07:00
eslint.config.js chore: use @markedjs/eslint-config (#3391) 2024-08-05 15:41:23 -06:00
jasmine.json
LICENSE.md
package-lock.json chore(deps-dev): Bump semantic-release from 24.0.0 to 24.1.0 (#3423) 2024-08-19 11:10:52 -05:00
package.json chore(deps-dev): Bump semantic-release from 24.0.0 to 24.1.0 (#3423) 2024-08-19 11:10:52 -05:00
README.md docs: add docs for esm in browser (#3107) 2023-11-28 08:12:06 -07:00
rollup.config.js chore: consolidate eslint rules (#3368) 2024-07-14 18:54:46 -06:00
SECURITY.md docs: Update authors link in SECURITY.md (#3013) 2023-09-28 07:32:42 -06:00
tsconfig-type-test.json fix: fix more types (#2893) 2023-08-19 16:55:56 -06:00
tsconfig.json
vercel.json

Marked

npm gzip size install size downloads github actions snyk

  • 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 to see marked in action ⛹️

Docs

Our documentation pages are also rendered using marked 💯

Also read about:

Compatibility

Node.js: Only current and LTS 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:

npm install -g marked

In-browser:

npm install marked

Usage

DOMPurify.sanitize(marked.parse(`<img src="x" onerror="alert('not happening')">`));

CLI

# Example with stdin input
$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>
# Print all options
$ marked --help

Browser

<!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>

or import esm module

<script type="module">
  import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
  document.getElementById('content').innerHTML =
    marked.parse('# Marked in the browser\n\nRendered by **marked**.');
</script>

License

Copyright (c) 2011-2022, Christopher Jeffrey. (MIT License)