为优锋 / laravel-doc
一个用于展示文档或API文档的工具
Requires
- laravel/framework: ^5.0||~6.0||~7.0||~8.0
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
This package is auto-updated.
Last update: 2024-09-10 19:59:45 UTC
README
中文文档
⛵laravel-doc
是一个用于生成Laravel文档的Markdown文档生成器,可以帮助您通过Web访问文档
要求
- PHP >= 7.0.0
- Laravel >= 5
安装
通过Composer
composer require foryoufeng/laravel-doc
如果您没有运行Laravel 5.5(或更高版本),则需要在 config/app.php
中添加服务提供者
Foryoufeng\Doc\DocServiceProvider::class
您需要通过运行命令来发布资源文件
php artisan doc:install
运行命令后,您可以在项目中找到许多新文件
/public/vendor/laravel-doc //styles
/resources/views/docs //views
/resources/mds/docs //markdown doc files
/resources/mds/apidocs //markdown apidoc files
/app/Http/Controllers/Docs //Controllers
config/laravel_doc.php //config
routes/web.php //add access url in the route file
以访问应用程序
-
访问
/doc
,查看文档 -
访问
/apidoc
,查看API文档 -
但它们是用中文编写的
如何使用
通用文档
在 resources/mds/docs
中创建您的md文件,例如demo.md
,然后将其内容添加到 app/Http/Controllers/Docs/LaravelDocController.php
中,找到 index_md
方法来添加数据,例如:
private function index_md()
{
return [
[
'name' => config('laravel_doc.languages.install'),
'doc_link' => 'install.md',
],
[
'name' => config('laravel_doc.languages.how_use'),
'doc_link' => 'how_use.md',
],
[
'name' => 'demo',
'doc_link' => 'demo.md',
],
];
}
访问 /doc
控制器
文档的默认保存路径
$this->mds_path=resource_path('mds/docs/');
- 配置菜单
protected function getMenu()
return [
[
'name'=>config('laravel_doc.languages.project_doc'),
'spread'=>true,//菜单是否展开,false不展开
'children'=>[
'name'=>config('laravel_doc.languages.install'),
'doc_link'=>'install.md',
],
],
[
'name'=>config('laravel_doc.languages.project_doc'),
'spread'=>false,//不展开菜单
'children'=>[
'name'=>config('laravel_doc.languages.install'),
'doc_link'=>'install.md',
],
],
];
}
- 添加您的菜单后,将您添加到
resources/mds/docs
文件夹中的doc_link
添加到config menus
API文档
在 resources/mds/apidocs
中创建您的md文件,例如demo.md
,然后将其内容添加到 app/Http/Controllers/Docs/LaravelApiDocController.php
中,找到 index_md
方法来添加数据,例如:
private function index_md()
{
return [
[
'name' => 'apidoc_html',
'doc_link' => 'apidoc_html.md',
'url' => $this->host.'apidoc/html',
'request_type' => 'get',
'params'=>[
'name'=>'apidoc_html.md',
]
],
[
'name' => 'demo',
'doc_link' => 'demo.md',
'url' => $this->host.'apidoc/html',
'request_type' => 'get',
'params'=>[
'name'=>'',
'user_id'=>'',
]
],
];
}
访问 /doc
laravel_doc.php
//laravel-doc name
'name' => 'Laravel-doc',
//the author who write the api doc
'author' => env('DOC_AUTHOR','foryoufeng'),
//access token
'token' => env('DOC_TOKEN','doc'),
'languages'=>[
'search'=>'搜索',
'search_result'=>'搜索结果',
'project_doc'=>'项目文档',
'doc_name'=>'文档名称',
'install'=>'安装',
'how_use'=>'使用说明',
'request_type'=>'http请求方式',
'request_url'=>'请求地址',
'send_request'=>'发送请求',
'generate_doc'=>'生成文档',
'welcome_use'=>'欢迎使用',
'param'=>'参数',
'value'=>'值',
'generate'=>'生成',
]
高级
要添加更多项目,您可以复制 app/Http/Controllers/Docs
、resources/views/docs
、resources/mds/
和复制路由,然后进行修改
//doc route
Route::group(['namespace'=>'Docs'],function (){
Route::get('doc', 'LaravelDocController@index')->name('doc.index');
Route::get('doc/html', 'LaravelDocController@html')->name('doc.html');
Route::get('apidoc', 'LaravelApiDocController@index')->name('doc.apidoc');
Route::get('apidoc/html', 'LaravelApiDocController@html')->name('doc.apidoc.html');
Route::post('apidoc/markdown', 'LaravelApiDocController@markdown')->name('doc.apidoc.markdown');
Route::post('apidoc/save', 'LaravelApiDocController@save')->name('doc.apidoc.save');
});
在 config/laravel_doc.php
中更改 languages
的值以设置您自己的语言,默认提供的为 Chinese
变更日志
有关最近更改的更多信息,请参阅 变更日志
贡献
请参阅 contributing.md 以获取详细信息以及待办事项列表
安全
如果您发现任何安全相关的问题,请通过电子邮件 foryoufeng@gmail.com 而不是使用问题跟踪器
许可证
MIT。有关更多信息,请参阅 许可证文件