用Octopress在Github pages上写博客

时间:2023-01-25 09:14:09

安装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&period;04&plus;Jekyll&plus;Github Pages搭建静态博客

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

  5. ruby开源项目之Octopress:像黑客一样写博客&lpar;zhuan&rpar;

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

  6. 使用Hexo &plus; GitHub Pages 搭建个人博客

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

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

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

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

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

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

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

随机推荐

  1. js jquery 选择器总结

    js jquery 选择器总结 一.原始JS选择器. id选择器:document.getElementById("test"); name选择器:document.getElem ...

  2. python常用的内置库

    标准库: import os os.getcwd()  //返回当前工作路径 os.chdir('/server/accesslogs')   # Change current working dir ...

  3. passing argument 3 of &OpenCurlyQuote;wtk&lowbar;hlv&lowbar;rec&lowbar;init’ discards &OpenCurlyQuote;const’ qualifier from pointer target type

    -Werror,编译出现如下错误: src/wtk/exam/wtk_ndx.c:154:6: error: passing argument 3 of ‘wtk_hlv_rec_init’ disc ...

  4. 如果利用storyboard创建cell中标识符identifier的正确设置

    今天打算用storyboard直接生成cell,但是总是提示数据源没设置,一直报错. 我就奇了怪了,明明标识符设置了,但是还是不行,仔细分析之后才发想,原来是因为标识符位置填错了.请看下面截图中正确的 ...

  5. &commat;RestController

    /* * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Vers ...

  6. Python3基础 函数 收集参数&plus;普通参数 的示例

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  7. Nodejs express 获取url参数,post参数的三种方式

    express获取参数有三种方法:官网实例: Checks route params (req.params), ex: /user/:id Checks query string params (r ...

  8. Video to SDI Tx Bridge模块video&lowbar;data(SD-SDI)处理过程

    Video to SDI Tx Bridge模块video_data(SD-SDI)处理过程 1.Top Level Block Diagram of Video to SDI TX Bridge V ...

  9. JDK1&period;7安装和环境配置

    进行Java或者Android开发,首先必须要搭建一个开发环境,先安装JDK,然后配置jdk环境变量.JDK现在的最高版本为JDK 1.8 ,如果我们要做Android开发,我们则需要JDK1.7以上 ...

  10. PAT 1072 Gas Station&lbrack;图论&rsqb;&lbrack;难&rsqb;

    1072 Gas Station (30)(30 分) A gas station has to be built at such a location that the minimum distan ...