Перейти к содержанию

Линтер Markdown

Найдите нарушенные ссылки, пропущенные уровни заголовков и незакрытые блоки кода в Markdown.

Входные данные
Существующие пути файлов (по одному в строке, опционально)
Выходные данные

Линтер Markdown

Вставьте документ Markdown, и этот инструмент сообщит, что в нем не так, один результат в строке с приложенным номером строки. Он всегда проверяет несоответствие **жирного**, __жирного__, ~~зачеркнутого~~ и `кода` маркеров, несбалансированные скобки [ ] ссылок и пустые цели ссылок или изображений, уровни заголовков, которые пропускают уровень (H1, за которым сразу же идет H3), и блоки кода в заборе, которые открыты, но никогда не закрыты — тип синтаксиса, который хорошо отображается в одном обработчике Markdown и нарушает работу в другом.

Опции добавляют проверки, которые больше касаются консистентности, чем синтаксиса. Включите проверку определений ссылок, чтобы поймать ссылку [text][ref] без соответствующего определения [ref]: url ниже, и определения, которые определены, но никогда не используются. Проверка дублирующихся заголовков помечает повторяющийся текст заголовка и более одного заголовка верхнего уровня, что сбивает с толку как читателей, так и генераторы содержания. Проверка консистентности списков обнаруживает маркированный список, который переходит с - на * посередине, или нумерованные элементы, которые выходят из последовательности. Вы также можете требовать язык в каждом блоке кода в заборе, помечать конечные пробелы (ровно два пробела остаются нетронутыми, так как это преднамеренный разрыв строки Markdown), и ограничивать длину строки. Вставьте список существующих путей файлов во второе поле, и локальные цели ссылок и изображений будут проверены на соответствие ему, чтобы переименованный или удаленный файл был виден как нарушенная ссылка перед публикацией.

Линтер обрабатывает окончания строк Windows (CRLF) и Unix (LF) одинаково, и проверки, которые могут дать сбой в содержимом кода — маркеры, ссылки, заголовки, списки, конечные пробелы — пропускаются для текста внутри блока кода в заборе. Проверка длины строки по-прежнему применяется везде. Панель вывода выделяет каждую строку результата красным цветом, чтобы длинный отчет было легко просмотреть, а подсчет выше показывает отсканированные строки, найденные проблемы и посчитанные заголовки.

Всё работает локально в вашем браузере. Документ, который вы вставляете, и любые пути файлов, которые вы добавляете для проверки ссылок, никогда не загружаются никуда. Когда вы закончите, скопируйте отчет, загрузите его как файл .txt или отправьте на вход другого инструмента для продолжения работы.

FAQ

Он полностью анализирует Markdown, как это делал бы рендерер?
Нет. Это построчный эвристический чекер, разработанный для выявления распространенных ошибок — неправильные маркеры, разрыв ссылок, пропущенные уровни заголовков, незакрытые заборы кода — а не полный парсер CommonMark, поэтому необычный конструкт может быть случайно пропущен или переоценен.
Почему запуск из двух конечных пробелов не помечен?
Два конечных пробела — это стандартный синтаксис Markdown для жесткого разрыва строки, поэтому они остаются нетронутыми. Один конечный пробел или конечная табуляция помечаются, так как это почти всегда случайно.
Что считается дублирующимся заголовком?
Текст заголовка сравнивается без учета регистра после обрезки, поэтому "Setup" и "setup" рассматриваются как один заголовок.
Как проверить ссылки на реальные файлы в моем проекте?
Вставьте один относительный путь в строку во второе поле — те же пути, на которые указывают ваши ссылки, например docs/setup.md. Локальные цели ссылок и изображений, которых нет в этом списке, помечаются; внешние URL и #якори всегда пропускаются.
Мой документ загружается куда-нибудь?
Нет. Проверка запускается полностью в вашем браузере — ваши Markdown и любые пути файлов, которые вы вводите, остаются на вашем устройстве.