1 Git簡介
Git是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。
GitHub可以托管各種git庫的站點。
GitHub Pages免費的靜態站點,三個特點:免費托管、自帶主題、支持自制頁面和Jekyll。
2 為什么使用Github Pages
1. 搭建簡單而且免費;
2. 支持靜態腳本;
3. 可以綁定你的域名;
4. DIY自由發揮,動手實踐一些有意思的東西git,markdown,bootstrap,jekyll;
5. 理想寫博環境,git+github+markdown+jekyll;
3 創建Github Pages
3.1 安裝git工具
3.2 兩種pages模式
1. User/Organization Pages 個人或公司站點
1) 使用自己的用戶名,每個用戶名下面只能建立一個;
2) 資源命名必須符合這樣的規則username/username.github.com;
3) 主干上內容被用來構建和發布頁面
1) gh-pages分支用於構建和發布;
2) 如果user/org pages使用了獨立域名,那么托管在賬戶下的所有project pages將使用相同的域名進行重定向,除非project pages使用了自己的獨立域名;
3) 如果沒有使用獨立域名,project pages將通過子路徑的形式提供服務username.github.com/projectname;
4) 自定義404頁面只能在獨立域名下使用,否則會使用User Pages 404;
5) 創建項目站點步驟:
$ git clone https://github.com/USERNAME/PROJECT.git PROJECT
$ git checkout --orphan gh-pages
$ git rm -rf .
$ git add .
$ git commit -a -m "First pages commit"
$ git push origin gh-pages
3. 可以通過User/Organization Pages建立主站,而通過Project Pages掛載二級應用頁面。
3.3 創建步驟
第一步:創建個人站點

第二步:設置站點主題
進入資源-setting

更新你的站點

選擇主題並發布

