Octopress博客搭建和個性化配置

Attention:oschina的博客系統貌似不支持markdown寫做,本博文原版請訪問這裏


使用octopress搭建博客的人,大概都會喜歡寫關於如何搭建配置octopress的文章。由於它的高定製性,爲極客們帶來不少樂趣。從首頁的配置,到分類,評論,我的信息,社會化分享等的配置,內容繁多。並且這是我第二次搭建octopress環境了,發現上一次的配置有一部分不能clone到本機上。所以,把配置的過程記錄下來是十分有必要的。
個人意願是記錄配置的過程,順便整理大牛們關於這方面的一些說明。網絡上相關資料有不少,沒有實踐過的沒有摘錄在這裏。全部的代碼實現都是直接引用前輩們的。另外,本博的配置環境是linux fedora 18. html

octopress官方網站

octopress的配置均可以在官網上找到。事實上,遇到問題查詢官網文檔是最有效率的方法。 linux

github的設置

建立倉庫

登錄github網站,註冊一個用戶,假設爲grunmin。
建立一個倉庫,命名爲username.github.com,例如grunmin.github.com git

使用密鑰登錄github

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

按默認一直確認便可。
在github賬號設置裏找到ssh的設置,添加一個ssh key。
進入~/.ssh/找到id_rsa.pub文件,把裏面的內容填到key裏,title不填。
這樣作的好處是以後push到倉庫上時能夠不用輸入密碼。 github

安裝ruby

查看ruby版本 vim

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

如有顯示命名未找到,直接下載安裝便可。 ruby

安裝octopress

在安裝octopress以前,確保已安裝git。 bash

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

這裏容易出現三個問題:
一、已安裝rvm和bundler,但顯示找不到命令。 markdown

用絕對路徑:/home/username/.rvm/bin/rvm /home/username/.rvm/bin/bundler
二、執行bundler install時顯示:GemfileNotFound error? 網絡

可能在安裝的過程當中退出了octopress目錄,進入後執行便可。
三、執行rake install時顯示

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

同理,進入安裝目錄便可。

將博客部署到github上

rake setup_github_pages

此時會要求輸入倉庫的url,能夠在github倉庫內容業的右下角找到。
例如個人是git@github.com:grunmin/grunmin.github.com.git
成功後便可用

rake new_post["title"]

生成新文章,文章在source/_post/目錄下,文件名構成爲時間和標題的拼音。以後執行

rake generate
rake preview

此時能夠預覽(瀏覽器打開localhost:4000可看到效果。)若是沒有問題,則執行

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

保存到倉庫。
須要注意的是執行git命令時應處於octopress目錄,而且checkout到source分支,

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

重新電腦上恢復博客內容:

找到博客倉庫的url,執行

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

以後操做同上,有問題照葫蘆畫瓢。

octopress博客的個性化配置

添加文章分類(category)

一、增長category_list插件
將下面的代碼寫到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)

二、增長側邊欄
將下面的代碼寫到source/_includes/asides/category_list.html

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

修改config.yml文件,找到default_asides:
在中括號內添加 `asides/category
list.html`

添加的位置決定在頁面顯示的位置,注意用逗號隔開。
用vim編輯器粘貼的話可能會自動縮進,啓用粘貼模式或用其餘編輯器便可。

添加社會化評論

octopress 產生靜態網頁,不支持評論功能,因此咱們用第三方評論系統。好消息是octopress已爲咱們配置好了Disqus,咱們只須要稍微填寫如下信息便可。
一、首先在Disqus 註冊一個賬號,點擊添加到個人網頁,添加站點信息,好比個人grunmin.github.io
二、修改_config.yml文件,找到這一段:

# Disqus Comments 
disqus_short_name: 
disqus_show_comment_count: false

添加你的disqus用戶名,並把false修改爲true便可。注意冒號後面有空格。
此外,能夠用國內的多說系統,速度較快,且比較符合景德鎮村民的須要。以前我用的就是這個,可是沒有記錄配置過程,此次克隆時多說系統沒有成功啓動,所以不折騰了,有須要的話能夠自行谷歌。

導航欄設置

導航欄的設置在source\_includes\custom\navigation.html
咱們能夠將Blog和Archives修改成首頁和歸檔,也能夠在此添加一個標籤頁,此時應使用命令rake new_page['about']建立一個頁面,頁面路徑爲source\about\index.markdown;
修改後的文件以下:

<ul class="main-navigation"> 
  <li><a href="{{ root_url }}/">首頁</a></li> 
  <li><a href="{{ root_url }}/blog/archives">歸檔</a></li> 
  <li><a href="{{ root_url }}/about">關於</a></li> 
</ul>

持續更新…………

參考文章:

利用Octopress搭建一個Github博客

Ruby開源項目介紹(1):octopress——像黑客同樣寫博客

爲octopress添加分類(category)列表

馮威的學習專欄---記錄工做學習點滴

相關文章
相關標籤/搜索