文章目录
  1. 1. github pages和octopress的简单介绍
  2. 2. 安装配置Ruby
  3. 3. 安装Git
  4. 4. 安装Octopress
  5. 5. 更改环境变量以支持生成有中文的文章
  6. 6. 部署到Github
  7. 7. 提交的source目录
  8. 8. 新建和发布页面
  9. 9. 安装过程中遇见的错误
  10. 10. 扩展设置
  11. 11. 参考资料

github pages和octopress的简单介绍

github pages是github静态页面,为项目做宣传主页之类的用处。免费空间,免费流量,每次的博客改动和博客模板的改动都由git跟踪。

octopress是自动化创建静态博客工具,包括一些模板和一些批处理工具。 用ruby和sass实现的。

安装配置Ruby

Octopress 2.0 需要 Ruby 1.9.3,低于这个的版本可能不行。

如果是Linux,使用RVM来安装Ruby,如果是Windows,则使用RubyInstaller。在这个下载页面下载对应系统的Ruby和DevKit(带mingw的版本)【我是win7 64位,所以下载了rubyinstaller-2.0.0-p451-x64.exe和DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe】。

  1. 安装RubyInstaller

    双击exe文件安装即可
    
  2. 安装DevKit
    解压到指定目录下 【我是解压到D:\DevKit】

    cd D:\DevKit
    ruby dk.rb init
    ruby dk.rb install
    gem install rdiscount --platform=ruby
    

安装Git

下载msysgit,然后双击exe安装。

双击桌面图标Git Bash,启动一个shell,输入如下命令进行配置:

产生公钥ssh key,默认全部回车

ssh-keygen -C github-account-email -t rsa

Note: username@email.com需要更换成你自己的在Github上注册的Email地址。 这样会在用户目录(C:\Documents and Settings\UserName)下产生一个.ssh文件夹,里面为对应的SSH Keys,其中id_rsa.pub是Github需要的SSH公钥文件。

在Github的Account Settings里选择SSH Keys,在其中将id_rsa.pub文件里内容拷贝至 其中的Key里。

这样以后就可以直接使用Git和GitHub了。

测试一下

ssh -T git@github.com

如果出现 hi xxx! You’ve successfully authenticated, bug GitHub does not povide shell access。说明SSH链接成功。

接下来配置其他信息。

git config --global user.name github-username
git config --global user.email github-account-email
git config --global github.user github-username
git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'

安装Octopress

1.打开一个git Bash shell

cd e:\code\php\blog               #打开存放目录
git clone git://github.com/imathis/octopress.git octopress
cd octopress
ruby --version  # Should report Ruby 2.0.0
rbenv rehash  # 可选,如果安装了rbenv,就需要执行这一步

2.打开Octopress目录下的Gemfile文件,将第一行修改为:

source “http://ruby.taobao.org”    //rubygems.org在中国的下载速度很慢

3.安装依赖:

gem install bundler
rbenv rehash # If you use rbenv, rehash to be able to run the bundle command
bundle install 

4.安装默认主题

rake install

如果不使用默认主题,可以选择官方推荐的其他主题

git clone GIT_URL .themes/THEME_NAME
rake install['THEME_NAME']
rake generate

5.生成和预览博客

rake generate
rake preview
然后浏览器打开页面http://localhost:4000/就可以预览博客了

更改环境变量以支持生成有中文的文章

打开计算机–属性–高级系统设置–环境变量,新增系统变量LANG和LC_ALL,值都是zh_CN.UTF-8,完成后确定保存

部署到Github

  1. 在github上创建一个Repository,名字必须为username.github.io
  2. 将Octopress和自己的Repo关联起来

    rake setup_github_pages
    
  3. 编译生成JeKyll所需要的静态文件

    rake generate
    
  4. 部署到github

    rake deploy
    
  5. 在浏览器中输入username.github.io查看自己的blog。部署成功之后马上查看如果没有页面,可能需要等待10min。

提交的source目录

deploy只是把_deploy目录上传到你的repo的master分支,即只是把生成的静态博客站点上传到github pages了。下面还需要把生成这个静态站点工具上传到repo的source分支

cd  e:\code\php\blog\octopress               #打开存放目录
git add .
git commit -m "My octopress blog source code"
git push origin source

到github.com查看你上面新建的repository,会多一个source分支,记载所有的源文件

新建和发布页面

新建日志:

rake new_post["title"]
此命令会在source\_posts\中生成一个MD文件,类似2014-03-1-title.markdown,是日志的编辑文件。

新建页面:

rake new_page["about"]

编辑MD文件需要使用markdown语法(参考链接:Markdown 语法说明)。

生成和发布

rake generate
rake deploy

本地预览:

rake preview

退出预览:

1.Ctrl+C
2.1无效,老提示终止批处理操作吗(Y/N)?,这时候可以另开一个Git Bash窗口,使用ps aux | grep ruby命令找出pid(第一个数值),然后执行kill <pid>来停止该进程

安装过程中遇见的错误

  1. rake install错误

    e:\code\php\blogoctopress>rake install
    rake aborted!
    You have already activated rake 10.1.0, but your Gemfile requires rake 0.9.2.2.
    Using bundle exec may solve this. 
    

    解决办法:

    修改octopress/Gemfiles gem ‘rake’, ‘~> 0.9’ 改为 gem ‘rake’ 再次rake install成功了
    
  2. rake setup_github_pages ‘hellip’ 不是内部或外部命令

    'My Octopress Page is coming soon
    'hellip' 不是内部或外部命令,也不是可运行的程序或批处理文件。
    

    解决方法:

    这个错误无关痛痒,无需解决
    
  3. rake deploy

    Pushing generated _deploy website
    Permission denied (publickey).
    fatal: Could not read from remote repository.
    Please make sure you have the correct access rights sqand the repository exists.
    

    解决方法:

    设置ssh
    
  4. Github发中文文章时乱码问题(invalid byte sequence in GBK)

    解决方案找到你的Ruby安装目录,如我的是:D:\Ruby200-x64, 在里面找到文件D:\Ruby200-x64\lib\ruby\gems\2.0.0\gems\jekyll-0.12.1\lib\jekyll\convertible.rb

    在该文件中找到下面句子:

    # Returns nothing.
        def read_yaml(base, name)
          self.content = File.read(File.join(base, name))
    

    将它修改为:

    # Returns nothing.
        def read_yaml(base, name)
          self.content = File.read(File.join(base, name),:encoding=>"utf-8")
    

    然后确保所有带中文字符的markdown文件是无BOM的UTF-8格式即可。

  5. 用markdown给出的添加图片语法添加图片,虽然在markdownPad2中可以显示,但是在网页上不可以显示

    解决方法:

    将图片存储在..octopress/source/images中,然后使用
    添加图片,就可以在网页中成功显示啦!
    

扩展设置

  1. 给octopress添加3D标签云
  2. Octopress写作及个性设置
  3. octopress个性化设置

参考资料

  1. Github Pages

  2. Cotopress官方文档

  3. Octopress在页面和内容中加入代码、图片、带标题图片方法

文章目录
  1. 1. github pages和octopress的简单介绍
  2. 2. 安装配置Ruby
  3. 3. 安装Git
  4. 4. 安装Octopress
  5. 5. 更改环境变量以支持生成有中文的文章
  6. 6. 部署到Github
  7. 7. 提交的source目录
  8. 8. 新建和发布页面
  9. 9. 安装过程中遇见的错误
  10. 10. 扩展设置
  11. 11. 参考资料