Типографические замены

Markdown-it предоставляет мощный механизм типографических замен, позволяющий автоматически преобразовывать обычный текст в более эстетически оформленный. Этот функционал доступен через плагин markdown-it-typographer и включает замену прямых кавычек на типографские, тире, многоточия и другие элементы.

Включение типографики

Для начала необходимо подключить библиотеку и активировать плагин:

const MarkdownIt = require('markdown-it');
const md = new MarkdownIt({
  typographer: true
});

Опция typographer: true включает все стандартные преобразования текста в типографически корректные символы.

Замена кавычек

Markdown-it умеет автоматически превращать обычные кавычки " и ' в правильные ёлочки:

  • Прямые двойные кавычки "текст" → «текст»
  • Прямые одинарные кавычки 'текст' → ‘текст’

Эта замена учитывает контекст: открывающие кавычки отличаются от закрывающих, что обеспечивает корректное отображение в тексте.

Тире и дефисы

Типографические замены позволяют преобразовывать дефисы в тире:

  • Два дефиса -- превращаются в длинное тире (—).
  • Тройное тире --- можно использовать для особых случаев или разрывов.

Пример:

Я приехал домой -- и сразу лёг спать.

Рендерится как:

Я приехал домой — и сразу лёг спать.

Многоточия

Последовательность трёх точек ... автоматически преобразуется в типографическое многоточие (…) с правильным пробелом:

Ждал, ждал...

Отобразится как:

Ждал, ждал…

Это избавляет от ручной корректировки и улучшает читаемость текста.

Замена дефисов в числовых интервалах

Markdown-it также поддерживает правильные тире для диапазонов чисел. Например:

Страница 10-20

Будет автоматически преобразована в:

Страница 10–20

где используется короткое тире (en-dash), а не длинное тире, что соответствует правилам типографики.

Особые символы

Плагин typographer позволяет добавлять специфические символы и знаки:

  • (c) → ©
  • (r) → ®
  • (tm) → ™

Пример:

Продукт защищён (c) 2026

Отобразится как:

Продукт защищён © 2026

Настройка типографики

Markdown-it позволяет тонко настраивать замены через объект typographer:

const md = new MarkdownIt({
  typographer: true,
  quotes: '«»„“'
});

Здесь свойство quotes задаёт стиль кавычек для открытия и закрытия, а также вторичный стиль для вложенных кавычек. Это полезно при локализации текста для разных языков.

Применение в реальном проекте

Типографические замены особенно полезны для:

  • Блогов и статей, где внешний вид текста критичен.
  • Документации, где важно соблюдение правил типографики.
  • Систем генерации PDF и ePub, где визуальная аккуратность текста повышает восприятие.

Советы по использованию

  1. Проверять текст после конвертации, особенно если используется сложная вложенная разметка.
  2. Использовать настройку quotes для соответствия локальным правилам.
  3. Комбинировать типографику с другими плагинами Markdown-it, например markdown-it-abbr или markdown-it-footnote, для расширенной семантики текста.

Типографические замены в Markdown-it обеспечивают автоматизацию сложных правил оформления текста, уменьшая количество ручной корректировки и делая текст более профессиональным.