搭建一个文档系统
#ssh
localhost@127.0.0.1 📢 Password:password
系统架构
该系统由「一个代码库」「若干开发者」和「一台服务器」组成。
代码库
代码库(SVN)中有一份文档系统的源码,里面放着文档系统的配置文件和各个项目的文档文件。
开发者
开发者可以将 SVN 中的文档系统源码 checkout 至本地进行编辑、预览。修改完毕后再提交回去。
服务器
服务器中也有一份从 SVN 中 checkout 出来的文档系统源码,这些内容被一个叫做文档网站生成器的软件动态转换成网页在 3000 端口以 HTTP 的形式对外提供访问。这样我们就可以通过浏览器以输入 IP 地址加端口的形式访问该文档系统。另外该服务器上还运行着一个周期任务,这个任务每隔 15 分钟(准确地说是在00分、15分、30分、45分的时候)从 SVN 服务器中更新一次文档系统源码。这样就实现了文档系统的自动更新。
使用说明
第一步:搭建环境
➀ 安装「node.js」(一个基于 Chrome V8 引擎 的 JavaScript 运行时环境)
➁ 安装「docsify」(一个使用 JavaScript 编写的文档网站生成器)
第二步:建立文档
建立文档框架并提交至代码仓库
http://svn.sulfurandcu.com/doc |
第三步:预览效果
将上述文档框架下载到本地,在其根目录下执行 docsify serve 命令启动一个本地服务器,就可以在本地预览效果。
点击 http://localhost:3000 即可预览
第四步:进入正轨(编辑文档、本地预览、提交变更)
搭建好开发环境、将〈#项目文档〉下载到本地且知道怎么预览以后,就可以开始编辑、预览、提交了,跟代码的编辑、调试、提交没什么两样!
技术细节
这部分内容是文档系统搭建的一些具体细节,在这里记录一下以供后续维护人员参考。需要说明的一点是,当前所使用的服务器运行的是 Windows 操作系统,因此以下操作均基于该操作系统。
自动更新
在 Windows 系统中,使用系统自带的任务计划程序实现:在〈计算机管理・任务计划程序〉中创建一个周期任务,每隔一段时间执行一次以下脚本。
import os |
任务计划程序配置好之后重启电脑不影响其运行
手动更新
改动提交之后想立即更新至文档服务器应该怎么做呢?
远程连接到服务器,手动执行一下 doc.py 即可。
手动启动 docsify 服务
电脑关机后 docsify 服务也会随之停止,因此每次开机后都要手动启动 docsify 服务。我尝试过启动后自动运行,但是经常会执行失败。
常见问题
服务器重启后网页无法访问!
检查 docsify 服务是否已经启动。
修改提交之后内容没有更新!
首先看周期更新任务是否正常执行。
如果周期更新任务没有问题,那么有可能是管理员同志的公司帐号密码修改过,而文档服务器中 svn 的访问密码没有同步修改导致的。