2013/04/23

octopress 建置自有部落格筆記

部落格到了現在比起 SNS 算是沒落很多了, 但不得不說作為一個類雲端文件平台, 部落格的實用行及特色依然不減, 而自從前的"無名"年代到現在, 目前最多人使用的平台還是以 BloggerWordPress 為主, 同時原本用來當雜記本的 tumblr 也相當風行, 不過最近看到有不少技術性的個人部落格多多少少會提到 Octopress, 究竟這隻章魚有什麼特異功能嗎?

其實並沒有, 但是對於想把時間用在刀口上的 geek 跟想方便寫程式筆記的 programmer 的人而言它無疑的是建立了一套標準流程, 同時也不會因為一般部落格作為用來編寫文章的限制而搞的礙手礙腳的, 對於思路一向清晰又不用多修篇幅的這群人再方便也不過.

Why Octopress? by xdite
使用 Octopress + GitHub 免費架設部落格,以 Markdown 語法快速發表文章 @ 玩物尚誌

好, 這前言有點廢話, 因為看網路上前人們的介紹文跟"第一次就上手"之類的教學文其實不少, 一時之間還不知道要怎麼以淺顯易懂的角度來描述 Octopress.

簡單來說, Octopress 可以讓你:
在虛擬主機 (github/Heroku, etc...) 上建立一個部落格, 而你可以在自己電腦上使用簡單的 Markdown 格式 (標記語言, 不過我更偏好說這是筆記語言XDD) 寫文章, 然後再使用指令一鍵更新部落格文章.

一般人會問: 為什麼我要把自己搞得這麼累? 不就滑鼠點一點, 鍵盤按一按就能翹二郎腿的東西嗎?

假如你是個有經驗而且常在文字模式工作的人, 那理想狀況會是你在指令列一口氣:
架站 >> 開新文章 >> 就地寫 (用 vim 或 emacs 應該不用換視窗吧?) >> 部署 (上傳) >> 完成!!
(然後再反覆第二步驟)

假如自己是個急性子而且不排斥這樣的寫文章模式, 那或許可以嘗試看看這樣的玩法.

---
以下就介紹自己的流程, 平台 Fedora 18 x86_64 >> github:
(官方及許多前人其實都有給很詳細的流程, 如果覺得這裡給的不夠詳細推薦末尾的連結)

因為當初灌的時候就有選擇程式設計跟 Ruby 一大包了, 所以基本需求的 git 跟 Ruby 需求都不是問題, 直接拖 Octopress 整包下來:

git clone git://github.com/imathis/octopress.git octopress
cd octopress # 假如你使用RVM, 你應該會被詢問受否信任 .rvmrc 檔 (輸 yes).
ruby --version # 回應你的 Ruby 版本

因為我直接用當初當初安裝的 Ruby 不用 RVM, 所以直接確認版本:
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]

確認沒問題繼續, 安裝相依 gems:
gem install bundler
rbenv rehash # 假如你使用 rbenv, 驗證後才能使用bundle裡的指令
bundle install

還是一樣, 我沒用rbenv, 所以直接安裝.
完成後再來安裝主題:
rake install

不過 Ruby 跟 Bundle 好像在管理 gems 上有特別弄過, 因為我這裡直接輸入 rake install 是動不了的.
不過錯誤訊息也給了另一條路走, 在 bundle 裡操作.
所以 rake 相關的指令必須透過 "bundle exec ..." 操作:
bundle exec rake install

這樣, 部落格(在你的電腦上)就架好了. 接下來設定 github:
如果沒有帳號的話, 先註冊一個.

---
建立一個repo, 注意專案名稱務必要設定成 "username.github.com"
(官方說明說 organization.github.com 也能, 不過沒有試過...)
建立之後別急著回去佈署, 因為還需要匯入你的加密公鑰

點選右上方的 "Account Settings", 接著在左邊選擇"SSH Keys", 然後點右邊的"Add Keys"
公鑰的格式應該是這樣的: 'ssh-rsa' or 'ssh-dss'開頭的檔案,
匯入後會像這樣顯示: you (a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d)
至於其他SSH的部份在此不做贅述.

如果沒有這樣作的話, 你會因為發布時沒有認證被用 "Error: Permission denied (publickey)" 踢掉.

好了以後, 就可以佈署了:
bundle exec rake setup_github_pages

再來就是產生跟上傳部落格:
bundle exec rake generate
bundle exec rake deploy

有成功的話, github也會寄信通知你:
Your page has been built. If this is the first time you’ve pushed, it may take a few minutes to appear, otherwise your changes should appear immediately.

當一切都沒問題後, 發個 commit 紀錄狀態
git add .
git commit -m 'your message'
git push origin source

這樣就成功了, 輸入 https://username.github.com 應該就能看到全新但是空空如也的部落格了XDD

---
寫新文章囉, 新文章會放在 source/_posts,使用 markdown 檔案方式寫文
bundle exec rake new_post["title"]

預覽則能用:
bundle exec rake preview

寫完後 generate and deploy 就可以啦!!


至於 rake 其實還有其他功能, 可以藉由 rake -T 查看, 在此也不贅述.

參考資料:
Octopress Setup - Octopress.
Missing json gem? @ octopress github.
Daring Fireball: Markdown Syntax Documentation.
>> 想完整了解 markdown 語法的可以參考這裡.
Octopress安裝筆記 - VCAN.

extra:
[教學] 在Windows上使用 github 新手教學 / 初學者指南 - itsPG.org

沒有留言:

張貼留言