上一篇博客已經說了爲何要搭建這個博客系統,本文再也不囉嗦,單刀直入,說如下主題。 1. Octopress是什麼 2. Github Page是什麼 3. 部署Octopress到Github Pages的過程 4. 部署中遇到的問題php
自動化建立靜態博客工具,包括一些模板和一些批處理工具。 用ruby和sass實現的,做者imathis也是compass的做者,compass是什麼不是本文的關注點,請讀者自行google瞭解。html
github靜態頁面,爲項目作宣傳主頁之類的用處。python
github pages免費空間,免費流量,每次的博客改動和博客模板的改動都由git跟蹤。沒有理由不選擇。git
系統: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,有兩點須要注意:
解壓DevKit後,在命令行輸入如下命令來進行安裝:
1 2 3 |
cd /d D:\DevKit ruby dk.rb init ruby dk.rb install |
1 2 |
cd /d D:\ruby git clone git://github.com/imathis/octopress.git octopress |
下載完成後會在D:\ruby文件中生成octopress文件夾,下面的操做都是基於這個文件夾。
1 2 3 |
cd octopress gem install bundler bundle install |
1 2 |
cd octopress $ rake install |
1
|
$ rake new_post["My first octopress blog"] |
1
|
$ rake preview |
以上已經把octopress博客系統和第一篇博客生成了,接下來要把生成的博客系統和博客部署到github pages。
https://github.com/ Create a new repo 輸入名稱 username.github.com,注意username改成你的username,不能省略後面的github.com。 eg. caiqinghua.github.com
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結束的地址。
設置步驟自行google解決 也能夠不設置SSH,每次輸入githib密碼上傳,請自行google解決
1 2 |
rake generate rake deploy |
一面的deploy只是把_deploy目錄上傳到你的repo的master分支,即只是把生成的靜態博客站點上傳到github pages了。下面還須要把生成這個靜態站點工具上傳到repo的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分支,記載全部的源文件。
猜想緣由:DevKit問題 把Ruby200中的DevKit刪除,把path中c:\Ruby200\devkit 刪除 從新執行bundle 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成功了
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/ 這個錯誤無關痛癢,無需解決。
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,前面已經說起
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語法,如何撰寫博客,如何個性化設置博客,且聽下文分解。