目前你們在 GitHub 上發佈的項目,通常使用 Markdown 來編寫項目文檔和 README.md 等。Markdown 通常狀況下可以知足咱們的文檔編寫需求,若是使用得當的話,效果也很是棒。不過當項目文檔比較長的時候,閱讀體驗可能就不是那麼理想了,這種狀況我想你們應該都曾經遇到過。git
GitHub 每個項目都有一個獨立完整的 Wiki 頁面,咱們能夠用它來實現項目信息管理,爲項目提供更加完善的文檔。咱們能夠把 Wiki 做爲項目文檔的一個重要組成部分,將冗長、具體的文檔整理成 Wiki,將精簡的、概述性的內容,放到項目中或是 README.md 裏。github
Wiki 是一種在網絡上開放且可供多人協同創做的超文本系統,由沃德·坎寧安於 1995 年首先開發,這種超文本系統支持面向社羣的協做式寫做,同時也包括一組支持這種寫做。Wiki 站點能夠有多人(甚至任何訪問者)維護,每一個人均可以發表本身的意見,或者對共同的主題進行擴展或者探討。bash
上面這段描述引用自 百度百科,嗯,實際上百度百科自己也是一個 Wiki,最著名的 Wiki 大概是是 維基百科 了吧。markdown
而後 Wiki 頁面效果大概能夠參考 Kingfisher,看起來仍是很是棒的:網絡
GitHub 項目的 Wikis 功能默認是開啓的,若是你沒有找到 Wiki 選項卡,多是由於該項目關閉了 Wikis 選項,在項目 Setting 中將其選中便可,如圖所示:ide
若是在以後某一天決定再也不繼續使用 Wikis 也能夠經過取消該功能的勾選將其關閉,即便已經添加了 Wiki 頁面也能夠。而且會保存以前的 Wiki 頁面內容,即關閉 Wiki 功能並不會清除內容,還能夠隨時再打開。工具
GitHub 的 Wiki 頁面在如圖所示選項卡下,默認應該是開啓的,可是是空的,咱們能夠點擊中間那個綠色的 Create the first page
按鈕建立一個頁面。post
若是你沒有找到 Wiki 選項卡,多是由於該項目關閉了 Wikis 選項,在項目 Setting 中將其選中便可,參考上文內容。網站
點擊 Create the first page
按鈕後會進入 Create new page 頁面:ui
從上往下進行介紹,頂部的輸入框是頁面標題;Edit mode 控制編輯頁面的標記語言類型,這裏默認的是 Markdown,支持的類型以下圖所示:
中間的是頁面內容,咱們能夠用 Edit mode 選擇的語法在這裏編寫頁面內容;底部編輯框用來輸入本次編輯保存時的提交信息;編輯完成後點擊 Save Page
按鈕便可保存,唔,保存前能夠先切換到 Preview 選項卡下進行預覽,看一下效果是不是本身想要的。
而後保存咱們新建的頁面,大概會是以下效果:
點擊右上角的 Edit
按鈕能夠對當前頁面進行編輯,也能夠點擊 New Page
按鈕繼續添加新的頁面。
唔,這裏有一點須要注意的是,默認的主頁標題必須爲 Home,若是不存在標題爲 Home 的頁面,切換到項目的 Wiki 選項卡時,會顯示一個全部頁面組成的列表。因此咱們的主頁必須以 Home 爲標題。
目前好像沒什麼內容,感受比較空額,不過不要緊,接下來咱們會一步步完善。
點擊 Wiki 頁面底部的 Add a custom footer
按鈕,進入新建頁腳頁面,如圖所示:
新建頁腳頁面實際上就是一個普通的 Create new page 頁面,不過標題須要設爲 _Footer 而且不能修改(若是修改了就不會被看成頁腳來處理了)。
咱們能夠參考 Kingfisher 的頁腳代碼,放置多個超連接在這裏供讀者在閱讀完某一頁後快速跳轉到關鍵的章節或頁面去,具體代碼和效果以下:
[Installation](https://github.com/onevcat/Kingfisher/wiki/Installation-Guide) - [Cheat Sheet](https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet) - [FAQ](https://github.com/onevcat/Kingfisher/wiki/FAQ) - [API Reference](http://onevcat.github.io/Kingfisher/)
複製代碼
固然也能夠放一些奇怪的東西,好比,這樣的:
如上圖所示,點擊頁腳右側的編輯按鈕,就能夠對頁腳進行編輯啦,很方便。
點擊右側的 Add a custom sidebar
按鈕能夠添加側邊欄,和頁腳同理,頁面名爲特殊的 _Sidebar:
咱們能夠參考 Kingfisher 的側邊欄實現,代碼和效果以下:
## Getting Started
* [Getting Started with Kingfisher](https://github.com/onevcat/Kingfisher/wiki/Getting-Started-with-Kingfisher)
* [Install Kingfisher](https://github.com/onevcat/Kingfisher/wiki/Installation-Guide)
* [Cheat Sheet](https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet)
* [API Reference](http://onevcat.github.io/Kingfisher/)
## Migration Guide
* [3.0 Migration Guide](https://github.com/onevcat/Kingfisher/wiki/Kingfisher-3.0-Migration-Guide)
* [2.0 Migration Guide](https://github.com/onevcat/Kingfisher/wiki/Kingfisher-2.0-Migration-Guide)
## Communication
* [FAQ](https://github.com/onevcat/Kingfisher/wiki/FAQ)
* [Ask a question](http://stackoverflow.com/search?q=kingfisher)
* [Submit an issue](https://github.com/onevcat/Kingfisher/issues/new)
* [Open a pull request](https://github.com/onevcat/Kingfisher/compare)
## Information
* [Change Log](https://github.com/onevcat/Kingfisher/blob/master/CHANGELOG.md)
複製代碼
這裏的話能夠本身適當摸索一下,調整標題層級等樣式,以得到一個本身比較滿意的展現效果。一樣的,點擊側邊欄右上角的編輯按鈕能夠對快速側邊欄進行在線編輯。
進入某個頁面的編輯頁面,點擊右上角的 Page History
按鈕,能夠查看該頁面的編輯歷史,以下圖所示:
那麼問題來了,既然是 Wiki 的話,爲啥以上這些內容徹底是項目全部者一我的手擼呢,徹底沒有體現出「多人協做」的特性啊喂。
嗯,GitHub Wiki 是能夠開放給全部人編輯權限的,不過默認是隻有項目全部者和合做者纔有權限編輯的,只要到 Setting 中將 Restrict editing to collaborators only 選項去除勾選便可。
這樣的話,只要有 GitHub 帳號的用戶,均可以對該項目的 Wiki 進行編輯。若是怕被胡亂篡改,不想開放編輯權限的話,仍是保持勾選好了。
唔,上文內容一直在介紹 Wiki 的在線編輯,實際上 Wiki 是一個單獨的 Git 倉庫,能夠 Clone 到本地進行操做
細心的同窗應該已經注意到了,Wiki 的右下角處有當前 Wiki 的 Git 倉庫地址(咱們也能夠經過該方法下載他人所屬的 Wiki 頁面的源代碼):
Kingfisher 的 Wiki 倉庫結構以下:
接下來就能夠直接對 Wiki 頁面源文件進行編輯了,實際上就是一堆 Markdown 文件的組合(或者其餘比標記語言,看你選的是啥了)。
咱們在本地手動編輯編輯完成後,只能經過 push 到 GitHub 的方式進行預覽,很是不方便,這個時候,就須要藉助一個叫 gollum 的工具了。
Gollum 是 GitHub 上用到的 Wiki 引擎,使用它能夠在本地上搭建一個相似的GitHub Wiki 的網站,對本地的 Wiki 頁面進行快速預覽。執行如下命令便可安裝:
sudo gem install gollum
複製代碼
安裝完成後,將路徑切換到 Wiki 的 Git 倉庫下而後執行 gollum
命令,而後訪問 http://127.0.0.1:4567/ 便可進行預覽。
Wiki 不只僅能夠做爲項目輔助工具來用,你也能夠把它看成一個我的信息知識庫來使用,不須要搭建,不須要部署,無需付費,方便快捷,更多功鞥你們能夠自行開發。
若是你以爲上文的報道,哦不,描述可能有誤差,GitHub Wiki 的幫助文檔 也許能給你帶來一些幫助。
再讀一篇相似文章?
若有任何知識產權、版權問題或理論錯誤,還請指正。 https://juejin.im/post/5a3216c8f265da43333e6b54 轉載請註明原做者及以上信息。