• 文档生成器


    Docsify文档生成器

      前天快下班时,领导叫部署个Docsify工具,用于制作产品帮助文档的。能动态地呈现文档,不需将MD(markdown)解析为html,只要把编辑好的文件放在正确的位置即可。给我发了参考链接:https://blog.mimvp.com/article/38752.html,让部署完看看效果。

      这个是工具的github地址:https://github.com/docsifyjs/docsify

      部署Docsify很简单,几条命令~~ 前提要装npm环境。参考:https://blog.csdn.net/sky623966322/article/details/122017844

      这里最好设置下环境变量,不然一直要用绝对路径才能找到docsify命令(我这里,装完是在node安装位置的lib/node_modules下)

    vim /etc/profile
    写入:
    DOCSIFY_HOME=/usr/local/node/node-v10.15.3-linux-x64/lib/node_modules/docsify-cli/bin
    export PATH=$PATH:$DOCSIFY_HOME

      装好Docsify,浏览器访问:localhost:3000 //默认访问docs/README.md

      服务器的文档目录结构如下:index.html 和 README.md。test.md是我自己放的(浏览器访问:http://ip:3000/#/test)

      真正需求来了:把这个文件放置位置(就是上面的cocs目录)弄成共享文件夹,在公司内网编辑完后,让gitlab同步到线上访问。

    一、实现共享文件夹

      提到共享文件夹,我一开始说nginx能弄(后来想想nginx做也不好,要把编辑人员当成婴儿再思考,其实也不友好),老板说用python去实现,简单不用额外装nginx,直接开一个http服务去跑(老板还是见多识广的,至少比我没了解的强,哈哈。

      查了几篇文章,看到python是用一个http.server 模块跑的【python开启共享文件夹服务,链接:https://blog.csdn.net/u013421629/article/details/106874411】,linux系统自带的python2没有,需要装python3。且拉到文章最后看到效果时,发现浏览器这种显示跟nginx一摸一样的,nginx可以配个身份认证做权限认证,但python行不行不知道。然后我就给老板说这种方式不好,权限不控制的话,什么人都能丢文档过去,到时同步到线上容易造成恶劣影响。

      之后基于这些考虑,就给他说打算用samba去搞。当时经理提前给了我一个空的gitlab地址,说用来同步用(所以gitlab项目名:xxx-help就定死了,总不能去叫我经理改掉名字去适配测试的docs目录名的,不然显得我。。。当时以为docsify不能改文档目录名,所以硬着头皮把docs这个目录和经理定好的gitlab名字关联起来,亲测可行)

    大致讲下怎么搭的:

    1、装samba服务:samba samba-client

    2、关防火墙: SELINUX=disabled

    3、修改samba配置文件:/etc/samba/smb.conf

    。。。
    [global]
            security = user
    [docsify]
            comment = share all
            path=/opt/docsify/xxx-help
    public = yes writable = yes browseable=yes read only = No

     4、创建虚拟账号:docsify,用于登录

    useradd -d /home/docsify -s /sbin/nologin docsify        

     5、将docsify用户添加为samba用户,修改权限

    (1)pdbedit -a -u docsify
    ——》填入设置的密码
    (2)chown -Rf docsify.docsify /opt/docsify/

     最后启动samba服务即可。因为公司是个局域网,打开“我的电脑“,搜索框输入:\\ip ,填入samba用户密码即可。

    、实现gitlab同步

    1、思路:

    (1)将docsify文档放置目录(原来名字默认叫docs,改名成gitlab项目名),做成git目录

    cd /opt/docsify/docs
    mv docs xxx-help

    (2)关联gitlab

    git remote add origin  ssh://git@xxx.com/xxx-help.git

    (3)将线上和内网的ssh密钥放到gitlab,分别用来拉取和上传代码。

    其中推送之前(push)会让你进行git config设置的

    内网(git push):

    git add .
    git commit -m “Initial commit”
    git push

    注意,如果不让推送,运行:

    git push --set-upstream origin master
    git fetch origin
    git merge origin/master

    线上(git pull):

      需要跟内网部署一样的docsify文档目录,也要有npm环境,再进行gitlab关联

    (4)启动项目

    线上和线上都要跑起来:

    cd /home/用户名/docsify
    nohup docsify serve {xxx-help} &

    、公网nginx配置

      不支持location二级目录匹配,只能匹配根进行转发。所以我特意开了另一个二级域名,不用已有的域名转发。 

    location / {
              proxy_pass http://{运行docsify的服务器ip}:3000;
    }

    最后看看效果图,是前端测试的半成品图,

    后续估计排版会好看点,敬请期待。。。

  • 相关阅读:
    caption标签,为表格添加标题和摘要
    用css样式,为表格加入边框
    table标签,认识网页上的表格
    给div命名,使逻辑更加清晰
    认识div在排版中的作用
    使用ol,添加图书销售排行榜
    使用ul,添加新闻信息列表
    关于tableView在滚动时存在的偏移量问题
    跳转到微信扫一扫
    文件下载的缓存策略
  • 原文地址:https://www.cnblogs.com/windysai/p/16153818.html
Copyright © 2020-2023  润新知