介紹
showdoc是一個適合IT團隊的文檔工具,閱讀本文前需要對showdoc有基本了解 。基本介紹可看:https://www.showdoc.cc/help
對於寫API文檔這件事,雖然說文本編輯軟件或者接口管理軟件能在某種程度上提高我們的效率,但我們依然可以試圖借助技術的力量,更自動化地生成API文檔,釋放自己的生產力。
為此,showdoc官方提供了一種自動化解決方案。在代碼里編寫特定格式的程序注釋,然后showdoc通過讀取這些注釋來自動生成文檔。由於這種方式不跟特定的語言耦合,因此它的使用范圍相當廣泛,可用支持c++、java、php、node、python等等常見的主流語言。
采用這種方式,盡管我們在第一次填寫注釋的時候可能會有些繁瑣,但是它后期帶來的可維護性是非常高的。代碼變動后,不需要再額外登錄showdoc,直接在代碼里修改注釋即可。同時自動化的腳本也可以加入持續集成或者某些自動化工程里,讓“寫API文檔”這件事如"單元測試"般納入工程工作流里面。
windows下使用指引
windows無法直接運行sh腳本,需要額外下載軟件。
推薦下載git for windows:https://git-scm.com/download/win
下載后直接雙擊安裝即可。
如果從官網下載比較慢,可用考慮下載由第三方開發者維護的國內版(showdoc官方不保證其長期穩定):https://npm.taobao.org/mirrors/git-for-windows/v2.17.0.windows.1/Git-2.17.0-64-bit.exe
以上軟件是基礎環境。安裝好了后,還需要下載showdoc官方腳本:https://www.showdoc.cc/script/showdoc_api.sh
下載后,將showdoc_api.sh放在你的項目目錄下。右擊,選擇編輯。
腳本內容的前面有兩個變量,api_key 和 api_token ,這個需要用戶自行填寫。關於這兩個變量的取值,請登錄showdoc,進入某個項目的設置,點擊開放API,便可以看到說明。showdoc_api.sh生成的文檔會放進你填寫的這個項目里。除了api_key 和 api_token ,還有一個url變量。如果是使用www.showdoc.cc ,則不需要修改。如果是使用開源版showdoc,則需要將地址改為http://xx.com/server/?s=/api/open/fromComments
其中,別忘記了url里含server目錄。
填寫完畢,保存。然后直接雙擊運行,腳本會自動遞歸掃描本目錄和子目錄的所有文本代碼文件,並生成API文檔。
為了方便測試,官方還提供了一個例子。請下載:https://www.showdoc.cc/script/api_demo.test
下載后,把api_demo.test文件放在showdoc_api.sh所在的目錄或者子目錄下。運行的時候它便會生成文檔到你指定的項目地址中。
如果你想參考官方demo是怎么寫的,可用鼠標右擊api_demo.test,選擇編輯。仿照此種寫法,在你的項目中插入類似的注釋,也能達到自動生成文檔的效果。詳細語法會在文章后面部分說明。
如果你想應用到其他項目,可以把showdoc_api.sh復制一份到其他項目中。使用方法和前面一樣。
Linux/Mac下使用指引
先cd進入你的項目目錄,命令行模式下輸入:
wget https://www.showdoc.cc/script/showdoc_api.sh
下載完畢,編輯
vi showdoc_api.sh
腳本內容的前面有兩個變量,api_key 和 api_token ,這個需要用戶自行填寫。關於這兩個變量的取值,請登錄showdoc,進入某個項目的設置,點擊開放API,便可以看到說明。showdoc_api.sh生成的文檔會放進你填寫的這個項目里。除了api_key 和 api_token ,還有一個url變量。如果是使用 www.showdoc.cc ,則不需要修改。如果是使用開源版showdoc,則需要將地址改為http://xx.com/server/?s=/api/... ,其中,別忘記了url里含server目錄。
保存文件后。執行以下命令,腳本會自動遞歸掃描本目錄和子目錄的所有文本代碼文件,並生成API文檔。
chmod +x showdoc_api.sh
./showdoc_api.sh
為了方便測試,官方還提供了一個例子。請下載:wget https://www.showdoc.cc/script/api_demo.test
下載后,把api_demo.test文件放在showdoc_api.sh所在的目錄或者子目錄下。運行的時候它便會生成文檔到你指定的項目地址中。
如果你想參考官方demo是怎么寫的,可用vi命令打開api_demo.test。仿照此種寫法,在你的項目中插入類似的注釋,也能達到自動生成文檔的效果。詳細語法會在文章后面部分說明。
如果你還想應用到其他項目,可以把showdoc_api.sh復制一份到其他項目中。使用方法和前面一樣。
或者不轉移位置,直接通過參數指定掃描目錄。如
./showdoc_api.sh /myapp/demo/
語法說明
一個標准語法例子:
/**
* showdoc
* @catalog 測試文檔/用戶相關
* @title 用戶登錄
* @description 用戶登錄的接口
* @method get
* @url https://www.showdoc.cc/home/user/login
* @param username 必選 string 用戶名
* @param password 必選 string 密碼
* @param name 可選 string 用戶昵稱
* @return {"error_code":0,"data":{"uid":"1","username":"12154545","name":"吳系掛","groupid":2,"reg_time":"1436864169","last_login_time":"0"}}
* @return_param groupid int 用戶組id
* @return_param name string 用戶昵稱
* @remark 這里是備注信息
* @number 99
*/
語法說明
@catalog // 生成文檔要放到哪個目錄。如果只是二級目錄,則直接寫目錄名字。如果是三級目錄,而需要寫二級目錄/三級目錄,即用 / 隔開。
@title //表示生成的文檔標題
@description // 是文檔內容中對接口的描述信息
@method //接口請求方式。一般是get或者post
@url //接口URL
@param //參數表格說明。一行注釋對應着表格的一行。用空格或者tab符號來隔開每一列信息。
@return //返回內容。請把返回內容壓縮在同一行內。如果是json,程序會自動進行格式化展示。 如果是非json內容,則原樣展示。
@return_param //返回參數的表格說明。一行注釋對應着表格的一行。用空格或者tab符號來隔開每一列信息。
@remark //備注信息
@number //可選。文檔的序號。
其他信息
請嚴格按照我們的語法來填寫程序注釋。如果格式不對,則可能引發未知的解析錯誤。
出於數據安全考慮,showdoc不允許直接通過代碼刪除文檔。只能新增或者修改。所以,如果你要刪除文檔,請登錄showdoc網頁端完成。
本腳本只能通過特定的程序注釋來生成文檔,使用范圍有限。如果你是想通過其他方式自由地生成文檔,如通過word、通過博客軟件等,請參考我們更自由的開放API:https://www.showdoc.cc/page/1...
如果你的項目下太多文件,則可能導致腳本掃描很慢。推薦把腳本放到需要生成注釋的那個目錄里。一般來講,一個項目不會所有目錄都需要生成文檔的