一、wiki建設
1.安裝MkDocs
1.1 Ubuntu系統(tǒng)
sudo apt-get install mkdocs
1.2 Windows系統(tǒng)
MkDocs目前支持Python2.7,3.4,3.6,3.7版本
安裝Python
安裝pip
pip install –upgrade pip
安裝MkDocs
pip install mkdocs
1.3 確認是否安裝正確
mkdocs –version
2.創(chuàng)建一個Wiki
mkdocs new my-wiki
cd my-wiki
docs文件夾下存放的就是自己寫的Markdown文章,系統(tǒng)默認會生成一個index.md文件
mkdocs.yml是wiki網(wǎng)站的配置文件(主題、目錄、語言等)
3.預覽wiki
首先啟動mkdocs服務
mkdocs serve
然后打開瀏覽器輸入127.0.0.1:8000訪問wiki
如果以上步驟都執(zhí)行成功,你將看到如下界面:
至此,一個wiki系統(tǒng)已經(jīng)搭建完成,下面我們來學習一下如何向wiki系統(tǒng)中添加新的內(nèi)容吧!
4.添加新內(nèi)容
4.1 添加新的文字內(nèi)容
首先在docs文件夾下面創(chuàng)建test.md文件,并使用你喜歡的markdown編輯器寫入內(nèi)容。
This is a new page.
# 一級標題
## 二級標題
### 三級標題
編輯mkdocs.yml文件,寫入以下內(nèi)容:
nav:
??? – Home: index.md
??? – First: first.md
4.2 插入圖片
在docs文件夾下創(chuàng)建images文件夾,并將圖片放入此文件夾,然后在markdown文件中引用:
![mkdocs](images/mkdocs.png)
5.更換主題
mkdocs有多個主題可供選擇,以滿足不用用戶的喜好,在此小編向大家推薦Material主題。
5.1 安裝Material主題
pip install mkdocs-material
5.2 配置wiki使用Material主題
打開配置文件mkdocs.yml,寫入以下內(nèi)容:
theme:
name: ‘material’
6.將你的wiki站點托管到GitHub
創(chuàng)建一個新倉庫。 比如: https://github.com/user_name/repository_name
初始化你的本地倉庫(wiki), 添加遠程倉庫,提交本地修改并推送到遠程倉庫
cd my-wiki
git init
git add remote https://github.com/user_name/repository_name
git add .
git commit -m “first commit”
git push origin master
部署你的wiki站點
mkdocs gh-deploy
現(xiàn)在你的wiki站點(HTML文件)在gh-pages分支,你的wiki站點(markdown文件)在master分支。
該命令執(zhí)行了兩個動作:
將Mardown文件轉(zhuǎn)為靜態(tài)HTML網(wǎng)頁文件
將所有的靜態(tài)HTML網(wǎng)頁文件都推送到遠程倉庫的gh-pages分支
GitHub會自動管理gh-pages分支的靜態(tài)網(wǎng)頁,就相當于一個靜態(tài)網(wǎng)站服務器。
通過以下網(wǎng)址訪問你的wiki
https://user_name.github.io/repository_name
延伸閱讀:
二、wiki是什么
有人認為,Wiki系統(tǒng)屬于一種人類知識網(wǎng)格系統(tǒng),可以在Web的基礎上對Wiki文本進行瀏覽、創(chuàng)建、更改,而且創(chuàng)建、更改、發(fā)布的代價遠比HTML文本小;同時Wiki系統(tǒng)還支持面向社群的協(xié)作式寫作,為協(xié)作式寫作提供必要幫助;最后,Wiki的寫作者自然構(gòu)成了一個社群,Wiki系統(tǒng)為這個社群提供簡單的交流工具。與其它超文本系統(tǒng)相比,Wiki有使用方便及開放的特點,所以Wiki系統(tǒng)可以幫助我們在一個社群內(nèi)共享某領(lǐng)域的知識。
WiKi可以調(diào)動廣大網(wǎng)民的群體智慧參與網(wǎng)絡創(chuàng)造和互動,它是web2.0的一種典型應用,是知識社會條件下創(chuàng)新2.0的一種典型形式。它也為教師和學生的知識共享提供了高效的平臺,實現(xiàn)了快速廣泛的信息整合。