本文章介绍了自己用 Octopress 搭建 blog 的过程,其中查了好多资料,看了好多文章,也走了不少弯路。现在记录下来,方便后人学习,自己也做个备忘。废话不多说,开工!

搭建 blog 时的本机环境

macOS High Sierra (10.13.3)

ruby 2.3.1p112

gem 2.5.1

bundle 1.16.1

git version 2.14.3 (Apple Git-98)

安装 Octopress

什么是 Octopress ?

Octopress 是一个基于 Ruby 的开源 Blogging Framework,从写 blog,到发布,你完全可以用 Shell 里面的命令搞定。这样,写起 Blog 来,会让技术控们觉得很有成就感。。。

安装 Octopress

$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress

因为墙的原因,所以要修改 gem 的 source

$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l

请确保只有 ruby.taobao.org

安装依赖

$ gem install bundler
$ bundle install

安装默认的 Octopress 主题

$ rake install

在 github 上创建仓库

到 github 上创建仓库

到 github 上创建一个 username.github.io 的 repo,比如我的github 名字为 caozhenwei ,我就创建了一个名字为 caozhenwei.github.io 的仓库。

完成 github 和 Octopress 的关联

执行下面的命令并依照提示完成 github 和 Octopress 的关联

$ rake setup_github_pages
(For example, 'git@github.com:your_username/your_username.github.io.git)
or 'https://github.com/your_username/your_username.github.io')
//比如我的我就输入如下:

git@github.com: caozhenwei/caozhenwei.github.io.git

创建配置

生成博客

$ rake generate
$ rake deploy

生成后 push 到 github 上,在这之前需要配置下 SSH Key。在终端下输入

$ ssh-keygen -t rsa -C "邮箱地址"

按三次回车即可,成功后就可以在用户目录下找到 .ssh 目录,里面有 id_rsaid_rsa.pub 两个文件,把 id_rsa.pub 放到 github 的 SSH keys 即可。

git 用户账户信息的配置:

$ git config --global user.name "你的github用户名"
$ git config --global user.email "你的github邮箱地址"

然后再提交:

$ git add .
$ git commit -m 'create blog'
$ git push origin source

完成后等待几秒就能访问 http://username.github.io 看到自己的博客了。

当然,你也可以在 push 到 github 上之前先在本地预览一下,命令如下

$ rake preview

你可以在本地的浏览器里打开 localhost:4000 来预览生成的 blog 。

安装第三方主题
如果你喜欢上面的默认的主题,这里的步骤就没必要执行了。我比较 abacus 主题,下面是安装步骤:

$ cd octopress
$ git clone https://github.com/bhrigu123/abacus.themes/abacus
$ rake install['abacus']
$ rake generate

到这一步,你的 blog 已经基本搭建完了,终于能写了。blog 是用 Markdown 语言来写的。Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。在 mac 下可以使用 MacDown 软件来写。想下载 MacDown 点我
需要更多的主题点我

开始写 blog:

$ rake new_post['title'] #title 是你要写的 blog 的标题

执行完上面的命令后会在 source/_posts 下面生成 xxx.markdown 文件,我们的 blog 就在 xxx.markdown 中编写。
编写完后执行:

$ rake generate
$ rake preview
//在浏览器输入: localhost:4000 在本地先预览效果,满意后在 push 到 github 上。
$ git add .
$ git commit -m "comment"
$ git push origin source
$ rake deploy

折腾后的收获

在执行 gem install bundler的时候,一会儿切换源,一会说 ruby 版本不对。看来是对 gem 不熟悉。那什么是RubyGems?
RubyGems 是一个方便而强大的 Ruby 程序包管理器,Ruby 的第三方插件是用 gem 方式来管理,非常容易发布和共享,一个简单的命令就可以安装上第三方的扩展库。特点:能远程安装包,包之间依赖关系的管理,简单可靠的卸载,查询机制,能查询本地和远程服务器的包信息,能保持一个包的不同版本,基于 Web 的查看接口,能查看你安装的 gem 的信息。Ruby1.9.1 以后的版本自带 RubyGems。要切换 ruby 版本用什么好呢?笔者刚开始用了 rvm, 后来又用了 rbenv。安装的时候又用到了 homebrew。本着 生命不息,折腾不止的精神,重新的学习了以上各命令的用法。常用方法如下:

rvm 常用命令

rvm remove ruby-1.8.7 --docs —gems #删除某个版本的ruby,并且把文档和gems都删除
rvm use ruby-1.8.7 --default #选择版本
rvm info #查询当前版本
rvm list #列出版本
rvm implode #删除rvm命令

rbenv 常用命令

rbenv install --list #列出所有可以安装的Ruby版本
rbenv install version #version是具体要安装的版本,在上面列出的可以安装的目录中选择一个
rbenv versions #查看本地安装的ruby版本
rbenv global version #设置全局使用的ruby版本
rbenv shell version #设置在当前shell中使用的ruby版本,生成了一个RBENV_VERSION的变量
rbenv local version #设置在当前目录中的ruby版本,会在当前目录下生成.rbenv-version文件。
rbenv uninstall 2.00 #卸载指定ruby版本
rbenv rehash #每当安装新的 Ruby 版本,或 gem 都要运行一下,不然有可能会出现新安装的不起作用的现象

Homebrew 常用命令

brew uninstall rbenv #卸载rbenv
brew list #列出已安装的软件
brew update #更新brew
brew home #用浏览器打开 brew 的官方网站
brew info #显示软件信息
brew deps # 显示包依赖

参考链接

Octopress 的配置Octopress 主题RubyGems 镜像homebrewhomebrew 官网rbenvrvm