@343dev/markdown-lint

中文文档
3.0.1发布于 2024/08/07MITES Module近 30 天下载 1929

Markdown code style linter

原始使用文档
文档目录9 节
  1. Мотивация
  2. Установка
  3. Работа с CLI
  4. Доступные флаги
  5. Конфигурация линтера
  6. Пример работы
  7. До обработки с флагом --fix
  8. После обработки
  9. Благодарности

@343dev/markdown-lint

Аватар: Яркое градиентное лого Markdown со звёздочкой

npm

Консольная утилита для проверки Markdown-файлов на соответствие указанным стандартам качества.

Основана на Prettier, Remark и Typograf.

Мотивация

Порой репозитории с проектами содержат большое количество файлов с документацией. Однажды мы решили начать проверять грамматику и орфографию в таких файлах, и создали для этих целей languagetool-node.

В то же время мы решили проверять синтаксис Markdown-файлов, как мы проверяем JS, CSS и иные файлы проекта. Потому создали этот линтер.

Установка

Для глобальной установки и использования CLI-утилиты:

npm install -g @343dev/markdown-lint

Для установки в проект:

npm install --dev @343dev/markdown-lint

Работа с CLI

Для ручной проверки файлов или директорий можно обращаться к markdown-lint из командной строки:

# проверка файла на наличие ошибок
markdown-lint README.md

# проверка файлов внутри директории (без поиска в поддиректориях)
markdown-lint ./docs

# проверка файлов внутри директории (с поиском в поддиректориях)
markdown-lint -r ./docs

# проверка файла и автоматическое исправление ошибок
markdown-lint --fix README.md

Доступные флаги

  • --fix — автоматическое исправление ошибок;
  • --ext <value> — указание расширений файлов; допустимо последовательное указание нескольких расширений, например --ext apib --ext txt. По умолчанию md;
  • -t, --typograph — типографирование текста;
  • -r, --recursive — поиск файлов не только внутри указанной директории, но и во всех поддиректориях;
  • -c, --config <file> — подключение внешнего файла с конфигурацией линтера;
  • -v, --version — вывод текущей версии линтера;
  • -h, --help — вывод справки.

Конфигурация линтера

Работа линтера основана на Markdown-процессоре remark.

Линтинг производится с помощью библиотеки remark-lint и набора правил remark-preset-lint-markdown-style-guide.

Для тонкой настройки линтера нужно создать файл конфигурации и с помощью флага --config указать путь до него:

markdown-lint --fix --config ~/.markdownlintrc.cjs README.md

Пример конфигурации:

module.exports = {
  // prettier обрабатывает тексты, когда `--fix` передан
  prettier: {
    // автоматически ограничиваем длину строки в 120 символов
    printWidth: '120'
  },

  remark: {
    // применяем настройки для remark-lint
    plugins: [
      // объявляем линтеру, что максимальная длина строки теперь равна 120 символам
      ['remark-lint-maximum-line-length', 120],

      // отключаем правило `no-inline-padding`
      ['remark-lint-no-inline-padding', false],

      // объявляем линтеру, что мы теперь используем `*` как маркер списка
      ['remark-lint-unordered-list-marker-style', '*']
    ],

    // remark-stringify обрабатывает тексты, когда `--fix` передан
    stringifySettings: {
      // автоматически заменяем все маркеры списка на `*`
      bullet: '*'
    }
  },

  typograf: {
    // API настроек — https://github.com/typograf/typograf/blob/dev/docs/api_rules.md
    // список правил — https://github.com/typograf/typograf/blob/dev/docs/RULES.ru.md
    locale: ['ru', 'en-US'],
    enableRules: [],
    disableRules: [
      // обязательное отключение следующих правил требуется для правильной работы типографа
      'common/space/delTrailingBlanks',
      'common/space/trimLeft',
      'common/space/trimRight'
    ],
    rulesSettings: []
  }
};

Пример работы

До обработки с флагом --fix

Linux kernel
============

There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or ``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.

__Useful links__

* [Linux kernel licensing rules](https://www.kernel.org/doc/html/latest/process/license-rules.html#kernel-licensing)
* [Reporting bugs](https://www.kernel.org/doc/html/latest/admin-guide/reporting-bugs.html)

После обработки

# Linux kernel

There are several guides for kernel developers and users. These guides can be
rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use `make htmldocs` or `make pdfdocs`. The
formatted documentation can also be read online at:

```
https://www.kernel.org/doc/html/latest/
```

There are various text files in the Documentation/ subdirectory, several of them
using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about the
problems which may result by upgrading your kernel.

**Useful links**

- [Linux kernel licensing rules](https://www.kernel.org/doc/html/latest/process/license-rules.html#kernel-licensing)
- [Reporting bugs](https://www.kernel.org/doc/html/latest/admin-guide/reporting-bugs.html)

Благодарности

Яркую картинку для репозитория нарисовал Игорь Гарибальди.

版本与发布记录

@343dev/markdown-lint 共发布 3 个版本,首次发布于 2023/09/04;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.0.1latest2024/08/072 年前
3.0.02024/03/282 年前
2.0.12023/09/043 年前

关于 @343dev/markdown-lint 的常见问题

@343dev/markdown-lint 是什么?

Markdown code style linter

如何安装 @343dev/markdown-lint?

在项目目录运行 npm install @343dev/markdown-lint,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 markdown-lint,可以用 npx markdown-lint 直接运行。

@343dev/markdown-lint 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/343dev__markdown-lint 是否存在。

@343dev/markdown-lint 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@343dev/markdown-lint 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=16。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@343dev/markdown-lint 可以商用吗?

@343dev/markdown-lint 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@343dev/markdown-lint 的下载量有多少?

根据 npm 官方下载统计,@343dev/markdown-lint 在 2026/10/05 – 2026/11/03 这 30 天内被下载 1,929 次,日均约 64 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@343dev/markdown-lint 还在维护吗?

最新版本 3.0.1 发布于 2024/08/07(2 年前);至今共发布 3 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/09/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。