工做後一直在從事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