marked README

The project's README from github.com/markedjs/marked. As one markdown file: README.md.

Marked

npm install size downloads github actions snyk inspect.software

Demo

Check out 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: Baseline Widely Available

Installation

CLI:

npm install -g marked

In-browser:

npm install marked

Usage

Warning: 🚨 Marked does not sanitize the output HTML. Please use a sanitize library, like DOMPurify (recommended), sanitize-html or insane on the output HTML! 🚨

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

Node.js

import { marked } from 'marked';
const html = marked.parse('# Marked in Node.js');
console.log(html);

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/lib/marked.umd.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) 2018+, MarkedJS. (MIT License) Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)

marked (markedjs/marked)

Searching Database…

37.2K ·GitHub
Что это такое?Marked — это парсер и компилятор markdown, созданный для скорости. Вы подаёте ему markdown-текст и получаете HTML, а работать он может в браузере, на сервере или из командной строки.
Это библиотека, которую я использую в коде, или готовое приложение?Это JavaScript-библиотека, которую вы вызываете из своего кода, плюс небольшой CLI для конвертации markdown прямо в терминале. Есть и демо-страница, если хочется просто вставить markdown и увидеть результат.
Как добавить его в проект?Установите через npm: глобально для CLI (npm install -g marked) или как зависимость проекта для использования в коде; в браузере подключите его тегом script или импортируйте ESM-модуль. Документация находится на marked.js.org.
Что нужно установить, чтобы он заработал?Для работы на сервере или в CLI нужна поддерживаемая версия Node.js: только актуальные и LTS-релизы, пакет ориентируется на Node 20+. В браузере подойдёт любой браузер уровня Baseline Widely Available, а сама библиотека не имеет ни одной зависимости в рантайме.
Можно ли вставлять сгенерированный HTML прямо на свою страницу без опаски?Нет — Marked не очищает свой вывод. Если хоть какая-то часть markdown может приходить от пользователей, сначала прогоните полученный HTML через санитайзер вроде DOMPurify (рекомендуется), sanitize-html или insane.
Где он работает?Везде, где работает JavaScript: в современных браузерах (Baseline Widely Available), в Node.js на сервере и в терминале через его CLI.
Под какой лицензией он распространяется?MIT, поэтому его можно свободно использовать в личных и коммерческих проектах. Права принадлежат MarkedJS (с 2018 года) и Christopher Jeffrey (2011–2018).
В чём главное преимущество Marked?Скорость и лёгкость: это низкоуровневый компилятор, который разбирает markdown без кэширования и долгих блокировок, оставаясь при этом лёгким и реализуя все возможности markdown из поддерживаемых диалектов и спецификаций.
Поддерживаются ли GFM и CommonMark?Он реализует все возможности markdown из поддерживаемых диалектов и спецификаций, а в репозитории среди тем явно указаны спецификации commonmark и gfm.
Можно ли добавить свой синтаксис или поведение?Да. Расширяемость — одна из ключевых возможностей: Marked легко адаптируется с помощью пользовательских расширений, а в документации есть раздел Extensibility рядом со справочником Options.
Есть ли простой способ попробовать его перед установкой?Да — в README есть ссылка на демо-страницу, где можно увидеть Marked в действии, да и сам сайт документации отрисован с помощью Marked.
Creator
markedjs
Size
10.7 MB
Stars
37.2K
Age
15y
Commits · 90 Days