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 檔案做修改
在這裡提供一個實際範本可以做點參考。
語法範本在這裡:範例
顯示如下圖:
