Slate - 為你打造漂亮的 API 文件
這陣子在找一種工具可以將 Restful API 彙整起來能用網頁的方式執行讀取,上網找了不少工具,例如下方三套是常見的 API 文檔工具,在本篇則是介紹 Slate。
- swagger:相當標準的 API 文件化工具,從設計、建置、撰寫、測試、各式各樣的技巧環環包圍。
- apidoc: 這套也不錯,寫的方式是將所有 API 的註記放在原始碼的方法(function)的上方,但小缺點也在這了,如果參數值過多、回傳值也好幾行,這樣就一直在滑鼠捲軸了。不過資料不多的話,是滿適合的。
- slate : 輕量化的寫法,允許你使用 markdown 撰寫 API 文件,並且是 ruby 語法執行 bundle 套件安裝,打包之後預設是用靜態的 html ,甚至你可以推上 github pages 進行託管。
先決條件
務必要有 Ruby 1.9.2 或更高的版本。並且還需要 bundler gem
,可以透過命令來做安裝 gem install bundler
,安裝或升級可以參考以下連結。
安裝 Slate
先進入到 slate github https://github.com/lord/slate
- 首先按右上角的 Fork slate 的 repo
- fork 的 repo 已經複製一份到你自己的 repo 了
https://github.com/<<YOURUSERNAME>>/slate
,將它 clone 下來到你的本地端的資料夾git clone https://github.com/weijutu/slate.git
- 進入
slate
資料夾cd slate
- 初始化 Slate
將套件都裝起來,使用以下的指令進行安裝
1 | $ bundle install |
過程中就會進行安裝套件
1 | Fetching gem metadata from https://rubygems.org/............ |
接著將 slate 執行起來
1 | $ bundle exec middleman server |
執行之後,就可以打開瀏覽器開啟 http://localhost:4567
,這樣一下子就開了一個全新的 slate api 靜態文件!!
1 | ~/Projects/slate |
是不是看起來很不賴呢?
開始寫 API 文件
大致上是 markdown 寫法的,若有不了解 markdown 語言的人,可以參考這篇文章 Markdown 語法說明。
標題
1 | # Level 1 Header |
段落文字
1 | This is some paragraph text. Exciting, no? |
程式碼範本
1 | const kittn = require('kittn'); |
語法註解
1 | > This is a code annotation. |
表格
1 | Table Header 1 | Table Header 2 | Table Header 3 |
文字格式
1 | This text is **bold**, this is *italic*, this is an `inline code block`. |
列表
1 | 1. This |
連結
1 | This is an [internal link](#error-code-definitions) |
產生靜態網頁
修改完之後,我們將他產生靜態網站,可以使用以下的命令
1 | $ bundle exec middleman build --clean |
部署過程中
1 | create build/stylesheets/print.css |
你會發現會新增了一個 build
資料夾,裡面包含了許多被編譯出來的檔案
打開 index.html
就可以看到建置的結果囉。
提供一個實際範本
在 /slate/source/index.html.md
檔案做修改
在這裡提供一個實際範本可以做點參考。
語法範本在這裡:範例
顯示如下圖: