silverstripe/markdown-php-codesniffer

一个围绕 squizlabs/PHP_CodeSniffer 的包装器,允许您在 markdown 文件中对 PHP 隔离代码块进行代码检查

1.0.2 2024-06-17 00:44 UTC

This package is auto-updated.

Last update: 2024-09-13 03:49:55 UTC


README

这是一个围绕 squizlabs/PHP_CodeSniffer 的包装器,允许您在 markdown 文件中对 PHP 隔离代码块进行代码检查。

安装

squizlabs/PHP_CodeSniffer 不同,这个包不是打算全局安装的 - 您应该将其作为项目的一个开发依赖安装。

composer require --dev silverstripe/markdown-php-codesniffer

使用方法

要检查 markdown 文件,请在 vendor bin 目录中运行 mdphpcs

# sniff a directory
vendor/bin/mdphpcs /path/to/docs

# sniff a specific file
vendor/bin/mdphpcs /path/to/docs/file.md

phpcsphpcbf 命令在 squizlabs/PHP_CodeSniffer 中提供的许多选项也适用于 mdphpcs。有关更多详细信息,请参阅PHP_CodeSniffer 使用说明

自动修复违规

某些违规可以自动修复,PHP_CodeSniffer 将在 CLI 输出中包含有关这些违规的信息。要修复它们,只需将 --fix 选项传递给 mdphpcs

vendor/bin/mdphpcs /path/to/docs --fix

这相当于在常规 PHP 文件上使用 phpcbf 命令。

检查其他语言

squizlabs/PHP_CodeSniffer 支持检查除 PHP 之外的一些语言。理论上,这个工具也可以这样做。您需要通过 --linting-language 选项传递语言(就像它在 markdown 语言提示中那样书写)。

vendor/bin/mdphpcs /path/to/docs --linting-language=JS

检查规则

如果您有一个 默认配置文件 或通过 --standard 选项显式传递一个标准,则这些规则将用于检查 - 但请注意,一些规则可能不适合检查代码块。

例如,PSR12.Files.FileHeader.HeaderPosition 规则将始终失败检查,因为我们需要在传递给 squizlabs/PHP_CodeSniffer 的内容中包含代码块内容之前的空行,以便它可以正确报告原始 markdown 文件中每个违规的行。

如果您没有指定标准并且没有默认配置文件,将使用本包中包含的默认配置 文件。此配置基于 PSR12,但进行了一些排除,使其适合用于检查代码块。