Борьба с грамматическими ошибками в markdown файлах

Инструкция по использованию LTеX для борьбы с грамматическими ошибками в .md файлах.

Борьба с грамматическими ошибками в markdown файлах
Дата публикации
20.05.24
Дата обновления
16.05.26
Время чтения
3 мин.

Заметили большое количество грамматических, орфографических и пунктуационных ошибок в текстах статей нашего блога.

Поняли что с этим надо бороться и начали искать варианты.

Посты мы пишем в markdown файлах, используя VS Code, поэтому начали искать линтер с возможностью проверки грамматики, орфографии и пунктуации.

Расширение code-spell-checker

Ранее мы уже использовали расширение code-spell-checker поэтому решили попробовать его и в этот раз.

Но сразу столкнулись с парой проблем:

  • отсутствие поддержки русского языка из коробки;
  • отсутствие проверки функций проверки грамматики и пунктуации;

Первая проблема легко решается установкой расширения с русским словарём russian-code-spell-checker.

А вот вторая проблема не решается в рамках данного решения.

LTеX

Довольно быстро нашли другое решение - LTеX.

Основные особенности LTeX:

  • Поддержка Markdown, BibTEX, ConTEXt, LATEX, Org, reStructuredText, R Sweave, XHTML;
  • Работает полностью локально, не делает запросов в интернет;
  • Поддержка более 20 языков, в том числе русского;
  • Поддержка Quick fix и подсветка ошибок;
  • Поддержка пользовательских словарей;
  • Нормальная документация;

Настройка расширения для VS code

Для того чтобы включить и использовать LTeX для русского языка в VS Code надо:

  • Установить расширение;
  • В настройках расширения, либо в файле settings.json установить следующие настройки:
  "ltex.language": "ru-RU",
  "ltex.additionalRules.motherTongue": "ru-RU"

Примеры использования

Вот так выглядит подсветка ошибок в файле:

Подсветка ошибок в файлеПодсветка ошибок в файле

Вот так ошибки выглядят при наведении на них:

Ошибки при наведенииОшибки при наведении

Вот так выглядит меню Quick fix:

Меню Quick fixМеню Quick fix

Так же можно добавлять слова и правила в исключения:

ИсключенияИсключения

При этом генерируются .txt файлы с добавленными словами и исключениями для каждого языка.

Пример ltex.dictionary.ru-RU.txt:

бакет
захостить

На этом всё! 🎉

Расскажите о вашем проекте

Связаться иначе

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

Посты хранятся в .md в репозитории: опечатки и пунктуация попадают на сайт как есть. Линтер в VS Code ловит ошибки до публикации, пока правите черновик.

Расширение в основном ищет неизвестные слова. Русский подключается отдельным словарём, но грамматики и пунктуации там нет — для блога на русском этого мало. Сравнение — в начале статьи, раздел code-spell-checker.

Расширение для VS Code на базе LanguageTool: проверяет орфографию, грамматику и пунктуацию в Markdown и других форматах. Работает локально, без отправки текста в облако. Подробнее — раздел LTeX.

Установите vscode-ltex и в settings.json задайте ltex.language и ltex.additionalRules.motherTongue в ru-RU. Пошагово — настройка.

Да: через Quick fix слово попадает в пользовательский словарь (файлы вроде ltex.dictionary.ru-RU.txt). Удобно для IT-терминов (бакет, захостить и т.п.) — см. примеры.

LTeX умеет Markdown; для .mdx с JSX смотрите, как ведёт себя расширение в вашем проекте, или пишите посты в .md, а MDX — по статье про MDX.

Для объёма и символов — калькулятор текста. Для идей и черновиков — YandexGPT; финальную вычитку всё равно лучше делать глазами и линтером.

Вам может быть интересно

Добавляем поддержку MDX в Next.js приложение
Добавляем поддержку MDX в Next.js приложение

Добавляем поддержку MDX в Next.js приложение

3 мин.

Инструкция по добавлению поддержки MDX в Next.js приложение...

Пост#nextjs
Добавляем подсветку кода (синтаксиса) в статический блог на Next.js
Добавляем подсветку кода (синтаксиса) в статический блог на Next.js

Добавляем подсветку кода (синтаксиса) в статический блог на Next.js

4 мин.

Инструкция по добавлению подсветки кода (синтаксиса) в статическом блоге на Next.js...

Пост#туториалы#nextjs
Добавляем RSS-фид к статическому Next.js приложению
Добавляем RSS-фид к статическому Next.js приложению

Добавляем RSS-фид к статическому Next.js приложению

5 мин.

Инструкция по добавлению RSS фида к статическому Next.js приложению...

Пост#nextjs#фиды
Начинаем работу с Yandex AI Studio
Начинаем работу с Yandex AI Studio

Начинаем работу с Yandex AI Studio

9 мин.

Пошагово: API-ключ и Folder ID, OpenAI SDK с baseURL Яндекса, первый запрос через Responses API, примеры с чатом и JSON Schema, а так же выбор модели yandexgpt / yandexgpt-lite.

Пост#yandex#туториалы
Как посчитать время чтения текста (и добавить индикатор на сайт)
Как посчитать время чтения текста (и добавить индикатор на сайт)

Как посчитать время чтения текста (и добавить индикатор на сайт)

4 мин.

Инструкция по добавлению индикатора времени чтения текста на сайт...

Пост#туториалы
Добавляем поиск по тегам в статический блог на Next.js
Добавляем поиск по тегам в статический блог на Next.js

Добавляем поиск по тегам в статический блог на Next.js

5 мин.

Инструкция по добавлению простейшего поиска по тегам в статическом Next.js блоге...

Пост#туториалы#nextjs
Добавляем рекомендации постов и блок "Поделиться в соц. сетях"
Добавляем рекомендации постов и блок "Поделиться в соц. сетях"

Добавляем рекомендации постов и блок "Поделиться в соц. сетях"

4 мин.

Изучали различные блоги, аналогичные нашему и решили добавить блок "Поделиться в соц. сетях", а так же простейший механизм рекомендаций статей. Вот что из этого вышло...

Пост#туториалы
Добавляем пагинацию в статический блог на Next.js
Добавляем пагинацию в статический блог на Next.js

Добавляем пагинацию в статический блог на Next.js

4 мин.

Инструкция по добавлению пагинации постов в статическом блоге на Next.js...

Пост#туториалы#nextjs
Текстовый калькулятор
Текстовый калькулятор

Текстовый калькулятор

Утилита для подсчёта длины, количества слов и примерного времени чтения текста/статьи онлайн.

Инструмент#calculator