Hello Octopress
这个网站使用 Octopress 架设,并通过免费的 Heroku 部署到网上。
第一次使用 Octopress,就发现“回不去了”!
看到 Octopress 让我觉得很惊艳,用 Markdown 语法很快写好一篇博文,接着用
rake generate
就能很快的生成整个网站并迅速 deploy 到 GitHub , 就像在 Coding 一样快乐无比, 很有亲切感。
这里有 Octopress 的介绍 -(中文),以及安装教程 - (中文)。
自己在安装和使用的过程中也遇到了一些问题,在此记录一下。
安装环境
- win 7 sp1
- Apatna Studio 3 (自带 git)
下载 Ruby 以及开发工具 DevKit
- RubyInstaller(我下载的是 1.9.3 的版本)
- DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
安装 Ruby & DevKit
安装完 ruby 后会自动将其路径添加至系统变量的 PATH 中,否者需手动添加。Win + R
键入 cmd
打开命令行 输入 ruby -v
确认 ruby 是否已成功安装。
安装完 DevKit 进入目录会发现两个 bat 文件都打不开,进入编辑后发现一句
1 | rem A value similar to C:\msys\1.0\bin is what the "Start in:" field needs |
就依照提示在 C 分区下创建目录路径 msys/1.0
,再将文件都转移其中,这回 msys.bat
可以启动了。
重头戏,安装 Octopress
打开 Aptana,新建 Ruby Project,Generate APP 选项中选择 Clone a existing git project,然后在 Location 中填入
1 | git://github.com/imathis/octopress.git |
这个时候 Aptana 工作区面板里的 Terminal 是无法 ruby --version
成功的,别着急,先启动下 path/to/ruby/bin
目录下的 ruby.exe
即可。
我一开始尝试在此 Terminal 中输入命令来安装 Octopress 所需的 bundle
,后来发现不行,非得要用 DevKit 才能装上,估计要编译什么的吧。
那好,就先打开 DevKit,cd 定位到你新建的 Ruby Project,也就是 Octopress 主程序。
###安装依赖包
1 | gem install bundler |
###安装默认主题
1 | rake install |
配置 Octopress
关于网站的信息都可在 _config.yml
里的到配置,具体的可参见这里。
本地预览
从这步开始,可以用 Aptana 中的 Terminal 更加方便的输命令行了。
1 | rake generate |
即可在 localhost:4000 中预览你的 Octopress 了。
Bug 1: 关于 “Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true” 的警告,解决方法如下:
打开 path/to/ruby/lib/ruby/1.9.1/webrick/httpresponse.rb
搜索以上错误内容,定位到
1 | if chunked? || @header['content-length'] |
一般是 Line 205,将其改为
1 | if chunked? || @header['content-length'] || @status == 304 || @status == 204 |
部署 Heroku
你得先有个 Heroku 账号,注册一个!
Aptana Studio 3 中自带了 Heroku 图形化的插件,只需 Run Web Demployment Wizard,按照提示配置即可。
你也可以自己手动配置,这也许更加有趣:
1 | gem install heroku |
关于如何生成 SSH Key,请看这里。
编辑 .gitignore
去除 public
,否则生成内容无法部署到 Heroku 上。
1 | rake generate |
发表文章
只需一句
1 | rake new_post["title"] |
生成的 Source/_posts/
下的 markdown 即为文章内,你可以用 Liquid 语法来编辑它。
关于 Markdown 的更多介绍,请看这里 - (中文)。
Bug 2: 关于中文字符的问题,解决方法如下:
打开 path/to/ruby/lib/ruby/gems/1.9.1/gems/jekyll-0.11.0/lib/jekyll/convertible.rb
,找到
1 | self.content = File.read(File.join(base, name)) |
修改为
1 | self.content = File.read(File.join(base, name), :encoding => "utf-8") |
在 windows 平台上,还有一些特殊的错误。
Bug 3: 关于 jekyll 的 “invalid byte sequence in GBK (ArgumentError)” 错误,你可能需要在命令行下改变当前代码页到 UTF-8:
1 | chcp.com 65001 |
Bug 4: 关于语法高亮无法使用报 “Liquid error: No such file or directory - python -c ‘import sys; print sys.executable’” 错误的解决方法:
- 安装 python for windows (不推荐安装 3.3 版本的);
- 下载这个文件;
- 用下载文件替换
path/to/ruby/lib/ruby/gems/1.9.1/gems/rubypython-0.5.1/lib/rubypython
目录下的同名文件; - 记得重启电脑 :)