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

SEP 29TH, 2013

在GitHub Pages上用Octopress搭建博客,需要安装ruby环境、git环境等。本人在Fedora下成功搭建Octopress,这里把主要步骤和遇到的问题做一个记录。

在搭建的过程中发现yum安装的ruby与rake在管理octopress博客的时候会引起冲突,要使用rvm的方式安装ruby和rake;另外rvm一般用curl一段脚本来安装的话,网址有所变化,原来的教程中的网址要“去掉一个点”。

1.安装rvm
curl https://rawgithub.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
网上很多教程用raw.github这个站点,但目前需要使用去除”.“的网址

2.将rvm命令添加到系统path中
echo ‘[[ -s “$HOME/.rvm/scripts/rvm” ]] && . “$HOME/.rvm/scripts/rvm” # Load RVM function’ >> ~/.bash_profile
source ~/.bash_profile
如果不做这一步,第3步的”rvm use 1.9.3”将不起作用

3.安装ruby1.9.3 
rvm install 1.9.3 或者用2.0也可以
rvm use 1.9.3 或者用2.0也可以 
这是下载ruby和rubygem源代码后本地自动编译安装.ruby和rubygem的版本要对应,这里会自动解决。

此时,可以查看ruby版本:ruby —version 我在shell下看到的是:ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]

4.确保你装了git 
用git —version查看版本 
如果没有安装git,那就sudo yum install git-core

5.下载octopress
不要认为是网页上的“下载”,这里是用git的方式:
cd ~/workspace/blog
git clone git://github.com/imathis/octopress.git octopress
如果下载速度超慢请尝试修改hosts

6.安装bundle
cd octopress
gem install bundler
bundle install
这里很奇怪,先前bundle的时候一直报错,换成ruby.taobao.org还是报错,但这次没有修改Gemfile竟然下载安装无阻。

7.安装主题
rake install [‘theme-name’]
如果只是rake install表示安装默认主题(位于octopress/.theme)
这里如果遭遇rake install aborted错误,说rake版本不正确,因为rvm帮我们下载了0.9的版本,但是如果用yum install的话装的是10.x的版本,需要先yum remove rake。。感觉ruby的包管理机制真烦。

8.后续操作
生成模板:
rake generate

本地预览:
rake preview
可以通过127.0.0.1的4000端口查看

添加新文章
rake new_post[“文章标题”] //可以直接输入中文,Octopress 自动将汉字转换成拼音url
例如:rake new_post[“hello”]
会在source/_post/生成hello.markdown的文件
用文本编辑器打开后编辑即可。

添加新页面
rake new_page[“about”]

其他的编辑项
blog的配置信息修改: _config.ym

9.部署到github
需要先在github上建立一个repo,名字格式为username.github.io
官方主页的说明https://help.github.com/articles/user-organization-and-project-pages

然后是rake setup_github_pages
会询问你的repo的地址,填写你刚刚建立的repo的全称。
如果使用git@的形式,需要github的ssh设定过,否则会报错:
ssh-keygen
文件名取为/home/username/.ssh/github
然后就生成了key,复制/home/username/.ssh/github.pub中的内容,粘贴到github上account setting中的ssh key里面就ok了。

然后是部署:
rake deploy
如果github上比本地版本高则部署会失败,可以修改Rakefile第264行,“#”前添加“+”即可

ok,查看一下,比如我的:zchrissirhcz.github.com
可以看到octopress已经在了!

10.域名绑定
官方的帮助:https://help.github.com/articles/setting-up-a-custom-domain-with-pages 比如在godaddy买了example.com域名,然后把A记录改为 204.232.175.78(git page) 然后在本地octopress/source目录下新建CNAME文件,填写example.com
据说国外DNS容易被墙,索性换成DNSPOD好了

总结:
新建文章:rake new_page[‘文章名’]
增删改查:在octopress/source/_posts中进行
生成:rake generate 预览:rake preview 部署:rake deploy

参考:
http://beyondvincent.com/blog/2013/08/03/108-creating-a-github-blog-using-octopress/ http://easypi.github.io/blog/2013/01/05/using-octopress-to-setup-blog-on-github/ http://ginsmile.github.io/blog/2013/08/29/octopressbo-ke-ji-qiao/#.UkfO2x0W1q8http://beiyuu.com/github-pages/

