webkadabra / yii2-docs-module

Yii2 文档查看器模块

安装: 186

依赖: 0

建议: 0

安全: 0

星标: 3

关注者: 2

分支: 1

开放问题: 0

类型:yii2-module

2.0.3 2019-08-21 23:00 UTC

This package is auto-updated.

Last update: 2024-09-25 19:11:52 UTC


README

Markdown 或 TXT 文件的先进文档查看器

  • 自动注入每个文件夹的索引页面列表
  • 支持多种语言
  • 用于自定义 UI、面包屑等的回调

通过 Composer 安装

您可以使用以下命令安装包

composer require webkadabra/yii2-docs-module

与 Yii2 高级应用示例用法

假设您的应用程序文件夹结构如下


  /backend
  /docs
    /user
      /orders
        /fulfillment.md
  /frontend  

其中 fulfillment.md 是您用户文档(例如)“履行操作”的文档。无论如何,首先将此模块添加到您的 backend 配置中

// ...
'modules' => [
        // ...
        'docs' => [
            'class' => 'webkadabra\yii\modules\docs\Module',  
        ],
        // ...
],
// ...

高级配置示例(例如,添加面包屑)

// ...
'modules' => [
        // ...
        'docs' => [
            'class' => 'webkadabra\yii\modules\docs\Module',
            'layout' => '/docs',
            'on beforeAction' => function ($event) {
                /** @var yii\base\ActionEvent $event */
                Yii::$app->view->params['breadcrumbs'][] = [
                    'label' => Yii::t('app', ucfirst($event->sender->id)),
                    'url' => ['docs/docs/index'],
                ];
                $exs = explode('/', Yii::$app->request->getQueryParam('page'));
                $current = array_pop($exs);
                $path = [];
                foreach ($exs as $ex) {
                    $path[] = $ex;
                    Yii::$app->view->params['breadcrumbs'][] = [
                        'label' => ucwords(str_replace(['/', '_'], ['/', ' '], $ex)),
                        'url' => rawurldecode(\common\helpers\Url::toRoute(
                            [
                                'docs/docs/index',
                                'page' => implode('/', $path),
                            ]
                        )), 
                    ];
                }
                Yii::$app->view->params['breadcrumbs'][] = ucwords(str_replace(
                    ['/', '_'],
                    ['/', ' '],
                    $current
                ));
            },
        ],
        // ...
],
// ...

urlManager 组件中添加自定义规则

// ...
'components' => [
  // ...
    'urlManager' => [
      'rules' => [
        'docs/<page:[\w\d\/_-]*>' => 'docs/docs/index',
      ],
    ],
  ],

现在,您的文档可在 http://backend.website.test/docs/user/orders/fulfillment 处获得,向上浏览树结构将带来该目录的文档索引,例如:http://backend.website.test/docs/user 将带来 'docs/user' 目录中的文档列表(递归)。

待办事项

  • 多语言支持
  • 单元测试

感谢,欢迎提交拉取请求!

  • Sergii