docsify 是一個動態生成文件網站的工具。不同於 GitBook、Hexo 的地方是它不會生成將 .md 轉成 .html 檔案,所有轉換工作都是在執行時進行。
這將非常實用,如果只是需要快速的搭建一個小型的文件網站,或者不想因為生成的一堆 .html 檔案“汙染” commit 記錄,只需要建立一個 index.html 就可以開始寫文件而且直接部署在 GitHub Pages。
特性
- 無需構建,寫完文件直接釋出
- 容易使用並且輕量 (~19kB gzipped)
- 智慧的全文搜尋
- 提供多套主題
- 豐富的 API
- 支援 Emoji
- 相容 IE10+
- 支援 SSR (example)
快速開始
推薦安裝 docsify-cli 工具,可以方便建立及本地預覽文件網站。
npm i docsify-cli -g
複製程式碼
初始化專案
如果想在專案的 ./docs 目錄裡寫文件,直接通過 init 初始化專案。
docsify init ./docs
複製程式碼
開始寫文件
初始化成功後,可以看到 ./docs 目錄下建立的幾個檔案
- index.html 入口檔案
- README.md 會做為主頁內容渲染
- .nojekyll 用於阻止 GitHub Pages 會忽略掉下劃線開頭的檔案
直接編輯
docs/README.md
就能更新網站內容,當然也可以寫多個頁面。
本地預覽網站
執行一個本地伺服器通過 docsify serve
可以方便的預覽效果,而且提供 LiveReload 功能,可以讓實時的預覽。預設訪問 http://localhost:3000 。
docsify serve docs
複製程式碼
更多命令列工具用法,參考 docsify-cli 文件。
手動初始化
如果不喜歡 npm 或者覺得安裝工具太麻煩,我們其實只需要直接建立一個 index.html 檔案。
// index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta charset="UTF-8">
<link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
</head>
<body>
<div id="app"></div>
<script>
window.$docsify = {
//...
}
</script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
</body>
</html>
複製程式碼
如果系統裡安裝 Python 的話,也可以很輕易的啟動一個靜態伺服器。
cd docs && python -m SimpleHTTPServer 3000
複製程式碼
Loading 提示
初始化時會顯示 Loading... 內容,你可以自定義提示資訊。
// index.html
<div id="app">載入中</div>
複製程式碼
如果更改了 el 的配置,需要將該元素加上 data-app 屬性。
// index.html
<div data-app id="main">載入中</div>
<script>
window.$docsify = {
el: '#main'
}
</script>
複製程式碼
示例
這是一份docsify開發的文件歡迎點選檢視
更加詳細的設定配置參考官方文件