使用Octopress将博客从wordpress迁移到GitHub

Step1 - 在本机安装Octopress

首先,必须先在本机安装配置GitRuby,Octopress需要Ruby版本至少为1.9.2。你可以使用RVMrbenv安装ruby,安装方法见Octopress官方文档:http://octopress.org/docs/setup/

我使用rvm安装: rvm install 1.9.2 && rvm use 1.9.2 安装完之后可以查看ruby版本: ruby –version 结果为: ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux]

然后需要从github下载Octopress: git clone git://github.com/imathis/octopress.git octopress

因为我fork了Octopress,并在配置文件上做了一些修改,故我从我的仓库地址下载Octopress,命令如下: git clone git@github.com:javachen/octopress.git 运行上面的代码后,你会看到: Cloning into ‘octopress’… remote: Counting objects: 6579, done. remote: Compressing objects: 100% (2361/2361), done. remote: Total 6579 (delta 3773), reused 6193 (delta 3610) Receiving objects: 100% (6579/6579), 1.34 MiB | 35 KiB/s, done. Resolving deltas: 100% (3773/3773), done.

接下来进入octopress: cd octopress

接下来安装依赖: gem install bundler rbenv rehash # If you use rbenv, rehash to be able to run the bundle command bundle install

安装Octopress默认的主题: rake install

你也可以安装自定义的主题,blog为主题名称: rake install[‘blog’]

至此,Octopress所需的环境已经搭建成功。

Step2 - 连接GitHub Pages

首先,你得有一个GitHub的帐号,并且已经创建了一个新的Repository。如果你准备用自己的域名的话,Repository的名称可以随便取,不过正常人在正常情况下,一般都是以域名取名的。如果你没有自己的域名,GitHub是提供二级域名使用的,但是你得把Repository取名为你的帐号.github.com,并且,部署的时候会占用你的master分支。

Tips: 如果用自己的一级域名,记得把source/CNAME文件内的域名改成你的一级域名,还有在dns管理中把域名的A Record指向IP:207.97.227.245; 如果用自己的二级域名,记得把source/CNAME文件内的域名改成你的二级域名,还有在dns管理中把域名的CNAME Record指向网址:charlie.github.com; echo ‘your-domain.com’ » source/CNAME 如果用GitHub提供的二级域名,记得把source/CNAME删掉。

完成上述准备工作后,运行: rake setup_github_pages 它会提示你输入有读写权限的Repository Url,这个在GitHub上可以找到。Url形如:https://github.com/javachen/javachen.github.com.git,javachen.github.com是我的Repository的名称。

Step3 - 配置你的博客

需要配置博客url、名称、作者、rss等信息。 url: http://javachen.github.com title: JavaChen on Java subtitle: Just some random thoughts about technology,Java and life. author: javachen simple_search: http://google.com/search description:

date_format: "%Y年%m月%d日"

subscribe_rss: /atom.xml
subscribe_email:
email:

# 如果你使用的是一个子目录,如http://site.com/project,则设置为'root: /project'
root: /
# 文章标题格式
permalink: /:year/:month/:day/:title/
source: source
destination: public
plugins: plugins
code_dir: downloads/code
# 分类存放路径
category_dir: categories
markdown: rdiscount
pygments: false # default python pygments have been replaced by pygments.rb

Step4 - 部署

先把整个项目静态化,然后再部署到GitHub: rake generate rake deploy 当你看到“Github Pages deploy complete”后,就表示你大功已成。Enjoy!

Tips: Octopress提供的所有rake方法,可以运行rake -T查看。 如果在执行上述命令中ruby报错,则需要一一修复错误,这一步是没有接触过ruby的人比较苦恼的。

Step5 - 从Wordpress迁移到Octopress

## 备份 ### 备份评论内容 Octopress由于是纯静态,所以没有办法存储用户评论了,我们可以使用DISQUS提供的“云评论”服务。首先安装DISQUS的WordPress插件,在插件设置中我们可以将现有的评论内容导入到DISQUS中。DISQUS处理导入数据的时间比较长,往往需要24小时甚至以上的时间。

备份文章内容

在WordPress后台我们可以将整站数据备份成一个.xml文件下载下来。同时,我原先文章中的图片都是直接在Wordpress后台上传的,所以要把服务器上wp-content/uploads下的所有文件备份下来。

迁移

### 迁移文章 jekyll本身提供了一个从WordPress迁移文章的工具,不过对中文实在是不太友好。这里我使用了YORKXIN的修改版本。将上面备份的wordpress.xml放到Octopress根目录,把脚本放到新建的utils目录中,然后运行: ruby -r “./utils/wordpressdotcom.rb” -e “Jekyll::WordpressDotCom.process” 于是转换好的文章都放进source目录了。

迁移URL

迁移URL,便是要保证以前的文章链接能够自动重定向到新的链接上。这样既能保证搜索引擎的索引不受影响,也是一项对读者负责任的行为是吧。不过这是一项挺麻烦的事情。

幸好我当初建立WordPress的时候就留下了后路。原先网站的链接是这样的: http://XXXXXXXXX.com/[year]/[month]/[the-long-long-title].html http://XXXXXXXXX.com/page/xx/ http://XXXXXXXXX.com/category/[category-name]/ 这样的格式是比较容易迁移的。如果原先的文章URL是带有数字ID的话,只能说声抱歉了。到_config.yml里面设置一下新站点的文章链接格式,跟原先的格式保持一致: permalink: /:year/:month/:title/ category_dir: category pagination_dir: # 留空

