A markdown parser and compiler. Built for speed.
 
 
 
Go to file
dependabot[bot] dc53dd9ef0
chore(deps-dev): Bump @arethetypeswrong/cli from 0.13.8 to 0.13.10 (#3200)
Bumps [@arethetypeswrong/cli](https://github.com/arethetypeswrong/arethetypeswrong.github.io/tree/HEAD/packages/cli) from 0.13.8 to 0.13.10.
- [Release notes](https://github.com/arethetypeswrong/arethetypeswrong.github.io/releases)
- [Changelog](https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/arethetypeswrong/arethetypeswrong.github.io/commits/@arethetypeswrong/cli@0.13.10/packages/cli)

---
updated-dependencies:
- dependency-name: "@arethetypeswrong/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-19 19:50:14 -05:00
.devcontainer chore: add .devcontainer config (#2700) 2023-01-08 00:07:35 -06:00
.github fix: run spec tests with testutils (#3017) 2023-11-10 22:49:27 -07:00
api chore: update dingus (#2624) 2022-10-30 20:26:36 -05:00
bin fix: Fix ENOENT error message in CLI (#3165) 2024-01-26 17:26:11 -07:00
docs docs: add `marked-shiki` to known extensions (#3197) 2024-02-19 10:30:44 -05:00
man feat: add `--no-clobber` option to CLI (#3025) 2023-10-04 20:05:55 -06:00
src fix: update to commonmark specs 0.31 (#3176) 2024-02-03 08:21:29 -08:00
test fix: update to commonmark specs 0.31 (#3176) 2024-02-03 08:21:29 -08:00
.editorconfig style 2018-04-05 11:36:07 -04:00
.eslintignore fix: run spec tests with testutils (#3017) 2023-11-10 22:49:27 -07:00
.eslintrc.json fix: Migrate to Typescript (#2805) 2023-07-29 00:31:34 -06:00
.gitattributes chore(git): mark `lib/*` as generated in `.gitattributes` (#2908) 2023-07-31 17:43:35 -04:00
.gitignore fix: run spec tests with testutils (#3017) 2023-11-10 22:49:27 -07:00
.releaserc.json chore: rename release config 2021-11-02 09:40:27 -05:00
LICENSE.md chore(docs): update versioning and other docs (#1834) 2020-11-18 14:20:03 -06:00
README.md docs: add docs for esm in browser (#3107) 2023-11-28 08:12:06 -07:00
SECURITY.md docs: Update authors link in SECURITY.md (#3013) 2023-09-28 07:32:42 -06:00
bower.json fix: Convert to ESM (#2227) 2021-11-02 09:32:17 -05:00
jasmine.json fix: Convert to ESM (#2227) 2021-11-02 09:32:17 -05:00
package-lock.json chore(deps-dev): Bump @arethetypeswrong/cli from 0.13.8 to 0.13.10 (#3200) 2024-02-19 19:50:14 -05:00
package.json chore(deps-dev): Bump @arethetypeswrong/cli from 0.13.8 to 0.13.10 (#3200) 2024-02-19 19:50:14 -05:00
rollup.config.js chore: add version and copyright to marked.min.js (#2976) 2023-09-10 09:05:00 -06:00
tsconfig-type-test.json fix: fix more types (#2893) 2023-08-19 16:55:56 -06:00
tsconfig.json fix: noImplicitAny: true (#2891) 2023-08-09 23:33:46 -06:00
vercel.json Use cleanUrls 2020-08-29 17:55:07 -04:00

README.md

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)