聽說身為一個攻城獅寫 Blog 就是要用靜態架設(不過我都用 WordPress XDDD),使用 Github 代管可以放著生灰塵,更不用擔心主機被入侵。之前就玩過 OctoPress 了,可是並沒有深入研究,這次就寫起來放著好了~希望有朝一日把整個 WordPress 移動到 OctoPress ~XD。
使用環境
在此我使用的作業系統是 Ubuntu 14.04,請愛用 Linux , Windows 我真的懶得研究XD
必備軟體
$ sudo apt-get install ruby1.9.1-dev<br /> $ sudo apt-get install nodejs<br /> $ sudo apt-get install rbenv<br /> $ sudo gem install bundler<br /> $ rbenv rehash
裝好後就可以把 OctoPress 的原始碼 git clone 下來了~
下載 OctoPress
$ git clone https://github.com/imathis/octopress<br /> $ cd octopress<br /> $ bundle install<br /> $ rake install<br /> $ rake setup_github_pages
輸入你的Github Page 連結:https://github.com/你的帳號/你的帳號.github.io.git
產生靜態檔案並上傳 Github
$ rake generate<br /> $ 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/<br /> $ git clone git://github.com/tommy351/Octopress-Theme-Slash.git slash
然後啟用:
$ rake install['slash']<br /> $ rake generate<br /> $ rake deploy
此佈景的詳細設定可以去作者網站看:tommy351.github.io
綁定網域
Github Page 綁定網域的方法,只需要在 source/
內新增一個名為 CNAME
的檔案,裡面寫著你的網域就可以了,然後在 DNS 紀錄新增一個 CNAME 紀錄,指向目前的網域 username.github.io
,如果是裸域的話,網路上是說使用 A 紀錄指向 192.30.252.153
或 192.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