Форматтер Markdown

Вставьте документ Markdown, и форматтер перепишет его в едином стиле: исправит скачки уровней заголовков (никакого H2 после H4), выровняет столбцы таблиц в исходнике, обеспечит одну пустую строку между блоками, нормализует маркеры списков к -, схлопнет серии пустых строк и отсортирует ссылочные определения внизу. Отрендеренный HTML не меняется, аккуратнее становится только исходный файл, благодаря чему диффы становятся читаемыми.

Как форматтер переписывает Markdown

  1. 1

    Вставьте Markdown

    Вставьте сырой документ: README, страницу документации, заметки со встречи.

  2. 2

    Выберите параметры стиля

    Маркер списка (`-`/`*`), стиль заголовков (ATX/Setext), выравнивание таблиц, колонка переноса.

  3. 3

    Отформатируйте

    Инструмент разбирает документ в AST и заново сериализует его в выбранном стиле.

  4. 4

    Сравните вывод

    Вид рядом друг с другом показывает, что изменилось, прежде чем вы вставите это обратно.

Что исправляет форматтер

  • Маркеры списков. *, -, + нормализуются к одному единому символу (по умолчанию -).
  • Иерархия заголовков. Предупреждает (или повышает уровень), когда за H2 следует H4 без H3 между ними.
  • Пустые строки. Ровно одна пустая строка между блоками; никаких серий из трех и более.
  • Таблицы. Дополняет каждый столбец так, чтобы вертикальные черты выравнивались в исходнике, хотя рендерерам Markdown это безразлично.
  • Конечные пробелы. Убирает пробелы в конце каждой строки, кроме намеренного маркера переноса из двух пробелов.
  • Ссылочные ссылки. Собирает определения [label]: url в конце документа, отсортированные по алфавиту.
  • Ограждения кода. Тег языка нормализуется к нижнему регистру; блоки кода на основе отступов становятся огражденными блоками.

Параметры стиля, которые можно задать

Параметр По умолчанию Альтернативы
Маркер списка - *, +
Стиль заголовков ATX Setext для H1/H2
Разделитель курсива * _
Разделитель жирного ** __
Колонка переноса 0 (выкл) 80, 100, 120
Сортировка ссылочных ссылок вкл выкл

Почему важен единообразный Markdown

В командном репозитории неединообразный Markdown порождает шумные диффы: каждый раз, когда кто-то сохраняет файл в другом редакторе, маркеры списков меняются, а таблицы переформатируются. Форматтер обеспечивает единый стиль, поэтому ревьюеры pull request видят только изменения содержимого. Считайте это prettier для прозы.

Когда не форматировать

  • Огражденные блоки кода остаются байт в байт нетронутыми, форматтер никогда не трогает содержимое блока кода. Если форматирование меняет код, это баг.
  • Намеренные жесткие переносы на узкой ширине (readme.md в терминальном проекте) перепереносятся, если вы включите колонку переноса. Отключите перенос, если храните вручную настроенные переносы строк.
  • Встроенные блоки HTML проходят без изменений.

Замены drop-in

Если вы предпочитаете локальный CLI, форматтер использует те же правила AST, что и remark-stringify с плагином remark-gfm. prettier --parser markdown дает похожий результат.

Часто задаваемые вопросы

Нет. Форматтер переписывает только исходник, отрендеренный HTML для версий «до» и «после» должен быть эквивалентным. Если вы видите изменение в рендеринге, сообщите об этом как о баге.

Нет. Front-matter в YAML или TOML в начале файла обнаруживается и пропускается без изменений.

Да, задайте колонку переноса в 80, 100 или 120, и абзацы будут перенесены заново. Строки внутри ограждений кода никогда не трогаются.

Нет. Форматтер предполагает, что ваши ссылки работают; он лишь реорганизует ссылочные определения. Используйте инструмент проверки ссылок отдельно.

Нет. Разбор и форматирование выполняются в вашем браузере; содержимое никогда не покидает ваше устройство.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Конвертер CMYK в RGB

Преобразуйте проценты CMYK в приблизительные значения RGB и Hex для быстрого экранного предпросмотра по стандартной формуле.

Шпаргалка по Markdown

Практический справочник Markdown с настоящим предпросмотром и готовыми для копирования примерами заголовков, списков, таблиц, кода, ссылок, изображений и синтаксиса GFM.

Конвертер размера файлов

Преобразуйте значения между байтами, КБ, МБ, ГБ, ТБ и двоичными единицами IEC (KiB, MiB, GiB, TiB), свободно сочетая десятичные и двоичные единицы.

Инструмент доступен на других языках