klitsche / dog
PHP 库的源代码文档生成器
v0.5.0
2023-01-21 23:37 UTC
Requires
- php: ^8.0
- phpdocumentor/reflection: ^4.0 || ^5.0
- symfony/console: ^5.0 || ^6.0
- symfony/event-dispatcher: ^5.0 || ^6.0
- symfony/filesystem: ^5.0 || ^6.0
- symfony/finder: ^5.0 || ^6.0
- symfony/stopwatch: ^5.0 || ^6.0
- symfony/yaml: ^5.0 || ^6.0
- twig/twig: ^3.0
Requires (Dev)
- humbug/box: 4.2.0
- phpunit/phpunit: ^9.4
- symplify/easy-coding-standard: ^10.3
Suggests
- ext-json: To use enricher PHPLOC
- ext-simplexml: To use enricher Clover
README
Dog 是一个精简的 PHP 库的源代码文档生成器。它围绕 phpdocumentor/reflection 和 twig 展开功能。
正在进行中:所有 0.* 预发布版都可能会出现破坏性更改。
功能
- 轻松生成源代码文档
- 分析代码和 phpdoc
- 帮助通过自定义规则(基于 建议的 PSR-19)优化代码和 phpdoc 以便文档化
- 输出 markdown(例如,用于与 mkdocs-material 一起使用)
- 分析 PHP ^5.2 的源代码
- 提供支持自定义打印逻辑和简单模板(计划中)
- 提供支持自定义增强逻辑以添加相关和关联数据
运行时要求
- PHP ^8.0
建议
- json 扩展以丰富
phploc
数据 - simplexml 扩展以丰富
clover
覆盖率数据
快速入门
添加到您的项目中
composer require --dev klitsche/dog
在项目根目录中创建配置文件 .dog.yml
并编辑它。
示例
# Title of index page title: 'Overview' # Relative or absolute paths to source files - plus patterns to include or exclude path pr files srcPaths: 'src': '/.*\.php$/': true # Add new or change validation rules - omit completely to use default set rules: PublicFileDocBlockMissingRule: class: 'Klitsche\Dog\Analyzer\Rules\DocBlockMissingRule' issueLevel: 'ignore' match: getElementType: 'File' # Configure enrichers to add extra data to project or element items enrichers: clover: class: \Klitsche\Dog\Enrichers\Clover\CloverEnricher file: clover.xml # FQCN for template printer class printerClass: 'Klitsche\Dog\Printer\Markdown\Printer' # Relative or absolute path to output directory outputDir: 'docs/api' # Enable or disable debug mode - helps when tweaking templates debug: false
首先分析代码和 phpdoc,然后生成文档
vendor/bin/dog
分析代码和 phpdoc,以发现潜在的文档问题,而不生成文档
vendor/bin/dog --analyze
在不先分析的情况下生成文档
vendor/bin/dog --generate
文档
https://klitsche.github.io/dog/
待办事项
- 添加代码风格检查
- 添加 GitHub 操作
- 为 dog bin 添加 cmd 接口
- 添加验证规则
- 添加文档(mkdocs,github 页面)
- 添加测试
- 添加对打印机配置的支持 - 例如,templatePath
- 添加 phar 打包
- 改进描述打印 - (inheritDoc,行内标签,...)
- 为 建议的 PSR-19 标签 添加直接元素接口
- 添加 phive 打包