天天看点

showDoc项目文档管理工具

ShowDoc是什么

  • 每当接手一个他人开发好的模块或者项目,看着那些没有写注释的代码,我们都无比抓狂。文档呢?!文档呢?!Show me the doc !!
  • 程序员都很希望别人能写技术文档,而自己却很不希望要写文档。因为写文档需要花大量的时间去处理格式排版,想着新建的word文档放在哪个目录等各种非技术细节。
  • word文档零零散散地放在团队不同人那里,需要文档的人基本靠吼,吼一声然后上qq或者邮箱接收对方丢过来的文档。这种沟通方式当然可以,只是效率不高。
  • ShowDoc就是一个非常适合IT团队的在线文档分享工具,它可以加快团队之间沟通的效率。

它可以用来做什么

  • API文档( 查看Demo)
    • 随着移动互联网的发展,BaaS(后端即服务)越来越流行。服务端提供API,APP端或者网页前端便可方便调用数据。用ShowDoc可以非常方便快速地编写出美观的API文档。
  • 数据字典( 查看Demo)
    • 一份好的数据字典可以很方便地向别人说明你的数据库结构,如各个字段的释义等。
  • 说明文档 ( 查看Demo)
    • 你完全可以使用showdoc来编写一些工具的说明书,也可以编写一些技术规范说明文档以供团队查阅

它都有些什么功能

  • 分享与导出
    • 响应式网页设计,可将项目文档分享到电脑或移动设备查看。同时也可以将项目导出成word文件,以便离线浏览。
  • 权限管理
    • 公开项目与私密项目
      • ShowDoc上的项目有公开项目和私密项目两种。公开项目可供任何登录与非登录的用户访问,而私密项目则需要输入密码验证访问。密码由项目创建者设置。
    • 项目转让
      • 项目创建者可以自由地把项目转让给网站的其他用户。
    • 项目成员
      • 你可以很方便地为ShowDoc的项目添加、删除项目成员。项目成员可以对项目进行编辑,但不可转让或删除项目(只有项目创建者才有权限)
    • 团队管理
      • 利用showdoc的团队功能你可以更好地进行团队协作
  • 编辑功能
    • markdown编辑
      • ShowDoc采用markdown编辑器,无论是编辑还是阅读体验都极佳很棒。如果你不了解Markdown,请在搜索引擎搜索”认识与入门 Markdown”
    • 模板插入
      • 在ShowDoc的编辑页面,点击编辑器上方的按钮可方便地插入API接口模板和数据字典模板。插入模板后,剩下的就是改动数据了,省去了很多编辑的力气。
    • 历史版本
      • ShowDoc为页面提供历史版本功能,你可以方便地把页面恢复到之前的版本。
    • 代码下载:

      git clone https://github.com/star7th/showdoc.git

      nginx配置:

      server {

          listen 80;

          #listen 443 ssl http2;

          server_name lch.showdoc.com;

          root "/htdocs/showdoc";

          index index.html index.htm index.php;

          charset utf-8;

          location / {

              try_files $uri $uri/ /index.php?$query_string;

          }

          location = /favicon.ico { access_log off; log_not_found off; }

          location = /robots.txt  { access_log off; log_not_found off; }

          #access_log off;

          error_log  /var/log/nginx/lch.showdoc.com-error.log error;

          sendfile off;

          client_max_body_size 100m;

          location ~ \.php$ {

              fastcgi_split_path_info ^(.+\.php)(/.+)$;

              fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

              fastcgi_index index.php;

              include fastcgi_params;

              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

              fastcgi_intercept_errors off;

              fastcgi_buffer_size 16k;

              fastcgi_buffers 4 16k;

              fastcgi_connect_timeout 300;

              fastcgi_send_timeout 300;

              fastcgi_read_timeout 300;

          }

          location ~ /\.ht {

              deny all;

          }

          #ssl_certificate     /etc/nginx/ssl/lch.vg.hd.com.crt;

          #ssl_certificate_key /etc/nginx/ssl/lch.vg.hd.com.key;

      }

      重启nginx既可以打开showdoc文档,直接创建项目使用

showdoc_db.sh文件链接数据库:

#!/bin/bash

#

#

#

host="127.0.0.1"                #数据库所在地址。默认是localhost

port=3306                        #数据库所在端口。默认是3306

user="homestead"                    #数据库的用户名

password="secret"             #密码

db="ichub2"                     #要同步的数据库名。要同步多个db可以将本脚本复制多份

api_key="c49f993351854daa9ea6f3905ea01e94198884625"             #api_key

api_token="919140917fa28cb2c792dc5f0b3123ff14452849"     #api_token

cat_name="中台数据字典"     #可选。如果想把生成的文档都放在项目的子目录下,则这里填写子目录名。

#url="https://www.showdoc.cc/server/?s=/api/open/updateDbItem" #可选。同步到的url。如果是使用www.showdoc.cc ,则不需要再改此项。如果是部署开源版showdoc,请改此项为http://xx.com/server/index.php?s=/api/open/updateDbItem 。其中xx.com为你的部署域名

url="http://lch.showdoc.com/server/index.php?s=/api/open/updateDbItem"

#

#

#

#

#

#

export MYSQL_PWD=${password} 

COMMAND="set names utf8;select TABLE_NAME ,TABLE_COMMENT from tables where TABLE_SCHEMA ='${db}'  "

declare table_info=`mysql -h${host} -P${port} -u${user}  --show-warnings=false -D information_schema -e "${COMMAND}" `

#echo $table_info

#exit;

COMMAND="set names utf8;select TABLE_NAME ,COLUMN_NAME, COLUMN_DEFAULT ,IS_NULLABLE ,COLUMN_TYPE ,COLUMN_COMMENT from COLUMNS where TABLE_SCHEMA ='${db}'  " 

declare table_detail=`mysql -h${host} -P${port} -u${user}  --show-warnings=false -D information_schema -e "${COMMAND}" `

#echo $table_detail

#exit;

curl -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8'  "${url}" --data-binary @- <<CURL_DATA

from=shell&table_info=${table_info}&table_detail=${table_detail}&api_key=${api_key}&api_token=${api_token}&cat_name=${cat_name}

CURL_DATA

export MYSQL_PWD=""

在文件根目录下保存为showdoc_db.sh,执行:

showDoc项目文档管理工具
showDoc项目文档管理工具

可以看到数据库已经生成文档