mamazu / documentation-validator
一款可以验证Markdown文档的验证工具
1.6.0
2022-02-05 17:20 UTC
Requires
- php: ^7.4|^8
- ext-dom: *
- ext-json: *
- ext-libxml: *
- mamazu/rst: ^2.0
- nikic/php-parser: ^4.2
- symfony/filesystem: ^4|^5.3
- symfony/yaml: ^4|^5
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpspec/phpspec: ^5.1|^6.0
- phpstan/phpstan: ^0.12.78
- phpstan/phpstan-strict-rules: ^0.12.9
- phpstan/phpstan-webmozart-assert: ^0.12.12
- symplify/easy-coding-standard: ^10.0
README
每个项目都需要文档,通常这些文档会伴随代码片段,展示如何集成组件。问题是项目如何确保这些代码能够运行且代码是最新的?那么这就是你的工具。
安装
这是一个仅限开发人员的包。在不安装开发依赖项的情况下安装它会导致问题。
composer require --dev mamazu/documentation-validator
vendor/bin/doc-parser <要检查的文件>
如何使用它
bin/phpdoc-parser <path> [-i extensionscript.php]
path Path containing the documentation
-i script.php Configuration script of the application
Example:
bin/doc-parser docs # Validate with default configuration
bin/doc-parser docs -i config.php # Validate with custom configuration
扩展的配置在应用程序启动之前加载。要查看模板,请查看tests/extensions/delete.php
文件。在tests/extensions/add_phpstan.php
文件中提供了一个添加更多验证器的示例,该文件还添加了PHPstan的验证规则。
支持的解析格式
这里是此库支持的完整解析器列表
- IgnoredFileParser(这允许忽略某些扩展,如pdf文件)
- Markdown(目前只支持块注释)
- RstParser
- LatexParser(目前只支持
lstlisting
包)
验证器
- CompositeValidator:验证所有传递给构造函数的子验证器
- Bash
- BashValidator:使用内置拼写检查器验证bash或sh文件
- PHP
- ClassExistenceValidator:验证use语句中引用的类是否存在
- PhpStanValidator(可选):使用PHPstan验证代码
- EnvValidator:验证
.env
文件的内容
- XML
- XMLValidator:检查文档是否包含有效的XML
- YAML / YML
- YamlValidator:检查文档是否包含有效的Yaml
- JSON
- JsonValidator:默认PHP JSON解析,不带错误行号