迁移评论

既然做好了301,那么迁移评论就显得非常简单了。登录DISQUS后台,进入站点管理后台的“Migrate Threads”栏目,那里有一个“Redirect Crawler”的功能,便是自动跟随301重定向,将评论指向新的网址。点一下那个按钮就大功告成。

迁移图片

可以参考使用独立图床子域名

Step6 - 再次部署

rake generate
rake deploy
时间: 2024-09-19 08:18:49

使用Octopress将博客从wordpress迁移到GitHub的相关文章

博客从wordpress迁移到Drupal实录

一直以来想把博客从wordpress迁移到Drpual,但是都懒得动手.直到最近,放在bluehost的博客有几次都点击不开了,想都不用想是我们伟大的长城防火墙做出的贡献.于是乎决定将博客从bluehost迁移到阿里云. 第一件需要做的事情就是需要备案.由于已经有了阿里云主机,可以在阿里云上直接申请备案,会有阿里的工作人员协助你通过备案.不得不说阿里这一点做的还是不错的. 过程还算比较顺畅,7个工作日左右,备案搞定. 接下来就是域名的dsn更改,阿里云环境配置等等.最后决定将wordpress迁

博客平台WordPress十周年:月浏览量达40亿次

凤凰科技讯 http://www.aliyun.com/zixun/aggregation/17197.html">北京时间5月28日消息,据venturebeat消息,开源博客平台WordPress今天迎来了它的10岁生日,让我们回顾一下它的发展历程并为它送上祝福: 很难想象新闻界已经在开源博客平台WordPress上工作了整整十个年头,今天,WordPress迎来了它的10岁生日. WordPress诞生于2003年5月27日,由Matt Mullenweg和Mike Little共同

博客平台WordPress停止支持IE6

北京时间5月26日下午消息,博客平台WordPress近日宣布将停止对IE 6浏览器的支持. WordPress在声明中称,之所以停止对IE 6的支持,是因为代码的复杂度提升,加大了WordPress总控台的维护难度. 微软此前也刚刚宣布,将不再为IE 6用户提供升级服务.(思远)

最适合大学生搭建博客的WordPress虚拟主机推荐

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 如今在广大程序猿的努力之下,没有多少专业知识的大学生想要搭建网站也并非难事.作为大学生的你会说:"我只会上网浏览网页.聊QQ.看视频,那我也能够搭建自己的网站么?"在这里小编就不得不告诉你,当然可以!这里为大家介绍一款适合大学生搭建博客的WordPress虚拟主机--主机91,专门推荐给那些没有专业的建站知识但是又想自己建

详解博客程序WordPress的SEO优化技巧

相信很多站长朋友和我一样,最早接触的博客程序就是WordPress,总的来说,WordPress是一款对搜索引擎非常友好的程序,使用这款程序,如果不是网站本身的内容存在问题,我们就不必担心网站的收录问题.对于新手来说,用这款程序来搭建自己的第一个网站再适合不过了,网上也有很多如何对WordPress进行SEO优化的文章,下面,我就把我的实际操作经验分享给大家,希望对一些新人有所帮助. 一.使用WordPress建站 首先要选购好域名和空间,再将域名解析到自己的空间,这一步骤笔者在这里就不详细演示

独立博客首选WordPress主机

中介交易 SEO诊断 淘宝客 云主机 技术大厅 近年来,独立博客逐渐成为一个流行的趋势.许多的企业和个人都开始使用博客和他们的客户.访客进行交流.更有很多人开始将独立博客作为内容管理系统使用,在我们的生活中不难发现已经存在许多免费的博客平台,其中最简单实用的当数WordPress. WordPress是一款免费.开源的博客软件,可以快速搭建,操作简单,经过高度定制化使其成为了博客行业的领航者.正是由于广大使用者的支持,WordPress主机也成为博客行业中不可或缺的重要支柱产业. 为什么使用Wo

从Wordpress迁移到Github

迁移原因 Git:自从使用了Git作为版本控制工具之后就爱上它了,相对SVN来说优势的确不少(虽然也有人批评,但凡事都有两面性,这里不予评价):www.wsria.com 是从2009年初用Wordpress创建的,一直是以WEB开发为主要方向,但是最近因为工作和学习时间导致更新缓慢:正好wsria的主机马上就到期所以决定使用Github+Markdown+Jekyll方式搭建博客,这样既能保证博客不会出现异常(断网等情况)又可以使用Git做版本控制,而且还可以像Geek一样写博客. 域名:因为

一款Octopress插件用于同步博客到其他站点

即使用octopress写博客又需要同步到其他站点的同学们有福了.本人写了一个octopress下的插件,用于将octopress中的最新的一篇博客同步到支持MetaWeblog API的博客站点中去.(wordpress.博客园.CSDN.51CTO.新浪.网易--) 这款插件源码被host在github上,地址是https://github.com/huangbowen521/octopress-syncPost. 下面介绍下如何配置和使用. 配置 迁出源码,将源码里的_custom文件夹及

几个有利于wordpress博客SEO优化的插件

作为世界上最受欢迎的博客模板wordpress,其最大的优点在于用户可以根据自己的需求添加插件,合理利用一些插件可以使网站优化事半功倍.今天感动为大家奉献几个有利于wordpress模板SEO的插件. 1.WP No Category Base 标准wordpress分类目录的URL中都是含有"category",而对于网站来说,每个分类目录可能都是我们重要的排名页面,这种url表 现形式,不仅影响视觉,对于SEO也不是那么友好的.而 wp no category base 插件可以去