DocFX 用來產製 C# 類庫說明文件方便又美觀,但最近卻發現用地很順手的 docfx.msbuild 悄悄從 NuGet 下架了,到 Github 看官方的說明後,發現還有一個方便的東西叫 docfx.console
DocFX
DocFX 是一個 command line 工具,你可以在 Github 上的下載頁面找到編譯好的執行檔,並通過指令建立 Help File
docfx init -q
docfx docfx_project\docfx.json
中間還有一些小細節,像是
- 把 source code 放到 docfx_project\src\
- 或修改 docfx.json 把 source code 路徑指到其它位置
以上這些麻煩的步驗 docfx.console 都會在 NuGet Package 安裝時,全部做好。
docfx.console 的使用
docfx.console 的使用和 docfx.msbuild 一樣。
最簡單的方式,在你想產生文件的類別庫專案,安裝 docfx.console 的 NuGet Package,安裝完成後,專案底下會多出:
- api 資料夾
- articles 資料夾
- docfx.json
- index.md
- toc.yml
每次建置專案時,就會產生一個 _site 資料夾,裡面放著 Help File。(記得要把 Class, Method 的註解寫上啊)
進一步使用 docfx.json
專案安裝 docfx.console 後,固然專案馬上就有了自己的說明文件,但也多了一些不是程式碼的東西,這樣有點亂。
我的解法是建一個小專案,專門用來產文件,這需要調整 docfx.json 讓它把路徑指到隔壁專案。
下圖 MyLib2 是我的類別庫,MyLib2.Doc 是用來產生類別庫文件的小專案。
左邊是 docfx.console 預設的 docfx.json,cwd 是過時寫法,應改成 src,意思是 Sorce Code 目錄,所以當 MyLib2.Doc 的 src 指向 ../MyLib2 時,MyLib2.Doc 就會在編譯時產生 MyLib2 的文件,這樣 MyLib2 就可以只保留邏輯相關的程式碼。