webkadabra / yii2-docs-module
Yii2 文档查看器模块
2.0.3
2019-08-21 23:00 UTC
Requires
- yiisoft/yii2: >=2.0.4
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
