Форматтер Markdown
Вставьте документ Markdown, и форматтер перепишет его в едином стиле: исправит скачки уровней заголовков (никакого H2 после H4), выровняет столбцы таблиц в исходнике, обеспечит одну пустую строку между блоками, нормализует маркеры списков к -, схлопнет серии пустых строк и отсортирует ссылочные определения внизу. Отрендеренный HTML не меняется, аккуратнее становится только исходный файл, благодаря чему диффы становятся читаемыми.
Как форматтер переписывает Markdown
-
1
Вставьте Markdown
Вставьте сырой документ: README, страницу документации, заметки со встречи.
-
2
Выберите параметры стиля
Маркер списка (`-`/`*`), стиль заголовков (ATX/Setext), выравнивание таблиц, колонка переноса.
-
3
Отформатируйте
Инструмент разбирает документ в AST и заново сериализует его в выбранном стиле.
-
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, и абзацы будут перенесены заново. Строки внутри ограждений кода никогда не трогаются.
Нет. Форматтер предполагает, что ваши ссылки работают; он лишь реорганизует ссылочные определения. Используйте инструмент проверки ссылок отдельно.
Нет. Разбор и форматирование выполняются в вашем браузере; содержимое никогда не покидает ваше устройство.
Сопутствующие инструменты
Смешивание цветов
Смешайте два HEX-цвета в 2-20 равномерных образцов. Каждый промежуточный цвет показывается как HEX-код в верхнем регистре, включая оба края.
Генератор вымышленных телефонных номеров
Создавайте до 50 вымышленных номеров из официально зарезервированных диапазонов пяти стран.
Генератор конфигурации webpack
Создайте webpack.config.js для webpack 5 под чистый JavaScript, React или Vue: TypeScript, Babel, CSS или Sass, изображения, HtmlWebpackPlugin, dev-сервер и команда npm install.
Генератор бейджей README
Создавайте бейджи shields.io для файлов README на GitHub: статус сборки, версия, лицензия, число загрузок и покрытие кода. Просмотрите и скопируйте фрагмент Markdown.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Генератор случайных адресов
Создавайте 1–20 похожих на адрес записей для макетов и тестов в трёх упрощённых форматах.
Инструмент доступен на других языках
- مُنسِّق ماركداون [AR]
- Markdown-Formatter [DE]
- Markdown-formatter [NL]
- Formater Markdown [PL]
- Pemformat Markdown [ID]
- Trình định dạng Markdown [VI]
- Formateur Markdown [FR]
- Markdown-formaterare [SV]
- Markdown フォーマッター [JA]
- Formatador de Markdown [PT]
- ตัวจัดรูปแบบ Markdown [TH]
- Formateador de Markdown [ES]
- Markdown 포맷터 [KO]
- Markdown Formatter [EN]
- Formatter Markdown [IT]
- Markdown Biçimlendirici [TR]
- Markdown 格式化工具 [ZH]