Github Pages 搭建個人部落格

躍然發表於2014-08-02

1Github簡介

Github很好的將程式碼和社群聯絡在了一起,於是發生了很多有趣的事情,世界也因為他美好了一點點。Github作為現在最流行的程式碼倉庫,已經得到很多大公司和專案的青睞,比如jQueryTwitter等。為使專案更方便的被人理解,介紹頁面少不了,甚至會需要完整的文件站,Github替你想到了這一點,他提供了Github Pages的服務,不僅可以方便的為專案建立介紹站點,也可以用來建立個人部落格。

Github Pages有以下幾個優點:

    輕量級的部落格系統,沒有麻煩的配置

    使用標記語言,比如Markdown

    無需自己搭建伺服器

    根據Github的限制,對應的每個站有300MB空間

    可以繫結自己的域名

當然他也有缺點:

    使用Jekyll模板系統,相當於靜態頁釋出,適合部落格,文件介紹等。

    動態程式的部分相當侷限,比如沒有評論,不過還好我們有解決方案。

    基於Git,很多東西需要動手,不像Wordpress有強大的後臺

2、配置和使用Github

要使用Git,需要安裝它的客戶端,推薦在Linux下使用Git,會比較方便。Windows版的下載地址在這裡:http://code.google.com/p/msysgit/downloads/list。其他系統的安裝也可以參考官方的安裝教程。

下載安裝客戶端之後,各個系統的配置就類似了,我們使用windows作為例子,LinuxMac與此類似。

Windows下,開啟Git Bash,其他系統下面則開啟終端(Terminal):

1、檢查SSH keys的設定

首先我們需要檢查你電腦上現有的ssh key

1. $ cd ~/.ssh

如果顯示“No such file or directory”,跳到第三步,否則繼續。

2、備份和移除原來的ssh key設定:

因為已經存在key檔案,所以需要備份舊的資料並刪除:

    1. $ ls

    2. config  id_rsa  id_rsa.pub  known_hosts

    3. $ mkdir key_backup

    4. $ cp id_rsa* key_backup

    5. $ rm id_rsa*

3、生成新的SSH Key

輸入下面的程式碼,就可以生成新的key檔案,我們只需要預設設定就好,所以當需要輸入檔名的時候,回車就好。

        // 注意,如果gitHub繫結多個郵箱,這裡郵箱設定要正確,不然測試會不成功

        // Your primary GitHub email address will be used for account-related notifications (e.g. account changes and billing receipts) as well as any web-based                // GitHub operations (e.g. edits and merges).

    1. $ ssh-keygen -t rsa -C "郵件地址@youremail.com" 

    2. Generating public/private rsa key pair.

    3. Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<回車就好>

然後系統會要你輸入加密串(Passphrase):

    1. Enter passphrase (empty for no passphrase):<輸入加密串>

    2. Enter same passphrase again:<再次輸入加密串>

最後看到這樣的介面,就成功設定ssh key了:


4、新增SSH KeyGitHub

在本機設定SSH Key之後,需要新增到GitHub上,以完成SSH連結的設定。

用文字編輯工具開啟id_rsa.pub檔案,如果看不到這個檔案,你需要設定顯示隱藏檔案。準確的複製這個檔案的內容,才能保證設定的成功。

GitHub的主頁上點選設定按鈕:

選擇SSH Keys項,把複製的內容貼上進去,然後點選Add Key按鈕即可:

PS:如果需要配置多個GitHub賬號,可以參看這個多個github帳號的SSH key切換,不過需要提醒一下的是,如果你只是通過這篇文章中所述配置了Host,那麼你多個賬號下面的提交使用者會是一個人,所以需要通過命令git config --global --unset user.email刪除使用者賬戶設定,在每一個repo下面使用git config --local user.email '你的github郵箱@mail.com' 命令單獨設定使用者賬戶資訊


5、測試一下

可以輸入下面的命令,看看設定是否成功,git@github.com的部分不要修改:

    1. $ ssh -T git@github.com

如果是下面的反應:

    1. The authenticity of host 'github.com (207.97.227.239)' can't be established.

    2. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

    3. Are you sure you want to continue connecting (yes/no)?

不要緊張,輸入yes就好,然後會看到:

    1. Hi <em>username</em>! You've successfully authenticated, but GitHub does not provide shell access.

6、設定你的賬號資訊

現在你已經可以通過SSH連結到GitHub了,還有一些個人資訊需要完善的。

Git會根據使用者的名字和郵箱來記錄提交。GitHub也是用這些資訊來做許可權的處理,輸入下面的程式碼進行個人資訊的設定,把名稱和郵箱替換成你自己的,名字必須是你的真名,而不是GitHub的暱稱。

     1. $ git config --global user.name "你的名字"

      2. $ git config --global user.email "your_email@youremail.com"

好了,你已經可以成功連線GitHub了。

3、使用GitHub Pages建立部落格

GitHub建立好連結之後,就可以方便的使用它提供的Pages服務,GitHub Pages分兩種,一種是你的GitHub使用者名稱建立的username.github.io這樣的使用者&組織頁(站),另一種是依附專案的pages

User & Organization Pages

想建立個人部落格是用的第一種,形如changyou06.github.io這樣的可訪問的站,每個使用者名稱下面只能建立一個。

建立好username.github.io專案之後,提交一個index.html檔案,然後pushGitHubmaster分支(也就是普通意義上的主幹)。第一次頁面生效需要一些時間,大概10分鐘左右。

生效之後,訪問username.github.io就可以看到你上傳的頁面了,changyou06.github.io就是一個例子。

關於第二種專案pages,簡單提一下,他和使用者pages使用的後臺程式是同一套,只不過它的目的是專案的幫助文件等跟專案繫結的內容,所以需要在專案的gh-pages分支上去提交相應的檔案,GitHub會自動幫你生成專案pages。具體的使用幫助可以參考Github Pages的官方文件:

4Mac下搭建jekyll環境,利用JekyllGithub上寫部落格

首先在本地上安裝Jekyll,本人使用的系統是Mac OS X 10.9.3,並且已經安裝好RubyPython,請讀者根據自身情況自行安裝。

1、安裝/升級本地ruby

安裝rvm

可以先 ruby -v 檢視下本地ruby版本號,如果是1.9.2以上的直接跳過該步。由於gem安裝jekyll需要ruby 1.9.2以上版本,現在官方推薦的是1.9.3,而mac自帶的ruby1.8.6,所以需要先升級本地的ruby,否則在安裝的時候會出現類似“instance of Date needs to have method `marshal_load'”的報錯。

網上不少人使用原始碼安裝來替換本地ruby,其實用rvm來管理多版本ruby是更安全、方便的方案。rvm的安裝比較簡單:

$ curl -L https://get.rvm.io | bash -s stable

安裝好rvm後需要按照提示 source ~/.bash_profile rvm新增到環境變數中。

解除安裝macports

在正式安裝ruby前還需要確保你本地沒有安裝macports,由於rvm會通過homebrew來安裝ruby,而homebrewmacports存在相容性問題,如果不刪除macports會導致安裝失敗。刪除macports有一定風險,請先自行 cd /opt/local 確認軟體均可刪除。

$ sudo port -f uninstall installed

$ sudo rm -rf /opt/local ~/.macports

安裝ruby

接下來可以正式安裝ruby了,這裡可以先通過 rvm use 命令來獲取詳細的版本號,安裝過程可參考以下程式碼:

$ rvm use 1.9.3

ruby-1.9.3-p392 is not installed.

To install do: 'rvm install ruby-1.9.3-p392'

$ rvm install ruby-1.9.3-p392

大概N分鐘之後,ruby 以及 homebrew即可安裝完成,且自動切換到最新版ruby

2、安裝jekyll

更換gem source

據說gem source會被牆,所以在正式安裝jekyll之前可以先換成淘寶的映象。

    $ gem sources -l

    $ gem sources --remove https://rubygems.org/

    $ gem sources -a http://ruby.taobao.org/

安裝jekyll

    $ gem install jekyll

然後

$ gem install jekyll rdiscount

安裝完成後,cd到專案根目錄,使用以下命令即可執行jekyll環境,通過 localhost:4000 即可訪問。

$ jekyll --server

注:jekyll --server 命令已廢棄,新版使用jekyll server。這個改變浪費了我好多時間。以下為官方解釋:

The Jekyll Command

For better clarity, Jekyll now accepts the commands build and serve. Whereas before you might simply run the command jekyll to generate a site and jekyll --server to view it locally, now use the subcommands jekyll build and jekyll serve to do the same. And if you want Jekyll to automatically rebuild each time a file changes, just add the --watch flag at the end.

歐耶!接下來就可以開始github pages之路了~

安裝RDiscount

    $ gem install rdiscount

安裝pygments

    $ sudo easy_install pip

    $ sudo pip install --upgrade distribute

    $ sudo pip install pygments

安裝完成之後,clone Tom Preston-Werner做的模板,並刪除_posts_images兩個目錄中的內容,因為裡邊的內容是有版權的。完成之後,在_posts中新增自己的文章,格式可以markdown或者Textile

注:模板中的CNAME檔案也必須刪除,因為那是他人的域名轉換檔案。如果自己有獨立域名,可以谷歌方CNAME檔案使用方法。我沒有獨立域名,這個設定略去。

以前老的克隆地址:

$ git clone git://github.com/mojombo/mojombo.github.com.git myblog

模板新地址:

git    clone git://github.com/mojombo/mojombo.githbub.io    /Volumes/SHARED/changyou06.github.com

注: /Volumes/SHARED/changyou06.github.com是本機自定義的github工程同步目錄,可根據個人需要自定義。

在github個人中心新建repository命名形如changyou06.github.io。然後將該repository克隆或者下載至本機特定位置。將剛下載的模板工程內檔案複製到那個特定位置。修改模板中部分檔案個人資訊,在終端cd到該資料夾下,執行jekyll server 然後在本機瀏覽器輸入http://localhost:4000或者http://127.0.0.1:4000即可訪問我們的網站了。使用github客戶端將該特定資料夾下所有檔案提交至github,然後稍後在瀏覽器輸入形如http://changyou06.github.io的網址即可線上訪問我們的網站了。這是真正屬於我們的乾淨的部落格。


參考部落格:

1、http://blog.devtang.com/blog/2012/02/10/setup-blog-based-on-github/

2、http://blog.csdn.net/biaobiaoqi/article/details/9289563

3、http://www.cnblogs.com/rubylouvre/archive/2012/06/10/2543706.html


相關文章