Deploy Github Pages using Octopress on Windows

官方文档

“Octopress is a blogging framework for hackers”
Octopress 是黑客专属的博客框架,命令行可以搞定一切部署。

前期准备

  1. 安装 Git http://git-scm.com/ (需翻墙), google code 也提供下载
  2. 使用 rbenvRVM 安装 Ruby 1.9.3
    这俩儿货我均搞不定,总是磕磕绊绊不顺利,最终发现了一个简单的套件 RailsInstaller 。这个相当爽啊,包含:Ruby 1.9.3-p125,Bundler 1.0.18,Git 1.7.6,DevKit等工具,虽然有的用不着,但比起配置 Ruby 和一些插件痛快多了。

    安装 Octopress

1
2
3
git clone git://github.com/imathis/octopress.git octopress
cd octopress # 如果你用的RVM,将被问到是否信任.rvmrc 文件(答 yes)
ruby --version # 应该显示 Ruby 1.9.3

安装相关组件

1
2
3
gem install bundler
rbenv rehash # 如果你用的 rbenv,rehash 用来运行 bundle 命令
bundle install

安装 Octopress 默认主题

1
rake install

部署到 Github Pages

新建 Github 仓库,一定要用你的用户名或组织名,例如:username.github.comorganization.github.com。你的博客将会
提交到 http://username.github.com 主分支,通过简单配置 Octopress 可以帮你做这些。

1
rake setup_github_pages
  1. 会问你的 Github 仓库 url ,填上(例如:git@github.com:jinlong/jinlong.github.com.git
  2. 等命令跑完,会提示有个主分支放在了 _deploy 目录下等待部署
1
rake generate

以上命令将生成你的博客,把生成的文件复制到 _deploy 目录

1
rake watch

这个货莫要乱试啊,要命啊,啥也没改一预览就 Auto-regeneration 自动编译,自动编译停不下来啊(Ctrl-C 不管用( ⊙ o ⊙ )啊!),我是被坑过了,不信试试。

反正翻了整个 Google 没找到停止 rake watch ,停止 Auto-regeneration 的办法,无奈之下,自己瞎改代码吧。

我发现 Rakefile 配置文件有这 jekyll --auto

执行 rake preview 任务的时候也会带 jekyll --auto,斗胆把 --auto去了一试,果然又回到手动 generate 了,哈哈~~(改之前此文件备个份吧,万一哪天出岔子)

1
rake preview

浏览器访问 http://127.0.0.1:4000(http://localhost:4000 )本地可预览调试页面

1
rake deploy

_deploy 的文件加到 git 里,并提交到主分支。过几秒你会收到
Github 邮件说你的提交已经收到将发布你的站点(第一次创建)。

别忘了提交源码到 github。

1
2
3
git add .
git commit -m 'your message'
git push origin source

配置 Octopress

一般需要改 Rakefile_config.yml 文件

1
2
3
4
_config.yml # 主要配置(Jekyll 的设置)
Rakefile # 部署配置
config.rb # Compass 配置
config.ru # Rack 配置

主要配置_config.yml

1
2
3
4
5
6
7
8
url: # 博客地址
title: # 大标题
subtitle: # 子标题
author: # 你的名字
simple_search: # 搜索引擎
description: # 站点的 meta 描述
date_format: # 日期格式,默认 Ruby 日期格式
subscribe_rss: # RSS 订阅,默认 /atom.xml

Jekyll & 插件

1
2
3
4
5
6
7
8
root: # 相对地址
permalink: # 文章的链接结构
source: # 资源文件目录
destination: # 生成的站点文件目录
plugins: # Jekyll 插件目录
code_dir: # 引入的代码插件目录
category_dir: # 生成的博客分类页
excerpt_link: # 继续阅读,在文章里使用<!-- more --> 显示文章摘录

淘宝提供了 RubyGems 的国内镜像站点,这样我可以修改下载的 Octopress 目录下的 Gemfile 文件,把第一行改成

1
source "http://ruby.taobao.org/"

不能使用中文,字符集不兼容

1
2
3
cd ~
echo 'export LC_ALL=zh_CN.UTF-8' >> .bash_profile
echo 'export LANG=zh_CN.UTF-8' >> .bash_profile

切记运行下面命令:

1
source ~/.bash_profile

写博客

博客都放在 source/_posts目录,根据 YYYY-MM-DD-post-title.markdown 格式命名,日期决定博客排序。

1
rake new_post["title"]

参考文章:

从零开始在github上安装octopress
在 Windows7 下从头开始安装部署
Windows下安装Octopress
像hackers一样写博客(二):Octopress设置与增加微博的侧边栏