elalecs / laravel-documenter
为Laravel和Filament项目提供的自动化文档生成器。它会分析你的项目结构,包括模型、Filament资源、控制器、作业、事件、中间件和规则,以创建全面的Markdown文档。非常适合快速引入新开发者或维护
Requires
- php: ^7.3|^8.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0
- nikic/php-parser: ^5.1
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: ^6.0|^7.0|^8.0
- pestphp/pest: ^1.22
- pestphp/pest-plugin-laravel: ^1.2
README
Laravel Documenter是Laravel和Filament项目的自动化文档生成器。其主要目的是生成或扩展你的项目的CONTRIBUTING.md文件,为你提供项目结构和组件的全面概述。
功能
- 自动生成或扩展你的Laravel项目中的CONTRIBUTING.md文件
- 文档关键组件:模型、Filament资源、API控制器、作业、事件、中间件和规则
- 使用可自定义的占位符进行灵活的文档格式化
- 通过提供最新的项目概述,帮助快速引入新开发者
- 无缝集成到Laravel和Filament项目中
要求
- PHP 7.3或更高版本
- Laravel 8.0或更高版本
安装
您可以通过Composer安装此包
composer require elalecs/laravel-documenter --dev
配置
发布配置文件
php artisan vendor:publish --provider="Elalecs\LaravelDocumenter\LaravelDocumenterServiceProvider" --tag="config"
这将创建一个config/laravel-documenter.php文件,您可以在其中自定义包的行为。
使用方法
用于生成或更新你的项目的CONTRIBUTING.md文件
php artisan documenter:generate
此命令将
- 分析你的项目结构
- 为每个组件(模型、Filament资源等)生成文档
- 创建或更新项目根目录中的CONTRIBUTING.md文件
你也可以为特定组件生成文档
php artisan documenter:generate --type model
可用的类型有:model
、filament
、api
和general
。
自定义
你可以通过发布和修改占位符文件来自定义文档输出
php artisan vendor:publish --provider="Elalecs\LaravelDocumenter\LaravelDocumenterServiceProvider" --tag="stubs"
这将把占位符文件复制到你的resources/views/vendor/laravel-documenter
目录。发布后,更新你的config/laravel-documenter.php
文件以指向你的自定义占位符
'stubs_path' => resource_path('views/vendor/laravel-documenter'),
重要:文档块
为了使Laravel Documenter有效运行,你的代码必须包含格式正确的文档块。这些文档块应该出现在
- 类中
- 方法(特别是在作业和中间件中的handle()方法,以及在规则中的passes()方法)
- 属性中
在文档块中包含@description
标签,以提供关于组件目的和功能的相关详细信息。
示例
/** * @description This job processes user uploads and generates thumbnails. */ class ProcessUserUpload implements ShouldQueue { // ... }
你的文档块越全面,生成的文档就越详细和有用。
更新
在更新包时,请确保重新发布配置文件并清除配置缓存
composer update elalecs/laravel-documenter php artisan vendor:publish --provider="Elalecs\LaravelDocumenter\LaravelDocumenterServiceProvider" --tag="config" --force php artisan config:clear
贡献
欢迎贡献!请随时提交Pull Request。对于重大更改,请先打开一个issue进行讨论。
请确保适当更新测试。
有关如何贡献的更多详细信息,请查看我们的CONTRIBUTING.md文件。
许可
Laravel Documenter是开源软件,受MIT许可的许可。