安装Git环境

  1. 下载msysgit(git for windows),并安装。
  2. 可以选择安装TortoiseGit,这个在windows的资源管理器里装了很多git的右键菜单,对git命令行不熟悉的同学用起来很方便。

安装Ruby环境

  1. RubyInstaller下载RubyInstaller,直接安装。
  2. RubyInstaller下载Devkit。
    注意下载合适的版本:
    • Ruby 1.8.6 to 1.9.3: tdm-32-4.5.2
    • Ruby 2.0.0: mingw64-32-4.7.2
    • Ruby 2.0.0 x64 (64bits): mingw64-64-4.7.2
  3. 下载的Devkit其实就是7zip的压缩包,双击时候选择解压位置,比如c:\devkit
  4. 在命令行运行如下命令安装devkit:
    cd DevKit
    ruby dk.rb init
    ruby dk.rb install

    注意如果安装失败(不是两个[INFO]),可以在跑完ruby dk.rb init之后跑一下ruby dk.rb review来看看生成的.yml文件对不对,如果没有正确的找到ruby的安装目录,就手动加在下面。
  5. 可以把gem的源更换到淘宝的镜像,这样比较快。
    gem sources -a http://ruby.taobao.org/
    gem sources -r https://rubygems.org/
    然后可以gem sources -l看看结果。

安装Octorpress

1 . 首先把Octopress的代码拿到本地。 git clone git://github.com/imathis/octopress.git blog
2 . 修改Octopress目录下的Gemfile文件,将第一行的http://rubygems.org/ 修改为http://ruby.taobao.org/

3 . 然后进入文件夹,安装Octopress。
gem install bundler
bundle install
rake install

4 . 解决中文问题。

  • 在环境变量中设置下面的键值对:
    LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8

  • 含有中文的文件需要保存为UTF-8无BOM格式编码。

  • 在Ruby的安装路径找到文件convertible.rb,将27行修改为:

self.content = File.read(File.join(base, name), :encoding => 'utf-8')
5 . 配置Octopress,修改_config.yml。重点修改如下几个:
url: http://fresky.github.io title: Flying in the free sky
subtitle: Dawei's Blog author: Dawei XU simple_search: http://google.com/search
description:

写博客

博客必须存放在source/_posts目录下,并且满足Jekyll的命名规范:YYYY-MM-DD-post-title.markdown

1 . 用rake new_post["Title of the post"]自动生成一个新的符合命名规范的博文。注意这里的标题不能有中文。

2 . 这个自动生成的文件的开头如下:

---
layout: post
title: "Tutorial: Create a blog with octopress and host it in github pages"
date: 2013-04-22T21:24:21+02:00
comments: true
categories: [ruby,octopress]
---

在这里可以修改title为中文。

3 . 用你喜欢的编辑器编辑Markdown文本。我用的是MarkdownPad

4 . 编辑完之后可以运行rake preview来预览自己的博客(本地机器4000端口)。

发布到Github Pages上

1 . 在Github上创建一个新的repository,名字叫做your-username.github.io。名字一定要符合这个规范。

2 . 运行命令绑定到Github Pages上:
rake setup_github_pages[git@github.com:fresky/fresky.github.com.git(reponame)]
Github pages需要有2个分支,一个是main,一个是sourcemain上的内容用来显示。

3 . 运行命令来发布:rake deploy

4 . 调用git push origin source来把你的博文的markdown也放到github上。

在另一台机器上发布博文

Octopress的repository有2个分支,一个是source,相当于源代码,包含我们写的博文等文件,这些文件会被处理然后用来生成blog。另一个是main,包含博客本身。
main分支存储在_deploy的目录下,这个目录以下划线开头,所以在git push origin source时会被忽略掉。当运行rake deploy时,会提交master。所以我们要做的就是在新机器上重建一个Octopress的repository。

1 . 克隆source到一个本地目录。 $ git clone -b source git@github.com:fresky/fresky.github.com.git blog

2 . 克隆master_deploy目录。

$ cd blog $ git clone git@github.com:fresky/fresky.github.com.git _deploy

3 . 运行rake来配置 $ gem install bundler $ bundle install $ rake setup_github_pages
跟上面的步骤一样。这样就在一个新的机器上设置好了Octopress的环境。

如果在多台机器上用,需要每次发布前都pull,发布完都push两个分支。

参考

  1. Tutorial: Create a Blog With Octopress and Host It in Github Pages
  2. Clone Your Octopress to Blog From Two Places
  3. Windows下搭建Octopress博客