利用Octopress在github pages上搭建个人博客的更多相关文章

  1. 使用jekyll在GitHub Pages上搭建个人博客【转】

    网上有不少资源,但大多是“授人以鱼”,文中一步一步的告诉你怎么做,却没有解释为什么,以及他是如何知道的.他们默认着你知道种种专业名词的含义,默认着你掌握着特定技能.你折腾半天,查资料,看教程,一步步下 ...

  2. 让搭建在 Github Pages 上的 Hexo 博客可以被 Google 搜索到

    title: 让搭建在Github Pages上的Hexo博客可以被Google搜索到 date: 2019-05-30 23:35:44 tags: 配置 --- 准备工作 搭建好的博客 npm & ...

  3. 使用Jekyll + GitHub Pages免费搭建个人博客

    使用Jekyll + GitHub Pages免费搭建个人博客 My Blog:无名の辈 | VectorX (vectorxxxx.github.io) Download Ruby:Download ...

  4. GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录

    目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...

  5. 使用GitHub Pages+Jekyll搭建个人博客

    GitHub Pages 免费无限容量的站点数据托管工具(国内访问速度较慢),内置Jekyll服务,能将特定名称的代码仓库动态编译为静态网页 Jekyll 基于Ruby的静态网页生成系统,采用模板将M ...

  6. 使用Hexo和Github Pages快速搭建个人博客

    在编程路上,每天都在网上查看别人的博客,大牛的文章写得通俗易懂,同时博客网站也非常华丽.作为出入编程的一枚小白也想拥有这样一个自己的网站.那就立马去买一个域名了,在网上找教程来搭建. 搭建的过程还算比 ...

  7. Github Pages+Gridea搭建个人博客

    1 概述 Github Pages可以用来托管个人网站,静态的,便于用来实现博客,可以在一个仓库的settings中开启: Gridea是一个静态博客写作客户端,所有文件都在本地,没有数据库,实现简单 ...

  8. 在github上搭建个人博客并在线更新

    换博客比更博还勤的我终于决定写一篇博客搭建教程了.. FAQ Q:\(hexo\)需要本地编译.\(jekyll\)虽然可以直接上传\(md\)..但是如果在github上直接编译也太难受了叭,毕竟不 ...

  9. 如何使用 GitHub Pages 维护自己的博客

    目录 前置知识 实际操作 声明 本文地址:如何使用 GitHub Pages 维护自己的博客 前置知识 首先,你应该知道如何用 Hexo 在本地搭建一个博客系统,具体见 Hexo. 其次,我们如果想使 ...

随机推荐

  1. bcdiv bcmul

    /** * 分 转为 钱 */public static function cent2yuan($price) { return bcdiv($price,100,2);} /** * 元 转为 分 ...

  2. NO.3day 网络基础

    网络基础 1.互联网协议 概念:通过互联网传输数据的标准. 功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准. 2.OSI五层模型 应用层--传输层--网络层--数 ...

  3. P1022 计算器的改良

    P1022 计算器的改良 题目背景 NCL 是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给 ...

  4. 科学计算三维可视化---Mlab基础(数据可视化)

    推文:科学计算三维可视化---TVTK库可视化实例 使用相关函数:科学计算三维可视化---Mlab基础(管线控制函数) 一:mlab.pipeline中标量数据可视化 通过持续实例,来感受mlab对数 ...

  5. [HNOI 2013]切糕

    COGS 2398. [HNOI 2013]切糕 http://www.cogs.pro/cogs/problem/problem.php?pid=2398 ★★★☆   输入文件:nutcake.i ...

  6. 安装rqalpha的日志

    安装rqalpha的日志 用anaconda的控制台命令: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rqalpha rqalph ...

  7. java项目中Excel文件预览

    package com.linkonworks.df.busi.utils; import java.io.File; import java.io.FileInputStream; import j ...

  8. 【我们开发有力量之二】利用javascript制作批量网络投票机器人(自动改IP)

    帮朋友忙网络投票,粗粗地看了下,投票没有什么限制,仅有一个ip校验:每天每个ip仅能投票一次. 也就是说,可以写一个程序,自动更换IP地址(伪造IP地址),实现批量刷票的目的.于是我写了一个投票机器人 ...

  9. Django外键关系:一对一、一对多,多对多

    1. 一对多 model.py class UserTest(models.Model): name = models.CharField(max_length = 16 ) sex = models ...

  10. 20、List集合中特有的方法

    List里面的特有方法简介 List中除了Collection里面的方法以外,内部还有一些方法,通过这些方法,开发者可以更方便的操作List接口的实现类. package com.monkey1024 ...