Экосистема плагинов 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-emojijavascript
const md = require('markdown-it')();
md.use(require('markdown-it-emoji'));
md.render('Привет :smile:'); // Привет 😄2. Оглавление (TOC)
bash
npm install remark-toc3. Подсветка кода
bash
npm install highlight.jsjavascript
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.