# 使用Git寫博客
到現在,隨著靜態博客的越來越流行,用Git寫博客已經越來越常見了。
最典型的應用應該就是Github Pages,通過上傳MarkDown與一些簡單的Jekyll模板就能生成觀感不錯的博客。
我的這版博客也是通過Git管理的,這里就簡單的說一些應用。
## Visual Studio Code
首先,要說的就是VS Code。作為一款編輯器,其輕量、高度自定義的特性是我最喜歡的,當然接近Visual Studio的用法也是非常適合我這種重度.NET使用者。
暫不說插件,其自帶對MarkDown的實時預覽編輯就非常使用,雖然有時會崩一下,但總體問題不大。
然后,VS Code也是內置了對Git的支持,對常用功能都是做到了界面操作,輕度使用的話,基本可以脫離Git命令行。
## GitBook
[GitBook](https://www.gitbook.com/)作為一個用于寫文檔的工具,其對我來說最大的特點就是和Github集成,通過對應賬號綁定之后,可以實現類似于Github Pages自動生成頁面的效果。而且,GitBook還有一個基于Node.js的服務端,可以方便的在本地查看最終的效果,解決我之前需要不斷提交來嘗試Github Pages效果的苦惱。(其實只是不想裝Ruby環境)
其實之前也用過一些類似于Hexo的靜態博客工具,但是總是感覺默認的效果不喜,可又懶得自己寫(主要還是審美不行)。此外,像Hexo之類的,最后上傳的是生成后的靜態頁面,而不是原始的MarkDown文件,就個人而言,我覺得上傳MarkDown文件更便于分享,以及更加的干凈。
同時,GitBook還支持插件,可以根據自己的喜好,來對應選擇所需的效果。像我使用的插件就如下:
```json
{
"plugins": [
"anchors", // 實現類似Github的錨鏈接
"edit-link", // 在左上角顯示編輯此頁,以方便跳轉到對應的Github文件
"navigator", // 在右上角顯示導航,在右下角顯示回到頁首
"-highlight", // 更換代碼高亮插件
"prism"
]
}
```
其中,highlight是默認的代碼高亮插件,但它高亮的顏色太暗淡了,所以就直接換成了prism。
**但是**,說了這么多好處,GitBook還有一個致命的問題,它的服務器在海外,訪問延遲還是小事,而且有可能被墻(不是特別確定是不是被墻了,有時能訪問,有時只能走代理)。當然,對應我們開發人員來說,準備梯子已經是常識了,但當分享給他人的時候,別人發現打不開還是很尬的。
## 看云
對于上面提出的問題,我最早的解決方案是直接給他們對于的Github文件的鏈接,雖說Github上的MarkDown觀感很好,但總有些疙瘩。最后我在國內找到了一家提供類似于Gitbook服務的網站,[看云](http://www.hmoore.net/)。同樣是可以基于Git來寫文檔,但它只支持從Github導入,而不會自動同步Github上的commit。換言之,就是寫完后需要push兩遍了,這對我來說顯然是不能接受的。(強迫癥。。)
可惜還沒研究懂如何設置Github WebHook,目前暫且通過設置多個上傳流的方式來實現只寫一次命令行完成兩次push。
命令如下:
```shell
git remote set-url --add origin repo-url
```
## 域名綁定
其實這一步可有可無,因為無論是GitBook還是看云,它們所生成的Url規則還是比較清晰的。
當然,要添加也還是挺簡單,通過CNAME將自有域名解析到對應的域名上,然后就可以直接在后臺設置自定義域名。