Octopress的教學

記錄如何安裝octopress

從wordpress搬到octopress

原來都是習慣用wordpress,但是隨著文章越來越多,速度慢到受不了,看到很多人玩octopress,所以來玩玩看,接下來要介紹三種玩octopress的方式。

在Linode或者AWS安裝octopress

不好意思,引用別人的文章,在linode安裝octopress在aws安裝octopress這兩篇文章都寫的很清楚,但是有小地方要注意一下,如果是安裝在Nginx上,比較不會出現權限問題。但是安裝到apache上,就要注意到權限問題,Rakefile裡面的路徑,是遠端主機的路徑,如果設定”~/octopress/“,實際上在主機上就是設定/home/用戶/octopress。這裡的權限要設定 用戶 users。而不能設定www-data/www-data。不然rsync的時候會失敗。

在Heroku上安裝octopress

一定要注意一件事情。預設.gitignore會把public資料夾給忽略掉而不上傳,這個在一般的環境還ok,因為public資料夾裡的東西如果沒有的話會再自動重生,但因為我們準備把東西傳到Heroku,Heroku的檔案系統是唯讀的,不會讓你做這個動作,所以如果你也是要上傳到Heroku的,請記得修改這個檔案,把public給拿掉,不然你的轉好的內容都會傳不上去而出現Sorry, I cannot find /的錯誤訊息!

另外git push heroku master的時候,倒楣的話會出現

1
2
error: src refspec master does not match any.
error: failed to push some refs to 'heroku'  

解決辦法:因为没有master branch,可以checkout一个,

1
2
3
4
git checkout -b master 
git push heroku master
或者改成source
git push heroku source

還有一個非常重要的地方,

heorku如果用heroku create,出現的名稱很差,是怪怪的東西。我會在控制台改一個自己喜歡的名稱,但是要怎麼使用呢?
1
先git remote -v,看看遠端有哪幾個app,找到你要的名字

heroku git:remote -a 你要的app名字,弄完以後,請檢查一下 .git/config 。裡面的路徑對不對

如果文章分類有兩個的話,在文章的分類處,好像不能直接打分類1,分類2 而是要

1
2
-分類1
-分類2

最後就是在大家最愛的Github安裝octopress

Step1. 建立自己的Github page:

首先來這裡new一個github repository,在project name的地方填入username.github.io,以我自己為例就是arguskao.github.io,請注意,不要直接填usernmae,容易失敗。

Step2. Setup Octopress

參考:Octopress Setup

1
2
3
$ gem install bundler #不知道為何,我的mac一定要打sudo gem install bundler
$ bundle install
$ rake install

Step3:rake github

1
rake setup_github_pages

輸入自己的Github Pages repository url,像我的就是:git@github.com:arguskao/arguskao.github.io.git。最好的方式,是直接copy,連結在上圖的右方箭頭處

然後再

1
2
$ rake generate
$ rake deploy

這裡要稍微注意一下,第一次要等十分鐘以上才會看到結果,所以不需要著急!

之後要寫文章的時候,要記得github和前面VPS不太一樣的地方在於必須要先git,不然會有錯誤喲!

如果要搬家舊文章的話,這篇一定要看

延伸閱讀:octopress的專用markdown語法