工做后一直在从事PHP开发, 从之前的大包大揽到如今的退居服务端写接口, 当中接触过几个的接口文档管理工具或系统, 简单描述下:php
两个月前由于项目的缘由须要一个简单的工具来管理接口文档, 此次就把开发过程当中的经历记录在这里, 抛砖引玉~css
刚开始判断一个md文件是否须要编译成HTML, 是拿md文件的建立时间和最后修改时间作对比进行判断的,
可是后来发现, 一些复制来的, 重命名的文件用这个方法就不起做用.
最后使用了一个中间文件, 去记录本次编译的文件的时间, 再跟 max(建立时间, 最后修改时间)对比判断是否须要编译html
后续使用过程当中发现, 有些md文档被删除了, 可是没有自动删除最终编译后的文件,
所以, 在编译时会对md文件和最后的HTML文件求一个差集, 删掉那些多余的HTML文件node
首先, dtree.js须要必定要求的json数据才能显示目录和进行展开和折叠的交互
还有, dtree.js字体比较小, 他的图片,样式,脚本文件都是相对路径, 我这里对路径作了相应修改, 使之改成基于当前域名的绝对路径, 这样部署到不一样的域名下是不用修改dtree.js代码的层级目录的git
组装是事先写好HTML的头部, 底部, 侧边栏等的HTML代码, 而后把这些内容与编译后的内容进行组装, 最后再放到相应的文件夹中去
美化, 这个主要是由于markdown编译工具并无对生成的HTML元素(例如, table, code)添加样式, 我这里找了一些简洁的css样式进行了美化算法
这个也是耗费了我大量脑细胞写出来的, 大学的时候写动态哈夫曼编码算法的时候实现过一次树的遍历,
本觉得得心应手, 谁知道折腾到夜里3点多才最终写好, 这个功能也算是核心组件之一了吧npm
后来发现, 每次用git commit 前要先手动在命令行里编译一下(php compile.php)以为麻烦,
就给git加了一个hook, 在提交以前自动执行编译命令, 这样就方便多了json