vale

Давайте перейдем к чему-нибудь поинтереснее. Представим, что в вашей дизайн-систему уже есть редполитика и в ней вы раскрываете тему типографирования текстов:

Встает вопрос контролирования описанных правил. И тут на помощь приходит линтер vale. Это открытый, бесплатный инструмент командной строки для проверки стиля и качества текстов, исходного кода и документации. Он позволяет применять собственные или готовые редакторские гайды к любым текстам, чтобы поддерживать единый стиль написания в команде или проекте.

Для начала давайте придумаем какое-нибудь правило для редполитки, например, символы валют (₽, $, €, ¥) должны писаться через неразрывный пробел от числа.Иностранные примеры использования Vale

Установим линтер и настроим проверку правила, а для этого напишем промт:

Установи vale: https://vale.sh/docs/install.

Напиши первое правило для линтера: символы валют ₽, $, €, ¥ должны писаться через неразрывный пробел от числа. Уровень правила = error.

Проверять будем только файлы .md.

Запускать будем аналогично другим линтерам, поэтому добавь настройку в lint-staged.

Не добавляй инструкцию по использованию.

Реализовывать будем в рамках созданной ранее задачи:

Introduction Docusaurus

Агент будет устанавливать vale через пакетный менеджер brew. Поэтому он сначала установит его, а затем продолжит решение задачи, но в итоге справится с ней. Он создаст файл конфигурации .vale.ini:

Introduction Docusaurus

Добавит зависимость в package.json:

Introduction Docusaurus

И создаст файл для проверки нашего правила:

Introduction Docusaurus

Проверим работу линтера. Для этого в файл intro.md последней строкой добавим ошибочное написание валют:

Introduction Docusaurus

Попробуйте закоммитить изменения, выполнив команды:

git add .
git commit -m "test vale"

Система запустит проверку и линтер vale упадет с ошибкой:

Introduction Docusaurus

Давайте немного разберемся, что тут происходит.

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

Теперь исправьте ошибки и повторите коммит.

Супер! В файле intro.md нет ошибок, а все изменения закоммичены:

Introduction Docusaurus