Mac上基于Github筹建Octopress

Mac上基于Github搭建Octopress
###概述
Octopress是一款基于[Jekyll](http://jekyllrb.com/)的静态站点生成系统,基于Ruby实现,尽管如此,你并不需要了解Ruby语言,Octopress的博客内容通过md语法书写,入门很简单,在Mac下推荐使用[Mou](http://mouapp.com/)或在线md编译器http://mahua.jser.me/ 。
Octopress通常会部署在GitHub上,因为你还需要了解一些简单的Git命令。

###准备
* **Git** 分布式版本控制工具
* **Rvm** ruby版本管理
* **Ruby** Octopress依赖Ruby语言环境
* **RubyGems** Ruby程序包管理器
* **Octopress** 一套使用 Ruby 语言开发的博客网站框架

###安装
1.Git
地址:https://www.kernel.org/pub/software/scm/git/

直接下载源码编译安装,我选择的是最新的1.8.4版的,如果mac下提示没有安装gcc,可以到下载安装Command Line Tools即可。

2.Rvm
地址:https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer

直接下载保存执行,添加到环境变量即可。

3.Ruby
mac一般自带1.8.7版本的Ruby,但是Octopress要求Ruby使用1.9.3或以上版本,安装完Rvm后,可以很方便的完成Ruby的升级。

    $ rvm install 1.9.3 && rvm use 1.9.3

4.Octopress
直接通过git clone git://github.com/imathis/octopress.git  octopress获取,需要使用Gem安装Octopress的依赖项。
需要更换gem的更新源,否则速度极慢,使用国内taobao的镜像速度会快很多。

    $gem sources -a http://ruby.taobao.org/
    $gem sources -r http://rubygems.org/
    $gem sources -l
同时需要修发Octopress目录下的Gemfile文件,将第一行source对应的url改为http://ruby.taobao.org/ 即可。
进入Octopress目录下,输入下列指令进行依赖项的安装:

    $gem install bundler
    $bundle install
    $rake install 安装默认主题

如果安装默认主题时出现rake aborted!... Using bundle exec may solve this.  那就照着提示说的,使用bundle exec rake install即可。

##将Octopress发布到Github上
1. 创建名为username.github.com的repository。
2. $rake setup_github_page 配置github项目地址
3. 输入新建的repository的地址,去掉最后的.git。
4. 设置ssh,执行ssh-keygen -t rsa -C "your_email@youremail.com",打开生成的id_rsa.pub文件,将内容添加到GitHub中。
Account-settings -> SSH Keys -> Add SSH key 添加对应的key即可。
5. 测试ssh $ssh -T git@github.com,如果成功,将显示Hi xxx! You've successfully authenticated...
6. 设置Git信息


    $git config --global user.name "xxx";
    $git config --global user.email "xxx@xxx.com";

##Octopress基本使用
* **rake generate** 重新生成静态页面
* **rake preview** 可在浏览器localhost:4000进行博客的预览
* **rake deploy** 将本地数据部署到github上
这样,就完成了内容的发布,可以直接使用 http://username.github.com 进行访问。




##中文显示问题
* 修改LANG为en.UIF-8
* 含中文的文件存为UTF8无BOM编码
* 将/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/gems/1.9.1/gems/jekyll-0.11.2/lib/jekyll/convertible.rb文件中对应行修改为
self.content = File.read(File.join(base,name), :encoding => 'utf-8')  //根据具体文件路径修改

##博客配置修改
主要修改Octopress目录下的_config.yml文件


##自定义域名
在source目录下建立名为CNAME的文件,文件内容为自己的域名

域名管理新添A记录 域名 -> 207.97.227.245即可。

##总结

写blog有很多种平台和方式,像博客园,csdn都是很好的博客平台,如果想搭建属于自己的博客,wordpress是不错的选择,如果能折腾,可以试试Octopress。