Skip to content
  1. Введение
  2. Проверка орфографии (cspell)

Проверка орфографии (cspell)

В проекте для проверки орфографии в Markdown и коде используется cspell. Настроена проверка русского и английского текста (словарь @cspell/dict-ru_ru). Папка docs/en/ исключена из проверки — её можно проверять отдельно при необходимости.

Запуск проверки

Из корня репозитория:

  • pnpm run spellcheck — выводит отчёт по всем найденным ошибкам орфографии (файл, строка, слово). Удобно перед отправкой правок или в CI.
  • pnpm run spellcheck:fix — та же проверка с выводом вариантов исправления (подсказок) для каждого неизвестного слова; исправления в файлы вносятся вручную или слово добавляется в cspell.json.

После установки зависимостей (pnpm install) команды доступны без дополнительной настройки.

Проверка одного файла или папки

Удобно при правке конкретной страницы:

shell
npx cspell "docs/components/ajaxform.md" --no-progress
npx cspell "docs/guide/**/*.md" --no-progress

Конфигурация

Файл конфигурации — cspell.json в корне проекта.

  • language"en,ru": проверка по русскому и английскому словарям.
  • words — массив дополнительных «правильных» слов: технические термины (MODX, miniShop2, Fenom), имена компонентов и сниппетов, домены (modstore, modx.pro) и т.п. Эти слова не считаются ошибками.
  • ignorePaths — пути, которые cspell не проверяет: docs/en, **/parts/**, lock-файлы, node_modules, plop-templates.

Так мы избегаем ложных срабатываний на названиях пакетов, тегов и путей.

Добавление слов

Если cspell помечает корректное слово как ошибку (например, новое имя компонента или термин), добавьте его в массив words в cspell.json. Слова задаются в нижнем регистре; cspell сопоставляет без учёта регистра.

Пример фрагмента cspell.json:

json
{
  "words": ["minishop2", "pdotools"]
}
  • words — словарь проекта: имена пакетов, хуки, редкие аббревиатуры.
  • ignorePaths — целые пути не проверять (английский гайд, шаблоны plop и т.д.). Не злоупотребляйте: лучше добавить термин в words, чем отключать проверку целых разделов без причины.

Англоязычные файлы в docs/en/ основным скриптом не проверяются; при необходимости запустите cspell с явным путём к docs/en/.

Подробнее о настройке — в документации cspell.