用Octopress在Github pages上写博客的更多相关文章

  1. 利用Octopress在github pages上搭建个人博客

    利用Octopress在github pages上搭建个人博客 SEP 29TH, 2013 在GitHub Pages上用Octopress搭建博客,需要安装ruby环境.git环境等.本人在Fed ...

  2. 用Jekyll在github上写博客——《搭建一个免费的,无限流量的Blog》的注脚

    本来打算买域名,买空间,用wordpress写博客的.后来问了一个师兄,他说他是用github的空间,用Jekyll写博客,说很多人都这么做.于是我就研究了一下. 比较有价值的文章有这么几篇: htt ...

  3. 用Jekyll在github上写博客

    用Jekyll在github上写博客——<搭建一个免费的,无限流量的Blog>的注脚 本来打算买域名,买空间,用wordpress写博客的.后来问了一个师兄,他说他是用github的空间, ...

  4. 【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  5. ruby开源项目之Octopress:像黑客一样写博客(zhuan)

    ruby开源项目之Octopress:像黑客一样写博客 百度权重查询 词库网 网站监控 服务器监控 SEO监控 Swift编程语言教程 今年一直推荐的一种写作方式.markdown语法快速成文,git ...

  6. 使用Hexo + GitHub Pages 搭建个人博客

    一.前言 之前是在CSDN上写博客的,但是无奈其广告满天飞,还有因为个人不太喜欢CSDN博客里的一些东西,加上看到很多技术大牛都有自己的个人博客,于是乎!便想着搭建一个自己的个人博客.其实之前写博客还 ...

  7. 基于 Hexo + GitHub Pages 搭建个人博客(二)

    在 基于 Hexo + GitHub Pages 搭建个人博客(一) 这篇文章中,我们已经知道如何使用 Hexo + GitHub Pages 搭建一个个人博客,GitHub 为我们提供了免费的域名和 ...

  8. 基于 Hexo + GitHub Pages 搭建个人博客(三)

    一.添加扫描二维码关注功能 打开 themes 目录下的 next 主题配置文件,找到 Wechat Subscriber 标签,将该标签下的配置改成如下形式: # Wechat Subscriber ...

  9. 使用github pages搭建个人博客

    一.环境准备 使用Github Pages搭建个人博客,一劳永逸,可以让我们更加专注于博客的撰写.博客的更新是通过将新建或改动的博客放在指定文件夹并推送到远程Github仓库来完成的,所以我们本地需要 ...

随机推荐

  1. MySQL设置

    在MySQL的使用中很容易出现乱码的情况. 实际上在MySQL中有个地方表明了系统中所用到的所有的字符集. 例如: 从中可以看出,对于server和database的默认字符集都是latin1,这样很 ...

  2. 【elasticsearch】(1)centos7 使用yum安装elasticsearch 2.X

    前言 elasticsearch(下面称为ES)是一个基于Lucene的搜索服务器(By 百度百科:查看).所以他需要java的环境即jdk,这里提供懒人一键安装方式 # yum install ja ...

  3. C++ xmmp IM开发笔记(一)

    XMMP C++库采用 gloox (client) 下载地址:http://camaya.net/download/gloox-1.0.11.tar.bz2 glooxd (server) 下载地址 ...

  4. php截取字符串,无乱码

    今天面试,有一道题,要求截取中文字符无乱码. 当时因为要赶去另一家去面试,没有仔细分析. 虽然现在供职的这家公司b2c项目正在用,因为当时赶项目,是网上拿来直接用的. 回来以后再重新整理了一下. 代码 ...

  5. Python疑问系列

    最近在看python源码 ------点点滴滴做个记录. 预计要分的系列: 1. import 分析 2. 主要bytecode 分析 3. python启动分析 4. object对象分析 最后希望 ...

  6. Login过滤器

    继承自ActionFilterAttibute public override void OnActionExecuting(ActionExecutingContext filterContext) ...

  7. WCF X.b 操作引用了已经从 Y.b 操作导出的消息元素 [http://tempuri.org/:b]。可以通过更改方法名称或使用 OperationContractAttribute 的 Name 属性更改其中一个操作的名称...

    详细错误如下: 很可能由 IncludeExceptionDetailInFaults=true 创建的 ExceptionDetail,其值为: System.InvalidOperationExc ...

  8. 让chrome浏览器快的不要不要的

    Chrome 已经成了很多人的主力浏览器,你可能被它的简洁快速所吸引,但它日益丰富的「扩展」,你可能从来都没有接触过,而事实上,很多扩展可以挖掘出 Chrome 的潜能,让它变得前所未有的强大.有哪些 ...

  9. spm使用之三spm应用实例

    spm 的init实际上是调用了grunt这个工具来实现一些交互式的提问和数据的获取. 看看npm就知道, npm有个命令叫init, 就是一样的交互式提问获取你要创建的nodejs的模块信息. sp ...

  10. Java Servlet的request使用的编码引发的思考 以及解决方法

    如果我们用浏览器填写了中文,而在服务器Servlet上没有进行编码设置,那么将会出现乱码. 出现乱码的原因是:浏览器发送的文字是以UTF-8编码发送的,然后调用request.getParameter ...