本文將詳細介紹如何在Windows系統下搭建博客,並發布到GitHub Pages上,以及后期博客發布后的更新工作....
一、博客整體效果
搭建博客效果:http://www.sunfanwu.com/(綁定域名后的效果,未綁定則調轉到sunfanwu.github.com)
網站成本:域名注冊http://www.sunfanwu.com/ 50元(可不要)
服 務 器:免費托管在GitHub個人主頁上(無數據庫,但有整個網站備份。由於GitHub網站性質,博客源碼文檔為所有人可見)。
博客類型:靜態博客,無數據庫,博客通過html編寫。
本地軟件:msysgit、ruby、DevKit、python。
備 注:GitHub為開源項目網站,請不要上傳過大的且無意義的附件(如視頻等)。
二、搭建本地環境
為了在Github上使用Octopress,需要首先配置一下本地環境:
安裝Git,下載msysgit,安裝可參考官方文檔。(Git分布式版本管理系統,在此主要是用來操作GitHub。不推薦使用Git 客戶端—github for windows)
然后安裝Ruby, Octopress 官方文檔中指定的 Ruby 版本是 1.9.2,下載 rubyinstaller-1.9.2-p290.exe,安裝時記得選中“Add Ruby executables to your PATH”。
為了檢查Git、ruby是否已加入到PATH中,可在 Windows 的cmd窗口中執行以下命令:
path
接着安裝Devkit,選擇下載 4.5.2 版本:DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe,下載完成后,將其解壓到如 E:DevKit,然后在win的cmd窗口中執行如下命令進行安裝:
E:
cd E:DevKit
ruby dk.rb init
ruby dk.rb install
(選裝)最后安裝python,主要是博客代碼加亮模塊需要python環境的支持,下載2.7版,安裝完以后,在Windows的cmd窗口中執行:
本地環境配置結束。
三、更新本地環境配置
為了支持中文UTF-8編碼,對Windows環境變量配置如下:
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
也可在直接在Windows的cmd窗口下運行命令:
set LANG=zh_CN.UTF-8
set LC_ALL=zh_CN.UTF-8
更新gem的更新源,ruby的官方更新源經常被河蟹,換成國內的更新源,這樣速度就快多了,變更如下:
gem sources -a http://ruby.taobao.org/
gem sources -r http://rubygems.org/
gem sources -l
最后一個命令可查看更改后的更新源列表。
四、下載並配置Octopress
首先下載Octopress源碼,可以使用下面git命令(具體應用可參見git官方文檔)下載,也可直接在Octopress Github庫中下載octopress的zip包(點擊下載),然后將下載的壓縮包解壓到E盤根目錄,修改解壓后的文件夾名稱為 octopress。
E:
git clone git://github.com/imathis/octopress.git octopress
然后更新 Octopress 的gem更新源:進到 E:octopress 目錄,用文本編輯器(例如記事本)打開文件Gemfile,將里面source “http://rubygems.org/”改為source “http://ruby.taobao.org/”。
最后安裝Octopress的依賴項,在Windows的CMD窗口輸入以下命令:
E:
cd octopress
gem install bundler
bundle install
五、新建Github Repositories
登錄Github,假設你的用戶名是username,首先要新建一個命名為 username.github.com 的Repo,命名必須是這個格式,如果不這樣命名的話,在運行命令 rake setup_github_pages 之后不能夠自動創建后面提到的master和source 分支,而是作為普通倉庫生成 gh-pages 分支。
創建Repo(如果沒用過GitHub,需先注冊賬戶),如下圖:

Repo的設置,如下圖:

六、發布Octopress到Github
1、打開Windows下的命令窗口,進入到Octopress所在的目錄,輸入命令:
rake setup_github_pages
按照提示輸入剛才新建的Repo地址,類似:git@github.com:用戶名/用戶名.github.com.git。

2、接着輸入命令:
rake install
rake generate
rake preview
其中rake install是安裝Octopress默認主題的,rake gnerate是生成靜態頁面的,這兩個命令是必須運行的,而rake preview則是用來本地瀏覽的(運行時看屏幕上提示,按Ctrl+C並輸入Y來終止批處理操作),運行后打開瀏覽器,輸入 http://localhost:4000/ 就可以看到如下的界面了,不想預覽的話也可以不運行,直接進入下一步。

