Skip to content

Экосистема плагинов Markdown

Истинная мощь Markdown заключается в его расширяемости. Через плагины вы можете добавлять новые функции, настраивать синтаксис и интегрировать Markdown с различными инструментами и сервисами.

Популярные процессоры Markdown

Marked.js

Быстрый JavaScript-парсер Markdown.

Установка

bash
npm install marked

Базовое использование

javascript
const marked = require('marked');
const html = marked.parse('# Hello World');

Markdown-it

Подключаемый парсер Markdown, быстрый и легко расширяемый.

Установка

bash
npm install markdown-it

С плагинами

javascript
const md = require('markdown-it')();

md.use(require('markdown-it-emoji'));
md.use(require('markdown-it-footnote'));

const result = md.render('# Заголовок :smile:');

Основные категории плагинов

1. Расширения синтаксиса

GFM

bash
npm install remark-gfm

Эмодзи

bash
npm install markdown-it-emoji
javascript
const md = require('markdown-it')();
md.use(require('markdown-it-emoji'));
md.render('Привет :smile:');  // Привет 😄

2. Оглавление (TOC)

bash
npm install remark-toc

3. Подсветка кода

bash
npm install highlight.js
javascript
const marked = require('marked');
const hljs = require('highlight.js');

marked.setOptions({
  highlight: function(code, lang) {
    if (lang && hljs.getLanguage(lang)) {
      return hljs.highlight(code, { language: lang }).value;
    }
    return code;
  }
});

Создание пользовательских плагинов

Плагин Markdown-it

javascript
function myPlugin(md) {
  md.renderer.rules.paragraph_open = function(tokens, idx, options, env, self) {
    tokens[idx].attrSet('class', 'custom-paragraph');
    return self.renderToken(tokens, idx, options);
  };
}

const md = require('markdown-it')();
md.use(myPlugin);

Заключение

Экосистема плагинов Markdown очень богата и может удовлетворить практически любые потребности. Выбор правильного процессора и плагинов может значительно улучшить функциональность Markdown.

Дополнительные ресурсы

Build by www.markdownlang.com