为优锋/laravel-doc

一个用于展示文档或API文档的工具

v1.0.3 2021-03-10 12:06 UTC

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/Docsresources/views/docsresources/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');

});
  • i18n

config/laravel_doc.php 中更改 languages 的值以设置您自己的语言,默认提供的为 Chinese

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

请参阅 contributing.md 以获取详细信息以及待办事项列表

安全

如果您发现任何安全相关的问题,请通过电子邮件 foryoufeng@gmail.com 而不是使用问题跟踪器

许可证

MIT。有关更多信息,请参阅 许可证文件