3、將博客發布到Github上,輸入下面命令:
rake deploy
備注:此處遇到錯誤,請看問題一。
這樣,生成的內容將會自動發布到master分支,並且可以使用 http://用戶名.github.com 訪問內容。

4、別忘了把所有源文件發布到 source 分支下面:
git add .
git commit -m “your message”
git push origin source
至此,所有發布完成,接下來就是對博客的設置了。
七、Ocotpress博客配置
更改下面的配置后,還需要運行 rake generate、rake deploy等等命令的。
1、默認的博客運行成功的話,就需要按照自己的要求對博客配置進行修改了,主要是修改Octopress根目錄下的主配置文件_config.yml。
url: http://username.github.com # 博客地址
title: # 博客標題
subtitle: # 副標題
author: # 作者
simple_search: http://www.google.com.hk/search # 搜索引擎
description: # 關於博客的描述
subscribe_rss: /atom.xml # Rss訂閱地址, 默認是 /atom.xml
subscribe_email: # 提供Email訂閱的地址
email: # Rss訂閱的Email地址root: / # 博客路徑,默認是“/“,如果你打算在子目錄中,記得修改這個路徑
permalink: /blog/:year/:month/:day/:title/ # 文章的固定鏈接形式
2、更換主題
主題位於 octopress/.theme 目錄下,默認主題為 classic。 如果需要更改主題(可在網上查找),下載后將主題也放在.theme目錄下即可,如果主題名字為blog_theme,那么安裝主題時輸入以下命令即可:
rake install ['blog_theme']
八、綁定域名
Github Pages綁定域名,需要在Octopress/source目錄下建個無后綴的CNAME文本文件,文件內容就是你的域名,例如:
www.sunfanwu.com
然后進入你的域名管理網站,修改A紀錄為:“207.97.227.245” ,或者 CNAME 指向 username.github.com,下面就等着解析生效了。
九、更新博客(發布日志將在下一篇進行詳細說明,敬請期待....)
由於每次寫博客都通過html格式比較麻煩,所以此處推薦使用Windows Live Writer本地編輯。
1.編輯完成,選擇以“源代碼”形式查看,復制文本。
2.在本地“octopress/public/blog/”找到需要更新的日志,通過記事本軟件打開此html。
3.找到<div class="entry-content"></div>,將復制的代碼粘貼進去,保存關閉。
4.通過之前說過的“rake deploy”命令就可以發布了。(發布之前可“rake preview”本地查看一下~)
備注:如有圖片的話,一般做法還需將圖片保存到對應文件夾。此處可以先在“博客園”等網站通過Windows Live Writer發布博客,再將源碼復制。即省去圖片調用。又可做到一篇博客不同地方迅速發布,保留備份。
問題一:發布時git出現提示:
Agent admitted failure to sign using the key. Permission denied (publickey)
fatal: The remote end hung up unexpectedly
github的官方文檔
#1. Check for SSH keys. $ cd ~/.ssh #2. Backup and remove existing SSH keys. $ lsLists all the subdirectories in the current directory $ mkdir key_backupmakes a subdirectory called "key_backup" in the current directory $ cp id_rsa* key_backupCopies the contents of the id_rsa directory into key_backup $ rm id_rsa* #3. Generate a new SSH key. $ ssh-keygen -t rsa -C "your_email@youremail.com" #4. Add your SSH key to GitHub. #5. Test everything out. $ ssh -T git@github.com
大概意思就是你先在本地建立自己的SSH密碼對,然后將公鑰上傳到github。進行上傳服務時輸入密碼即可(cmd輸入密碼是為不可見狀態,輸入好后點擊“回車”即可)。
參考文章:
教程參考: http://xuhehuan.com/783.html (80%為參考此處進行整理)。
http://mrzhang.me/blog/blog-equals-github-plus-octopress.html
http://caok.github.com/blog/2012/06/24/install-octopress-to-write-blog/
octopress官方建立github主頁參考: http://octopress.org/docs/deploying/github/
