Magicwind's Technical Blog

Time is money.

如何在另一台电脑上继续更新Octopress

准备工作: 先Clone一份代码,比如克隆我的Blog的命令是

1
git clone git@github.com:magicwind/magicwind.github.com.git

然后CD到本地Git目录,切换到source分支

1
2
cd magicwind.github.com
git checkout source

运行rake generate生成public目录

接下来可以手动创建_deploy目录,在该目录下运行以下git命令

1
2
3
4
git init
git remote add origin git@github.com:magicwind/magicwind.github.com.git
git fetch
git checkout master

保证_deploy目录下的git有push权限(检查下SSH证书的配置)。

回到上级magicwind.github.com目录就可以使用rake deploy命令同步_deploy目录下的所有文件到远程master分支了。

最后别忘记commit和push根目录的改动到远程source分支。

在Windows7上使用Octopress时遇到的编码问题

在windows7上运行rake preview命令时会遇到一个错误,导致首页在浏览器里不能正常显示。

1
2
Liquid Exception: incompatible character encodings: IBM437 and UTF-8 in post
Liquid Exception: incompatible character encodings: IBM437 and UTF-8 in index.html

上网查了下解决办法, 需要把Windows命令行的Code Page设置成UTF-8。也就是需要在运行rake命令前先输入以下命令:

1
chcp 65001

这时候再执行rake命令时就一切正常了。

另外一点要注意的是,在Windows7下所有文件要用不带BOM的UTF-8格式保存,要不然一些gem在解析文件上会发生错误。

如何在github上部署Octopress个人博客

在接触过Octopress后,最令人兴奋的事情莫过于将自己的博客搭到github上。一方面可以彰显出自己Geeker的身份,另一方面利用完全免费的托管主机,可以100%深度定制网站,这在几年前是不可能有的好事。
我在仔细阅读了Octopress的官方文档后,并没有十分顺利的一次就成功搭建,而是尝试了两三次。事后想想,其实文档还算蛮清楚的,主要是自己对github的托管方式还没完全理解,也就是github page是如何工作的。 所以在此做一些额外的补充:

  1. github page托管网站的方式主要分两种,一种是针对用户或者组织的网站,另一种是针对项目的网站。

    一个用户或者组织只能拥有一个网站,而且网站的域名也是约定好的。比如用户名叫foobar,那么该用户的网站域名就是foobar.github.com,当然之后也可以绑定自己的其他域名。组织和用户的规则一样。

    如果是项目网站,那么网站的域名就是username.github.com/projectname,看上去像是一个用户的子页面。

  2. github page不仅默认规定了网站的域名,同时也规定了repo的名字。在github page上新建一个网站,其实就相当于在github上新建一个repo。

    对于用户和组织来说,repo的名字就是username.github.com。没错,repo的名字就是域名,这一点我一开始也有些迷惑,不是很习惯这命名,仔细看了github page的文档后才发现这样是对的。

  3. 了解上面两点后,后面的就不难了。按照文档一步一步做下去就可以了。主要步骤就是新建repo, 然后依次执行如下命令就可以了。

1
2
3
4
rake setup_github_pages
# 需要你输入repo地址等信息
rake generate
rake deploy

如果对git的命令不太熟悉的, 可以参考这篇文章:Octopress: Setting up a Blog and Contributing to an Existing One

Say Hello to Octopress

Updated 2017-11-17: Use ruby 2.4.2 (installed by homebrew) on macOS Sierra.

需要手工安装:

1
2
3
gem install jekyll
gem install compass
gem install rack

启动命令需要使用bundle exec rake some_action

————–分界线—————

First time to touch Octopress.
Very like this way to write blog.

为了方便记忆Octopress的各种常用命令,现制作Cheat Sheet如下:
创建新博客

1
bundle exec rake new_post["title"]

创建新页面

1
2
3
4
bundle exec rake new_page[super-awesome]
# creates /source/super-awesome/index.markdown
rbundle exec ake new_page[super-awesome/page.html]
# creates /source/super-awesome/page.html

生成静态页面

1
bundle exec rake generate

查看修改

1
bundle exec rake watch

预览

1
bundle exec rake preview

部署到远程服务器(之后别忘记用Git提交到github)

1
bundle exec rake deploy