rumdl — это быстрый линтер и форматировщик Markdown, написанный на Rust. Он обеспечивает проверку и форматирование Markdown-файлов с поддержкой множества современных расширений и совместимостью с конфигурациями markdownlint.
Проект может быть полезен разработчикам и авторам контента, которые хотят поддерживать чистоту и единообразие в своих Markdown-документах. У rumdl есть конкурентные преимущества: высокая скорость работы и простота использования, особенно в сравнении с аналогами. Можно запускать его как без установки (используя uvx), так и после установки через Homebrew, Cargo, npm, pip или другие менеджеры пакетов.
Доступен под лицензией MIT, но не забывай о том, что проект активно развивается, и возможны ошибки или недоработки. Из README не видно ограничений по платформе, но учитывай, что это всё ещё молодое решение.
## О проекте
rumdl — это инструмент для проверки и форматирования Markdown файлов. Он использует нативный бинарный файл на Rust и предлагает поддержку множества конфигураций markdownlint, а также современным вариантам Markdown. Проект нацелен на то, чтобы упростить соблюдение правил оформления Markdown в документах, позволяя авторам и командам получать быструю обратную связь.
Проект активен и используется такими известными проектами, как Firefox, Docker Docs и Apache Lucene.
## Основные возможности
- Скорость: rumdl разработан для быстрого получения обратной связи благодаря кэшированию результатов.
- 88 правил линтинга для проверки распространенных проблем в Markdown.
- Автоматическое форматирование файлов с помощью флага `--fix`.
- Никаких зависимостей: это один бинарный файл без дополнительных требований к окружению.
- Высокая настраиваемость через конфигурационные файлы TOML.
- Поддержка нескольких вариаций Markdown, таких как GFM, MkDocs и другие.
- Возможность установки с помощью различных менеджеров пакетов.
## Установка
Установить rumdl можно несколькими способами. Вот несколько основных вариантов:
```bash
# Установить с помощью Homebrew (macOS/Linux)
brew install rumdl
# Установить с помощью Cargo (Rust)
cargo install rumdl
# Установить с помощью pip (Python)
pip install rumdl
# Установить с помощью npm
npm install -g rumdl
```
Существует возможность установки через Docker. Вот пример команды:
```bash
docker run --rm --user "$(id -u):$(id -g)" -v "$PWD:/data" ghcr.io/rvben/rumdl:latest check .
```
Дополнительную информацию по установке можно найти в [документации](https://rumdl.dev).
## Использование
После установки использовать rumdl довольно просто. Вот несколько примеров команд:
```bash
# Линтинг сущности
rumdl check README.md
# Форматирование всех файлов в директории
rumdl fmt .
# Создание конфигурационного файла
rumdl init
```
Проект поддерживает stdin и stdout для интеграции с редакторами и CI/CD процессами.
## Ограничения
Несмотря на множество возможностей, rumdl всё ещё находится в бета-версии, и некоторые функции могут измениться. Важные моменты:
- В проекте реализован интегрированный сервер для поддержки LSP, что может потребовать некоторых дополнительных настроек.
- Некоторые старые конфигурации markdownlint могут быть не полностью совместимы, но rumdl предоставляет инструменты для миграции.
Для более подробной информации о правилах линтинга и поддерживаемых конфигурациях, загляни в [документацию](https://rumdl.dev/docs).
Если ты ищешь инструмент, который упростит работу с Markdown, rumdl предлагает множество возможностей, чтобы соответствовать твоим требованиям.