octopress博客搭建和個(gè)性化配置

使用octopress搭建博客的人,大概都會(huì)喜歡寫(xiě)關(guān)于如何搭建配置octopress的文章。因?yàn)樗母叨ㄖ菩裕瑸闃O客們帶來(lái)很多樂(lè)趣。從首頁(yè)的配置,到分類(lèi),評(píng)論,個(gè)人信息,社會(huì)化分享等的配置,內(nèi)容繁多。而且這是我第二次搭建octopress環(huán)境了,發(fā)現(xiàn)上一次的配置有一部分不能clone到本機(jī)上。因此,把配置的過(guò)程記錄下來(lái)是十分有必要的。
我的意愿是記錄配置的過(guò)程,順便整理大牛們關(guān)于這方面的一些說(shuō)明。網(wǎng)絡(luò)上相關(guān)資料有很多,沒(méi)有實(shí)踐過(guò)的沒(méi)有摘錄在這里。所有的代碼實(shí)現(xiàn)都是直接引用前輩們的。另外,本博的配置環(huán)境是linux fedora 18.

octopress官方網(wǎng)站

octopress的配置都可以在官網(wǎng)上找到。事實(shí)上,遇到問(wèn)題查詢官網(wǎng)文檔是最有效率的方法。

github的設(shè)置

創(chuàng)建倉(cāng)庫(kù)

登陸github網(wǎng)站,注冊(cè)一個(gè)用戶,假設(shè)為grunmin。
創(chuàng)建一個(gè)倉(cāng)庫(kù),命名為username.github.com,例如grunmin.github.com

使用密鑰登陸github

[[ -f ~/.ssh/id_rsa.pub ]] || ssh-keygen -t rsa     #生成密鑰對(duì)

按默認(rèn)一直確認(rèn)即可。
在github帳號(hào)設(shè)置里找到ssh的設(shè)置,添加一個(gè)ssh key。
進(jìn)入~/.ssh/找到id_rsa.pub文件,把里面的內(nèi)容填到key里,title不填。
這樣做的好處是之后push到倉(cāng)庫(kù)上時(shí)可以不用輸入密碼。

安裝ruby

查看ruby版本

ruby --version  # 必須顯示1.9.3

安裝方法:

curl -L https://get.rvm.io | bash -s stable --ruby
rvm install 1.9.3
rvm use 1.9.3
rvm rubygems latest

若有顯示命名未找到,直接下載安裝即可。

安裝octopress

在安裝octopress之前,確保已安裝git。

git clone git://github.com/imathis/octopress.git octopress
cd octopress
gem install bundler
bundle install
rake install

這里容易出現(xiàn)三個(gè)問(wèn)題:
1、已安裝rvm和bundler,但顯示找不到命令。

用絕對(duì)路徑:/home/username/.rvm/bin/rvm
/home/username/.rvm/bin/bundler
2、執(zhí)行bundler install時(shí)顯示:GemfileNotFound error?

可能在安裝的過(guò)程中退出了octopress目錄,進(jìn)入后執(zhí)行即可。
3、執(zhí)行rake install時(shí)顯示

rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)

同理,進(jìn)入安裝目錄即可。

將博客部署到github上

rake setup_github_pages 

此時(shí)會(huì)要求輸入倉(cāng)庫(kù)的url,可以在github倉(cāng)庫(kù)內(nèi)容業(yè)的右下角找到。
例如我的是git@github.com:grunmin/grunmin.github.com.git
成功后即可用

rake new_post["title"]

生成新文章,文章在source/_post/目錄下,文件名構(gòu)成為時(shí)間和標(biāo)題的拼音。之后執(zhí)行

rake generate
rake preview   

此時(shí)可以預(yù)覽(瀏覽器打開(kāi)localhost:4000可看到效果。)如果沒(méi)有問(wèn)題,則執(zhí)行

rake deploy 
git add .
git commit -m "comment"
git push origin source 

保存到倉(cāng)庫(kù)。
需要注意的是執(zhí)行g(shù)it命令時(shí)應(yīng)處于octopress目錄,并且checkout到source分支,

cd octopress
git checkout source
git add .
git commit -m "comment"
git push origin souce

octopress博客的個(gè)性化配置

添加文章分類(lèi)(category)

1、增加category_list插件
將下面的代碼寫(xiě)到plugins/category_list_tag.rb

module Jekyll
  class CategoryListTag < Liquid::Tag
    def render(context)
      html = ""
      categories = context.registers[:site].categories.keys
      categories.sort.each do |category|
        posts_in_category = context.registers[:site].categories[category].size
        category_dir = context.registers[:site].config['category_dir']
        category_url = File.join(category_dir, category.gsub(/_|\P{Word}/, '-').gsub(/-{2,}/, '-').downcase)
        html << "<li class='category'><a href='/#{category_url}/'>#{category} (#{posts_in_category})</a></li>\n"
      end
      html
    end
  end
end

Liquid::Template.register_tag('category_list', Jekyll::CategoryListTag)

2、增加側(cè)邊欄
將下面的代碼寫(xiě)到source/_includes/asides/category_list.html

<section>
  <h1>Categories</h1>
  <ul id="categories">
    {%raw%}{% category_list %}{%endraw%} 
  </ul>
</section>

修改_config.yml文件,找到default_asides:
在中括號(hào)內(nèi)添加
asides/category_list.html

添加的位置決定在頁(yè)面顯示的位置,注意用逗號(hào)隔開(kāi)。
用vim編輯器粘貼的話可能會(huì)自動(dòng)縮進(jìn),啟用粘貼模式或用其他編輯器即可。

添加社會(huì)化評(píng)論

octopress 產(chǎn)生靜態(tài)網(wǎng)頁(yè),不支持評(píng)論功能,所以我們用第三方評(píng)論系統(tǒng)。好消息是octopress已為我們配置好了Disqus,我們只需要稍微填寫(xiě)以下信息即可。
1、首先在Disqus 注冊(cè)一個(gè)帳號(hào),點(diǎn)擊添加到我的網(wǎng)頁(yè),添加站點(diǎn)信息,比如我的grunmin.github.io
2、修改_config.yml文件,找到這一段:

# Disqus Comments 
disqus_short_name: 
disqus_show_comment_count: false

添加你的disqus用戶名,并把false修改成true即可。注意冒號(hào)后面有空格。
此外,可以用國(guó)內(nèi)的多說(shuō)系統(tǒng),速度較快,且比較符合景德鎮(zhèn)村民的需要。之前我用的就是這個(gè),但是沒(méi)有記錄配置過(guò)程,這次克隆時(shí)多說(shuō)系統(tǒng)沒(méi)有成功啟動(dòng),因此不折騰了,有需要的話可以自行谷歌。

導(dǎo)航欄設(shè)置

導(dǎo)航欄的設(shè)置在source\_includes\custom\navigation.html
我們可以將Blog和Archives修改為首頁(yè)和歸檔,也可以在此添加一個(gè)標(biāo)簽頁(yè),此時(shí)應(yīng)使用命令rake new_page['about']創(chuàng)建一個(gè)頁(yè)面,頁(yè)面路徑為source\about\index.markdown;
修改后的文件如下:

<ul class="main-navigation"> 
  <li><a href="{{ root_url }}/">首頁(yè)</a></li> 
  <li><a href="{{ root_url }}/blog/archives">歸檔</a></li> 
  <li><a href="{{ root_url }}/about">關(guān)于</a></li> 
</ul>

從新電腦上恢復(fù)博客內(nèi)容:

如果電腦重裝了系統(tǒng),或者要在另一臺(tái)電腦編寫(xiě)博客,可以這樣設(shè)置。
找到博客倉(cāng)庫(kù)的url,執(zhí)行

git clone -b source (url) octopress   #把source 克隆到本地octopress目錄上
cd octopress
git clone (url) _deploy   #克隆master分支,它存放著博客內(nèi)容。
gem install bundler
bundle install
rake install
rake setup_github_pages

之后操作同上,有問(wèn)題照葫蘆畫(huà)瓢。

其他問(wèn)題

如果不能生成或者推送博客了,可以采取下述措施:

  • 在命令行輸入/bin/bash --login,重試
  • 查看ruby的版本,如果不是1.9.3的話,執(zhí)行rvm use 1.9.3

持續(xù)更新…………

參考文章:

利用Octopress搭建一個(gè)Github博客

Ruby開(kāi)源項(xiàng)目介紹(1):octopress——像黑客一樣寫(xiě)博客

為octopress添加分類(lèi)(category)列表

馮威的學(xué)習(xí)專(zhuān)欄---記錄工作學(xué)習(xí)點(diǎn)滴

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容