用Octopress在Github pages上寫博客

安裝Git環境

  1. 下載msysgit(git for windows),並安裝。
  2. 能夠選擇安裝TortoiseGit,這個在windows的資源管理器裏裝了不少git的右鍵菜單,對git命令行不熟悉的同窗用起來很方便。

安裝Ruby環境

  1. RubyInstaller下載RubyInstaller,直接安裝。
  2. RubyInstaller下載Devkit。
    注意下載合適的版本:
    • Ruby 1.8.6 to 1.9.3: tdm-32-4.5.2
    • Ruby 2.0.0: mingw64-32-4.7.2
    • Ruby 2.0.0 x64 (64bits): mingw64-64-4.7.2
  3. 下載的Devkit其實就是7zip的壓縮包,雙擊時候選擇解壓位置,好比c:\devkit
  4. 在命令行運行以下命令安裝devkit:
    cd DevKit
    ruby dk.rb init
    ruby dk.rb install

    注意若是安裝失敗(不是兩個[INFO]),能夠在跑完ruby dk.rb init以後跑一下ruby dk.rb review來看看生成的.yml文件對不對,若是沒有正確的找到ruby的安裝目錄,就手動加在下面。
  5. 能夠把gem的源更換到淘寶的鏡像,這樣比較快。
    gem sources -a http://ruby.taobao.org/
    gem sources -r https://rubygems.org/
    而後能夠gem sources -l看看結果。

安裝Octorpress

1 . 首先把Octopress的代碼拿到本地。 git clone git://github.com/imathis/octopress.git blog
2 . 修改Octopress目錄下的Gemfile文件,將第一行的http://rubygems.org/ 修改成http://ruby.taobao.org/ html

3 . 而後進入文件夾,安裝Octopress。
gem install bundler
bundle install
rake install
git

4 . 解決中文問題。 github

  • 在環境變量中設置下面的鍵值對:
    LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8 windows

  • 含有中文的文件須要保存爲UTF-8無BOM格式編碼。 ruby

  • 在Ruby的安裝路徑找到文件convertible.rb,將27行修改成:

self.content = File.read(File.join(base, name), :encoding => 'utf-8')
5 . 配置Octopress,修改_config.yml。重點修改以下幾個:
url: http://fresky.github.io title: Flying in the free sky
subtitle: Dawei's Blog author: Dawei XU simple_search: http://google.com/search
description:
markdown

寫博客

博客必須存放在source/_posts目錄下,而且知足Jekyll的命名規範:YYYY-MM-DD-post-title.markdown編輯器

1 . 用rake new_post["Title of the post"]自動生成一個新的符合命名規範的博文。注意這裏的標題不能有中文。post

2 . 這個自動生成的文件的開頭以下:this

--- layout: post title: "Tutorial: Create a blog with octopress and host it in github pages" date: 2013-04-22T21:24:21+02:00 comments: true categories: [ruby,octopress] ---

在這裏能夠修改title爲中文。google

3 . 用你喜歡的編輯器編輯Markdown文本。我用的是MarkdownPad

4 . 編輯完以後能夠運行rake preview來預覽本身的博客(本地機器4000端口)。

發佈到Github Pages上

1 . 在Github上建立一個新的repository,名字叫作your-username.github.io。名字必定要符合這個規範。

2 . 運行命令綁定到Github Pages上:
rake setup_github_pages[git@github.com:fresky/fresky.github.com.git(reponame)]
Github pages須要有2個分支,一個是main,一個是sourcemain上的內容用來顯示。

3 . 運行命令來發布:rake deploy

4 . 調用git push origin source來把你的博文的markdown也放到github上。

在另外一臺機器上發佈博文

Octopress的repository有2個分支,一個是source,至關於源代碼,包含咱們寫的博文等文件,這些文件會被處理而後用來生成blog。另外一個是main,包含博客自己。
main分支存儲在_deploy的目錄下,這個目錄如下劃線開頭,因此在git push origin source時會被忽略掉。當運行rake deploy時,會提交master。因此咱們要作的就是在新機器上重建一個Octopress的repository。

1 . 克隆source到一個本地目錄。 $ git clone -b source git@github.com:fresky/fresky.github.com.git blog

2 . 克隆master_deploy目錄。

$ cd blog $ git clone git@github.com:fresky/fresky.github.com.git _deploy

3 . 運行rake來配置 $ gem install bundler $ bundle install $ rake setup_github_pages
跟上面的步驟同樣。這樣就在一個新的機器上設置好了Octopress的環境。

若是在多臺機器上用,須要每次發佈前都pull,發佈完都push兩個分支。

參考

  1. Tutorial: Create a Blog With Octopress and Host It in Github Pages
  2. Clone Your Octopress to Blog From Two Places
  3. Windows下搭建Octopress博客
相關文章
相關標籤/搜索