3.4 常用命令
$ git clone git@github.com:username/username.github.com.git //本地如果無遠程代碼,先做這步,不然就忽略
$ cd .ssh/username.github.com //定位到你blog的目錄下
$ git pull origin master //先同步遠程文件,后面的參數會自動連接你遠程的文件
$ git status //查看本地自己修改了多少文件
$ git add . //添加遠程不存在的git文件
$ git commit * -m "what I want told to someone"
$ git push origin master //更新到遠程服務器上
4 使用Jekyll搭建博客
4.1 什么是jekyll
Jekyll是一種簡單的、適用於博客的、靜態網站生成引擎。它使用一個模板目錄作為網站布局的基礎框架,支持Markdown、Textile等標記語言的解析,提供了模板、變量、插件等功能,最終生成一個完整的靜態Web站點。說白了就是,只要安裝Jekyll的規范和結構,不用寫html,就可以生成網站。[jekyll介紹][jekyll on github][jekyllbootstrap]。
Jekyll使用Liquid模板語言,{{page.title}}表示文章標題,{{content}}表示文章內容。我們可以用兩種Liquid標記語言:輸出標記(output markup)和標簽標記 (tag markup)。輸出標記會輸出文本(如果被引用的變量存在),而標簽標記不會。輸出標記是用雙花括號分隔,而標簽標記是用花括號-百分號對分隔。[Liquid模板語言] [Liquid模板變量參考]。
jekyll與github的關系:GitHub Pages一個由 GitHub 提供的用於托管項目主頁或博客的服務,jekyll是后台所運行的引擎。
4.2 jekyll本地環境搭建
1. 下載最新的RubyInstaller並安裝(我下載的是rubyinstaller-1.9.3-p194.exe),設置環境變量,path中配置C:\Ruby193\bin目錄,然后在命令行終端下輸入gem update --system來升級gem;
2. 下載最新的DevKit,DevKit是windows平台下編譯和使用本地C/C++擴展包的工具。它就是用來模擬Linux平台下的make,gcc,sh來進行編譯。但是這個方法目前僅支持通過RubyInstaller安裝的Ruby,並雙擊運行解壓到C:\DevKit。然后打開終端cmd,輸入下列命令進行安裝:
cd C:\DevKit
ruby dk.rb init
ruby dk.rb install
3. 完成上面的准備就可以安裝Jekyll了,因為Jekyll是用Ruby編寫的,最好的安裝方式是通過RubyGems(gem):
gem install Jekyll
並使用命令檢驗是否安裝成功
jekyll --version
4. 安裝Rdiscount,這個用來解析Markdown標記的包,使用如下命令:
gem install rdiscount
5. 運行本地工程:
cd 到工程目錄,啟動服務:
jekyll --server
4.3 jekyll目錄結構
- _posts: _posts中的數據文檔,通過注入_layouts定義的模板,通過jekyll --server最終生成的靜態頁面在_sites目錄。目錄是用來存放你的文章的,一般以日期的形式書寫標題。
- _layouts:_layouts中的模板一般指向了_includes/themes中的模板。目錄是用來存放模板的,在這里你可以定義頁面中不同的頭部和底部。
- _includes:
1) _includes/JB中有一些常用的工具,用於列表顯示、評論等;
2) _includes/themes中可參看主題的相關html文檔。
3) _includes/themes中的主題一般包含default.html、post.html和page.html三個文檔。default.html定義了網站的最上層框架(模板),post.html和page.html是其子框架(模板)。
4) 生成好的html子頁面通過default.html的{{ content }}變量調用,生成整個頁面。
- assets 渲染頁面的CSS和JS文檔在assets/themes中
- _config.yml 站點生成需要用到_config.yml配置文件,站點的全局變量在_config.yml中定義,用site.訪問;頁面的變量在YAML Front Matter中定義,用page.訪問,更多的模板變量可參考模板數據。
- index.html是你的頁面首頁。
4.4 Jekyll-Bootstrap創建博客
1. 創建個人站點,即創建一個新資源,格式為username.github.com;
2. 安裝Jekyll-Bootstrap:
$ git clone https://github.com/plusjade/jekyll-bootstrap.git USERNAME.github.com
$ cd USERNAME.github.com
$ git remote set-url origin git@github.com:USERNAME/USERNAME.github.com.git
$ git push origin master
3. 訪問創建好的個人站點:username.github.com
4. 在本地測試查看效果:
cd USERNAME.github.com
jekyll --server
4.5 Jekyll 寫博過程
1) 修改標題:title : My Blog =)
2) 修改個人信息:
author :
name : Name Lastname
email : blah@email.test
github : username
twitter : username
feedburner : feedname
3) 引用:_config.yml中的鍵值均引用到其他頁面{{ site.title }};
2、 寫文章
按照_config.yml的格式permalink: /:categories/:year/:month/:day/:title,可以修改格式,創建markdown格式文件,就可以當初博客發布了。
3、 發布
本地預覽修改:運行jekyll –server,預覽http:127.0.0.1:4000。
發布到github上:通過命令提交或者客戶端提交。
4.6 個性化博客
Github Page完成了博客的主要功能,寫作、發布、修改,這些都是相對靜態的東西,就是你自己可以控制的事情,還有一些動態的東西Github Pages無法支持,比如說文章瀏覽次數、文章的評論等,還有一些個性化的東西,像個性化頁頭頁尾、代碼高亮可以把博客整的更漂亮一點,其實這寫都可以通過第三方應用來實現,個性化自己的博客。
加上Disqus雲評論:
修改_config.yml:
comments :
disqus :
short_name : tiansj
5 使用Markdown
5.1 簡介
Markdown 的宗旨是實現「易讀易寫」。可讀性,無論如何,都是最重要的。
Markdown 的語法全由一些符號所組成,這些符號經過精挑細選,其作用一目了然。格式撰寫的文件可以直接以純文本發布,並且看起來不會像是由許多標簽或是格式指令所構成。
資料:[搭建環境]
5.2 基本語法
- 使用一個或多個空行分隔內容段來生成段落 <p>。
- 標題(h1~h6)格式為使用相應個數的“#”作前綴,比如以下代碼表示 h3:
### this is a level-3 header ###
- 使用“>”作為段落前綴來標識引用文字段落。這其實是 email 中標記引用文字的標准方式:
> 引用的內容
> 這個記號直接借鑒的郵件標准
- 使用“*”“+”“-”來表示無序列表;使用數字加“.”表示有序列表。如:
1. I am ordered list item 1...
2. So I should be item 2!?
- 使用 4 個以上 空格或 1 個以上 的 tab 來標記代碼段落,它們將被<pre> 和 <code> 包裹,這意味着代碼段內的字體會是 monospace家族的,並且特殊符號不會被轉義。
- 使用 [test](http://example.net "optional title") 來標記普通鏈接。
- 使用  來標記圖片。
引號內的 title 文字是可選的,鏈接也可以使用相對路徑。
- 使用 * 或 _ 包裹文本產生 strong 效果:
_語氣很重的文本_ 以及 **語氣更重的文本**
5.3 Notepad++支持Markdown語法高亮
1. 下載userDefineLang.xml
2. 將 userDefineLang.xml 放置到此目錄:C:\Users\Administrator\AppData\Roaming\Notepad++
3. 重啟 Notepad++,在語言菜單下可以看到自定義的 Markdown 高亮規則
