[Github] 使用 OctoPress 架設靜態 Blog

聽說身為一個攻城獅寫 Blog 就是要用靜態架設(不過我都用 WordPress XDDD),使用 Github 代管可以放著生灰塵,更不用擔心主機被入侵。之前就玩過 OctoPress 了,可是並沒有深入研究,這次就寫起來放著好了~希望有朝一日把整個 WordPress 移動到 OctoPress ~XD。

使用環境

在此我使用的作業系統是 Ubuntu 14.04,請愛用 Linux , Windows 我真的懶得研究XD

 

必備軟體

$ sudo apt-get install ruby1.9.1-dev
$ sudo apt-get install nodejs
$ sudo apt-get install rbenv
$ sudo gem install bundler
$ rbenv rehash

裝好後就可以把 OctoPress 的原始碼 git clone 下來了~

 

下載 OctoPress

$ git clone https://github.com/imathis/octopress
$ cd octopress
$ bundle install
$ rake install
$ rake setup_github_pages

輸入你的Github Page 連結:https://github.com/你的帳號/你的帳號.github.io.git

 

 

產生靜態檔案並上傳 Github
$ rake generate
$ rake deploy

這時進去你的網址應該就有東西了~

 

編輯網站設定

網站的設定檔就在 octopress 資料夾下面的 _config.yml ,裡頭可以編輯網站的標題、網址、作者…,等設定,修改完成後就可以重新產生網頁(rake generate )並且上傳(rake deploy),在這裡可以把網址改成最近很夯的 https 加密連線,Github Page 有支援 SSL 加密連線。

 

 

新增文章

$ rake new_post["文章標題"]

 

打中文標題的話,網址會自己轉成羅馬拼音,不喜歡可以手動改掉,編輯文章就用 你喜歡的編輯器 去編輯產生的檔案,內頭文章使用 Markdown 語法即可,文章太長的話可以在後面加上  <!-- more --> 來截斷文章,要刪除文章直接把 source/_posts/ 內要刪除的文章刪除後就可以了,然後一樣產生(rake generate )並上傳(rake deploy)。

 

安裝 Disqus 留言板

一樣,修改 _config.yml 內的 # Disqus Comments ,填上在 Disqus 申請的 short name ,並改成 true。

 

 

安裝佈景主題

佈景的資料夾位於 .thtmes/ 資料夾,在此安裝 Slash 佈景作為範例:

$ cd .thtmes/
$ git clone git://github.com/tommy351/Octopress-Theme-Slash.git slash

然後啟用:

$ rake install['slash']
$ rake generate
$ rake deploy

此佈景的詳細設定可以去作者網站看:tommy351.github.io

 

綁定網域

Github Page 綁定網域的方法,只需要在 source/ 內新增一個名為 CNAME 的檔案,裡面寫著你的網域就可以了,然後在 DNS 紀錄新增一個 CNAME 紀錄,指向目前的網域 username.github.io ,如果是裸域的話,網路上是說使用 A 紀錄指向 192.30.252.153192.30.252.154,沒實際測試過~。

建立 CNAME 可以使用此指令達成:

echo 'page.becoder.org' >> source/CNAME

 

然後回到 _config.yml 修改網域,並新增一行:

enforce_ssl: 你的網域

 

如果想要使用SSL的話就只能透過 CloudFlare 的 SSL 來達成了,Github Page 不支援自訂 SSL 證書。

再來,轉址的部份需要在 head 內加入 javascript 來達成,因為是靜態的網站~編輯  source/_includes/custom/head.html ,加入:

 

上傳(rake deploy)的時候如果遇到 error: failed to push some refs to 'https://github.com/.... 這個問題的話,需要進入 _deploy 資料夾,然後 git pull origin master ,再進行上傳(rake deploy

不過比較麻煩的是更新文章都需要使用到電腦,再研究看看能不能寫個後台來控制囉~

 

參考文章:

安裝octopress並佈署到github pages上面
Set Up SSL on Github Pages With Custom Domains for Free
Octopress pushing error to GitHub

 

 

關於 富源

一名台東大學資訊工程學系的學生,這個網站用來紀錄一些不常用,但很重要、會忘記的事情。我的興趣是寫一些實用向的程式,例如 Python 爬蟲之類的東西... 歡迎各位交流!

2 Comments

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *