在github Pages上部署octopress搭建我的博客系統

原文連接:http://caiqinghua.github.io/blog/2013/08/26/deploy-octopress-to-github-pages/

引子

上一篇博客已經說了爲何要搭建這個博客系統,本文再也不囉嗦,單刀直入,說如下主題。 1. Octopress是什麼 2. Github Page是什麼 3. 部署Octopress到Github Pages的過程 4. 部署中遇到的問題php

理解本文的基本知識

  1. windows命令行基本使用方法(運行中輸入cmd,輸入enter)
  2. git(學習資料: Pro Git 簡體中文版,請自行google下載)
  3. github(github.com)
  4. ruby(本文只要會安裝,會用幾條命令便可)

什麼是octopress?

自動化建立靜態博客工具,包括一些模板和一些批處理工具。 用ruby和sass實現的,做者imathis也是compass的做者,compass是什麼不是本文的關注點,請讀者自行google瞭解。html

什麼是github pages?

github靜態頁面,爲項目作宣傳主頁之類的用處。python

爲何部署到github pages?

github pages免費空間,免費流量,每次的博客改動和博客模板的改動都由git跟蹤。沒有理由不選擇。git

step by step 部署Octopress到Github Pages

準備

系統:Windows 7github

Git:下載地址web

Ruby:下載地址 注意: 部署octopress到github以前我已經安裝過ruby on rails,因此我沒有安裝上面的ruby 1.9.3。 我安裝是railsinstaller-2.2.1,詳情請查看:http://railsinstaller.org/en 因此下面的安裝過程出不少問題也許和此有關,因此仍是建議直接安裝ruby 1.9.3,不要安裝railsinstaller。windows

DevKit:下載地址瀏覽器

Octopress:git://github.com/imathis/octopress.gitsass

安裝軟件

安裝Git Windows下安裝Git很簡單,一路next就能夠了。ruby

安裝Ruby Ruby的安裝也是一路next就能夠,不過記得勾選「Add Ruby executables to your PATH」,將Ruby的執行路徑加入到環境變量中,若是忘記勾選,也能夠手動設置。安裝完後能夠在命令提示符中輸入ruby –version 來確認是否安裝成功。

安裝DevKit DevKit下載下來的是一個自壓縮文件,咱們將其解壓到D:/DevKit,有兩點須要注意:

  1. 解壓目錄中沒有有中文和空格;
  2. 必須先安裝Ruby,並且Ruby須要是RubyInstallser安裝。

解壓DevKit後,在命令行輸入如下命令來進行安裝:

1
2
3
cd /d D:\DevKit ruby dk.rb init ruby dk.rb install

用Git下載octopress源代碼到本地

1
2
cd /d D:\ruby git clone git://github.com/imathis/octopress.git octopress

下載完成後會在D:\ruby文件中生成octopress文件夾,下面的操做都是基於這個文件夾。

安裝Octopress依賴項

1
2
3
cd octopress gem install bundler bundle install

安裝octopress默認主題

1
2
cd octopress $ rake install

建立第一篇博客

1
$ rake new_post["My first octopress blog"]

本地預覽生成的博客系統和博客

1
$ rake preview

打開瀏覽器訪問 http://localhost:4000/%EF%BC%8C%E4%BD%A0%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2%E5%B0%86%E5%91%88%E7%8E%B0%E5%9C%A8%E7%9C%BC%E5%89%8D%E3%80%82

以上已經把octopress博客系統和第一篇博客生成了,接下來要把生成的博客系統和博客部署到github pages。

建立git repository

https://github.com/ Create a new repo 輸入名稱 username.github.com,注意username改成你的username,不能省略後面的github.com。 eg. caiqinghua.github.com

設置剛剛建立的repository路徑到本地

1
2
3
4
$ rake setup_github_pages Enter the read/write url for your repository (For example, 'git@github.com:your_username/your_username.github.com) Repository url: 

請輸入:git@github.com:yourname/yourname.github.com.git (將yourname替換成你的github登陸名)

注意:這一步不要輸入提示中提示的以io結束的地址。

設置SSH

設置步驟自行google解決 也能夠不設置SSH,每次輸入githib密碼上傳,請自行google解決

部署你的博客

1
2
rake generate rake deploy

一面的deploy只是把_deploy目錄上傳到你的repo的master分支,即只是把生成的靜態博客站點上傳到github pages了。下面還須要把生成這個靜態站點工具上傳到repo的source分支

提交的source目錄

1
2
3
4
cd /d D:\ruby\octopress git add . git commit -m "My octopress blog source code" git push origin source

到github.com查看你上面新建的repository,會多一個source分支,記載全部的源文件。

安裝過程當中遇到的問題

1. bundle install 過程當中Installing rdiscount (2.0.7.3) 安裝失敗

猜想緣由:DevKit問題 把Ruby200中的DevKit刪除,把path中c:\Ruby200\devkit 刪除 從新執行bundle install 成功了

2. rake install 錯誤

1
2
3
4
d:\ruby\octopress>rake install rake aborted! You have already activated rake 10.1.0, but your Gemfile requires rake 0.9.2.2. Using bundle exec may solve this.

解決辦法: 修改octopress/Gemfiles gem ‘rake’, ‘~> 0.9’ 改成 gem ‘rake’ 再次rake install成功了

 3. rake setup_github_pages ‘hellip’ 不是內部或外部命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
d:\ruby\octopress>rake setup_github_pages Enter the read/write url for your repository (For example, 'git@github.com:your_username/your_username.github.io)  or 'https://github.com/your_username/your_username.github.io') Repository url: git@github.com:caiqinghua/caiqinghua.github.io Added remote git@github.com:caiqinghua/caiqinghua.github.io as origin Set origin as default remote Master branch renamed to 'source' for committing your blog source files rm -rf _deploy mkdir _deploy cd _deploy Initialized empty Git repository in d:/ruby/octopress/_deploy/.git/ 'My Octopress Page is coming soon 'hellip' 不是內部或外部命令,也不是可運行的程序 或批處理文件。 [master (root-commit) 7e72dcf] Octopress init 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 index.html cd - --- ## Now you can deploy to git@github.com:caiqinghua/caiqinghua.github.io with `ra ke deploy` ##

google: ‘hellip’ 不是內部或外部命令,也不是可運行的程序 http://pythonee.github.io/blog/2012/08/10/how-to-octpress/ 這個錯誤無關痛癢,無需解決。

 4. rake deploy

1
2
3
4
5
6
## Pushing generated _deploy website Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

解決辦法:設置ssh,前面已經說起

 5. 再次rake deploy,發生如下錯誤

1
2
3
4
## Pushing generated _deploy website Enter passphrase for key '/c/Users/Lin/.ssh/id_rsa': ERROR: Repository not found. fatal: Could not read from remote repository.

問題緣由:rake setup_github_pages 中 git@github.com:caiqinghua/caiqinghua.github.io設置錯誤,應該設置爲 git@github.com:caiqinghua/caiqinghua.github.com.git 解決辦法: 查看octopress_deploy.git\config

發現url錯誤,修改後,重試,部署完成

1
2
[remote "origin"]  url = git@github.com:caiqinghua/caiqinghua.github.io

修改成

1
2
[remote "origin"]  url = git@github.com:caiqinghua/caiqinghua.github.com.git

注意: octopress.git\config 中的url也生成錯了。

1
2
[remote "origin"]  url = git@github.com:caiqinghua/caiqinghua.github.io


應該修改成

1
2
3
[remote "origin"]  url = git@github.com:caiqinghua/caiqinghua.github.com.git  fetch = +refs/heads/*:refs/remotes/origin/*

從新執行rake gen_deploy執行成功了

當即訪問 caiqinghua.github.com,提示404 頁面未找到錯誤 10分鐘後訪問,能夠看到本地預覽的博客了。 到此部署octopress到github pages總算完成了。

後記

octopress中用markdown格式撰寫博文,關於markdown語法,如何撰寫博客,如何個性化設置博客,且聽下文分解。

 Aug 26th, 2013  opensourcetools

相關文章
相關標籤/搜索