Ubuntu 12.04配置Octopress在Github上搭建blog

至從看到同窗在Github上搭建的blog,深覺得這纔是我想要的blog,簡潔漂亮,靜態頁面,離線編輯,markdown文檔寫做格式,git版本控制。因此當論文的事情告一段落,終於有時間來折騰它。起初,我在window平臺上搭建,參考該文獻配置,其中最大的問題是中文字符支持的問題。css

[我的站點](http://whbzju.github.io/) ##內容概述html

  • ubuntu 12.04配置octopress和github Page
  • git 配置問題,ssh key管理。
  • 維護已經存在的github blog
  • vim的markdown語法高亮插件設置和所見即所得設置

##ubuntu 12.04配置octopress和github Page 首先,咱們來了解下概念問題,關於octopress,能夠見下文:linux

Octopress is a blogging framework which generates your enire blog in static files. Octopress has integrated Twitter, Google Analytics, Google Plus, Facebook and some other webservices. There are also good plugins for adding images, code, videos and other content into your blog posts. The framework is made for hackers and people who know something about Linux and shell.There are three official ways to deploy Octopress Github Pages Heroku Rsyncgit

大體的意思是說octopress是一個靜態頁面生成框架,具備一些列集成的功能。有三種發佈方式:Github Pages,Heroku和Rsync,本文采用Github Pages。因爲Octopress是基於Ruby實現,我對ruby沒有接觸,從別人blog中瞭解到一下關於ruby的幾個重要概念github

Gem ruby的easy install,用來安裝各類庫,是用ruby寫的,全稱叫rubygems。 Bundler 基於gem的更高級管理工具,bundler相對於gem就比如apt-get相對於aptitude。不過他不是單純的下載安裝,他會根據本目錄的Gemfile文件,把你缺乏的包給裝上。 Rvm Ruby Version Manager,用來安裝各類版本的ruby,問題是ubuntu有apt-get,這個不大派上用場。 Rbenv Simple Ruby Version Management,也是用來安裝各類版本的ruby。 Rake Ruby Make,顧名思義就是ruby寫的make,他對應的Makefile是Rakefileweb

<!--more-->sql

###配置安裝環境 ubuntu在默認環境下是沒有octorpess的依賴環境,同時也缺乏git工具。因此首先: sudo apt-get install bash curl git-core -y sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake -y 接着安裝rvm,咱們採用rvm來安裝ruby和octopress的依賴環境。 bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 同時咱們還須要配置bash的環境,並重啓bash echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bashrc source .bashrc 而後,配置octopress的環境: rvm pkg install openssl rvm pkg install iconv rvm install 1.9.2 -C --with-openssl-dir=$HOME/.rvm/usr,--with-iconv-dir=$HOME/.rvm/usr rvm use 1.9.2 --default rvm reload rvm rubygems latest gem install bundler 注意ubuntu 12.04默認的ruby版本是1.8.7,因此運行完上述命令務必要確認`ruby --version 來確認ruby的版本是否依舊修改爲功。shell

###clone octopress git clone git://github.com/imathis/octopress.git octopressubuntu

cd octopress/

###安裝octopress 安裝octopress依賴環境 gem install bundler bundle install 安裝octopress默認主題 rake installvim

###部署到Github 部署過程比較簡單,每一步都有詳細的提示。首先你得如今github上建立一個repository,且必須命名成username.github.com.git,其中username是你的github的用戶名,參見用Github Pages搭建blog設置。要注意的是ssh的管理,直接在github帳戶上添加ssh密鑰,該密鑰是做爲deploy密鑰,所以不能用於其餘項目,也就是說,若是此時你有其餘項目須要ssh密鑰,該密鑰已經不能被使用,你必須經過ssh-keygen從新生成密鑰,而且經過ssh-agent進行切換。

用octopress寫blog主要的步驟以下: rake new_post["title"] rake generate 這樣靜態頁面就生成好了,能夠經過rake preview來預覽,訪問localhost:4000進行測試。

沒有問題就能夠經過rake deploy部署到github上。

同時,不要忘了將source分支也上傳到github上,依照默認的octopress配置,它是將source和master分開,在source分支下完成文章編寫,經過deploy到master中,默認狀況下github上只有master分支。可是若是你有多臺電腦,須要維護一個github blog,其餘電腦必須checkout 該項目的source分支才能進行修改,不然會出錯。所以,必須將source分支也加入到項目目錄中 git add . git commit -m "origin source branch" git push origin source

若是一切正常,過一會你就能夠經過`username.github.com來訪問你的blog。

###octopress主題安裝 我我的以爲默認主題不錯,各位也能夠安裝其餘主題,google吧。

##維護一個已經存在的github blog 首先,在機子上配置ruby環境,rvm,git和octopress的環境。

接着從github上clone你的blog項目,好比: git clone git@github.com:username/username.github.com.git checkout source分支,這個是必須的步驟 cd username.github.com git checkout source

從新配置本地octopress和Github Page的關聯 rake setup_github_pages 按提示完成設置

接着便於初次配置octopress同樣的方式進行blog編寫修改等。

##markdown編輯器的配置:VIM 在linux平臺上,vim是我首選的編輯器,不想換其餘專門針對markdown語法的編輯器。在寫blog的時候,我但願編輯器可以有兩個功能:

  • 支持markdown語法高亮
  • 支持所見即所得模式編輯

google了下發現,能夠經過安裝vim-octopress和vim-instant-markdown插件來實現。 ###vim-octopress配置 建議採用Pathogen來安裝vim插件。

cd ~/.vim/bundle
git clone https://github.com/tangledhelix/vim-octopress.git octopress

如果沒有設置過vim,先新建~/.vimrc ~/.vim/ 。最後在.vimrc 中加入,指定markdown的配色爲octopress

autocmd BufNewFile,BufRead *.markdown setfiletype octopress

###vim-instant-markdown插件配置 該插件的功能是讓你在撰寫markdown文檔時能當即看到成文效果,在安裝完畢後,使用vim時自動啓動瀏覽器,實時的展示你撰寫的內容。安裝步驟見項目的github主頁。我在安裝該插件的時候遇到一些問題,還在解決中,但願能儘快使用它。

##總結&展望 在折騰這個blog,分別在windows上和linux上都安裝成功過,window上的中文字符集解決方法比較麻煩。linux下只要將語言設置到.bashrc便可。整個過程遇到多個ssh key管理問題,最後在github的help上找到ssh agent切換管理解決方案。ruby version不對,緣由是ubuntu默認ruby版本爲1.8.7,須要設置。在修改octopress中的其餘文件,在git push時,須要用git add/rm 來處理這些文件後push。Github在build pages失敗時,會有郵件提示錯誤緣由,須要仔細看。 總之,遇到問題先思考,有了思路後再針對性的查閱資料,嘗試解決方案。 ###接下來要解決的:

  • 評論機制
  • 代碼高亮
  • 主題修改
  • 配置修改,config.yml文件等

##參考

Octopress installation in Ubuntu 12.04 with rsync - Lennu.net

爲已存在的Octopress配置環境

http://fancyoung.com/blog/octopress-study/

http://netwjx.github.com/blog/2012/03/18/octopress-note/

http://BeiYuu.com

配置 Git 和 SSH 密鑰鏈接 Github - CSSer

解決cygwin下的「Could not open a connection to your authentication agent.」

##教訓 不要輕易更新ruby版本。

相關文章
相關標籤/搜索