用 Octopress 在 Github 上搭建博客

来源:互联网 发布:为人谋而不忠乎 读音 编辑:程序博客网 时间:2024/06/04 22:16

本文介绍了如何使用 octopress 在 github 上搭建博客。当然,大致步骤和 octopress 官网的内容一致,只不过增加了一些自己实际在 部署 中遇到的问题,及解决过程。

首先,为什么使用 github ?

用过 github 的人都知道,github 是 programmer 的天堂,上面托管了很多大型项目的代码,自己课余做的一些小的项目也能将源码等托管到 github 上,一来能够防止源码丢失,二来也能为团队协作时提供便利,三来也可能会有人发现这些有意思的小代码,fork之,为你做一些改进嘛。

那为什么使用 github 来搭建博客?

在 github 上搭建博客,不需要考虑流量的问题,不需要专门去研究 服务器的一些配置,支持 关联 自定义域名 ,档次高大上,等等

octopress...?

Octopress 是一个基于 Jekyll (一个静态页面生成器) 的博客框架,类似大家最常用的 wordpress ,感觉操作起来虽然没有 wordpress 这么界面友好,但是基于 git ,能够纯终端下操作,写起博客来还是很给劲的。

那么进入正题,搭博客,你需要掌握 如下知识:Git的常用操作,有一点点ruby的知识,稍微熟悉github,电脑上配置了git的环境,ruby的环境等。


首先,到 github 中建立一个新的仓库,名称为 username.github.io ,注 username 为你的账户名称


之后建立一个本地目录,用来存放我们的博客 源码,然后在终端中切换到那个目录,将 octopress 的源码 clone 下来

<span style="white-space:pre"></span>git clone git://github.com/imathis/octopress.git octopress

打开刚才clone下来的octopress,进行一些初始化配置

1.安装 bundler 的gem,直接gem install bundler (如果速度比较慢的话可以将 gem 源换成淘宝的)

2.rbenv rehash#如果你使用的是rbenv的话使用命令,我使用的rvm,所以略过

3.bundle install#安装octopress使用到的 gem 们

4.rake install#安装默认主题

安装完毕后,我们就可以部署到 github 上了,up主一开始就是在这里遇到问题,因为一开始查资料的时候,发现需要用到一个 gh-pages 的分支,然后自己push到仓库的时候又以为需要自己手动配置,所以绕了好一整子。结果后来才发现,octopress 提供了专门的部署脚本(用的rake)

终端中使用命令:

rake setup_github_pages

在提示下输入的你的仓库地址,即上图的 git@github.com:CALTyang/caltyang.github.io.git,回车,octopress就能帮你完成部署,官方文档也指明了上述脚本做了什么事情:


。值得注意的就是,你的 master 分支都已经放到了 _deploy 文件夹下,每次 deploy 都会先切换到那个文件夹,然后push到master,而正常你使用的是 source 分支,这是你真正用来写博客和写一些其他页面的分支,master里面放的是你需要展示的页面的内容,所以就可以理解为 source 分支用来备份博客代码。up主一开始遇到的 gh-pages 分支,后来也才知道,那是 project 博客用的分支,和我们用的 user page 是一类的,但还是有区别 。。

最后, 使用下面两个命令,来完成部署:

rake generate#生成静态页面rake deploy#部署到github

等待几分钟之后,你就可以直接访问 username.github.io 来访问你的博客了。。当然,你也可以在本机先测试,使用 rake preview 命令,然后访问 localhost:4000 ,也能起到一样的效果。


最后,写博客的一些基本操作,如何关联自己的独立域名等,octopress 官网都给了很好的说明。大家可以自己阅读。

附国内访问github网速慢解决方案:

国内访问github很慢,大家都是能感觉出来的,因为自己大多数时候都挂着vpn,也没怎么体验到,但是因为后来自己发现,挂着vpn,git在 push 的时候经常 push 不上去,所以就下了vpn,,,然后就发现github上去真的很不给力。后来百度,好像是因为 github 的一个 cdn 被墙(笑)所致,解决方案也只需要在 hosts 使用静态解析的方法,把github的ip绑定一下就行。 具体可以看这里: http://zengrong.net/post/2092.htm

0 0
原创粉丝点击