利用 DocFX 產生 C# Help File

  • 2739
  • 0

DocFX 用來產製 C# 類庫說明文件方便又美觀,但最近卻發現用地很順手的 docfx.msbuild 悄悄從 NuGet 下架了,到 Github 看官方的說明後,發現還有一個方便的東西叫 docfx.console

DocFX

DocFX 是一個 command line 工具,你可以在 Github 上的下載頁面找到編譯好的執行檔,並通過指令建立 Help File

docfx init -q
docfx docfx_project\docfx.json

中間還有一些小細節,像是

  1. 把 source code 放到 docfx_project\src\
  2. 或修改 docfx.json 把 source code 路徑指到其它位置

以上這些麻煩的步驗 docfx.console 都會在 NuGet Package 安裝時,全部做好。

docfx.console 的使用

docfx.console 的使用和 docfx.msbuild 一樣。

最簡單的方式,在你想產生文件的類別庫專案,安裝 docfx.console 的 NuGet Package,安裝完成後,專案底下會多出:

  1. api 資料夾
  2. articles 資料夾
  3. docfx.json
  4. index.md
  5. 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 就可以只保留邏輯相關的程式碼。

參考資料

取代Sandcastle的新文件產生器DocFx

DocFX Github

docfx.json fomate