书童造轮子之自动生成数据字典

每次开发项目时,总是会被要求提供数据字典,每次手动写文档太累了,所以写了 这个扩展自动读取数据库信息 并显示在网页上,支持导出 HtmlPDF 文件。

  1. 导出 Html 实际为生成并导出一个离线版本的压缩包。
  2. 导出 PDF 使用了 laravel-snappy 扩展包
  3. 导出 Markdown 为数据表增加了锚点链接。

安装

  1. 安装包文件

    1
    $ composer require jormin/laravel-ddoc

配置

  1. 注册 ServiceProvider:

    1
    Jormin\DDoc\DDocServiceProvider::class,
  2. 创建配置文件:

    1
    php artisan vendor:publish
执行命令后会在 `config` 目录下生成两个文件:

- `laravel-ddoc.php`:本扩展配置文件,用于配置文档底部 `Copyright` 文案和链接。

- `snappy.php`:[laravel-snappy](https://github.com/barryvdh/laravel-snappy) 的配置文件,用于配置导出 `pdf` 的选项。

    > `pdf.binary` 项配置 `wkhtmltopdf` 执行文件的目录

    > `linux/unix/mac` 系统的执行文件存放于 `项目目录/vendor/h4cc/wkhtmltopdf-[amd64|i386]/bin/` 目录下

    > `wundiws` 系统的执行文件存放于 `项目目录/vendor/wemersonjanuario/wkhtmltopdf-windows/bin/[64bit|32bit]/` 目录下

使用

安装扩展后,浏览器访问 [http|https]://[your domain or ip]/ddoc

参考问题

  1. Q:导出的 PDF 文件中文不显示或者乱码?

    A:导致此问题的原因是机器上没有安装中文字体,解决方式如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    1、先从本机或者网络上下载所需的中文字体
    2、修改字体文件的权限,使root用户以外的用户也可以使用
    $ cd /usr/share/fonts/chinese/
    3、建立字体缓存
    $ sudo mkfontscale
    $ # 如果提示 mkfontscale: command not found,则需要安装# sudo apt-get install ttf-mscorefonts-installer
    $ sudo mkfontdir
    $ sudo fc-cache -fv
    $ # 如果提示 fc-cache: command not found,则需要安装# sudo apt-get install fontconfig

参考图

The MIT License (MIT). Please see License File for more information.

本文作者:Jormin
本文地址https://blog.lerzen.com/2017/03/31/书童造轮子之自动生成数据字典/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

----- 到这结束咯 感谢您的阅读 -----