`
天梯梦
  • 浏览: 13629250 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

利用Octopress搭建一个Github博客

 
阅读更多

小引

Octopress是利用Jekyll博客引擎开发的一个博客系统,生成的静态页面能够很好的在github page上展现。号称是hacker专属的一个博客系统(A blogging framework for hackers.)

 

根据大家的反应,本文我就来介绍一下如何在苹果电脑(OS X 10.8.3)利用Octopress搭建一个Github博客。本文需要读者熟悉一些shell命令,并掌握基本的git操作。

 

目录

  • 1、安装Ruby
  • 2、安装Octopress
  • 3、配置Octopress
  • 4、将博客部署到GitHub上
  • 5、开始写博客
  • 6、更多操作
  • 7、小结

 

1、安装Ruby

Octopress需要Ruby环境,RVM(Ruby Version Manager)负责安装和管理Ruby的环境。所以我们先在终端输入如下命令,来安装RVM:

 

curl -L https://get.rvm.io | bash -s stable --ruby
 

 

接着是安装Ruby 1.9.3,在终端依次运行如下命令:

 

rvm install 1.9.3
rvm use 1.9.3
rvm rubygems latest
 

 

完成上面的操作之后,运行ruby --version应该可以看到ruby 1.9.3环境已经安装好了。

参考:Installing Ruby With RVM

 

2、安装Octopress

在安装Octopress之前,请确保你的电脑上已经安装有git了,在终端输入git --version,应该可以看到电脑中的git版本(我电脑上输出:git version 1.7.12.4 (Apple Git-37)),如果没有显示相关内容,请先安装git

git安装之后,利用git命令将octopress从github上clone到本机,如下命令:

 

git clone git://github.com/imathis/octopress.git octopress
cd octopress    # If you use RVM, You'll be asked if you trust the .rvmrc file (say yes).
ruby --version  # Should report Ruby 1.9.3
 

 

接着安装相关依赖项:

 

gem install bundler
rbenv rehash    # If you use rbenv, rehash to be able to run the bundle command
bundle install
 

 

最后安装默认的Octopress 主题。

rake install

 

参考: Octopress Setup

 

3、配置Octopress

Octopress的作者已经尽量让配置简化了。大多数情况下只需要配置_config.ymlRakefile文件即可。其中Rakefile是跟博客部署相关,一般情况下并不需要修改这个文件,除非使用了rsync。

 

config.yml是博客重要的一个配置文件,在config.yml文件中有三大配置项:Main ConfigsJekyll & Plugins3rd Party Settings

 

一般,该文件中其中url是必须要填写的,这里的url是在github上创建的一个仓库地址,具体请看第四步中创建的地址。另外再修改一下titlesubtitleauthor,根据需求,在开启一些第三方组件服务。

 

关于_config.yml文件中的更多内容,请看这里的内容:Configuring Octopress

 

建议:最好把里面的twitter相关的信息全部删掉,否则由于GFW的原因,将会造成页面load很慢。同理,修改定制文件/source/_includes/custom/head.html 把google的自定义字体去掉。from唐巧的博文中—配置

 

4、将博客部署到GitHub上

Github的Page service可以免费托管博客,并且还可以自定义域名。

首先需要在GitHub上创建一个仓库,并将仓库名称按照这样的方式进行命名:username.github.comorganization.github.com。等后面配置完毕之后,我们就可以在浏览器中使用页面地址http://username.github.com来访问我们的博客。一般来说,我们希望在将博客的源码放到source分支下,并把生成的内容提交到master分支。

 

创建好仓库之后,我们需要利用octopress的一个配置rake任务来自动配置上面创建的仓库:可以让我们方便的部署GitHub page。在终端输入如下命令:

$ rake setup_github_pages

 

上面的命令会做一些事情(详细介绍看下面给出的参考链接)。其中最主要的就是创建一个_deploy目录,目录用来存放部署到master分支的内容。期间会要求你输入仓库的url,根据提示,进行输入即可。

 

完成上面的命令之后,我们就可以生成博客并真正的部署到仓库中了。执行如下命令:

rake generate
rake deploy

 

上面的命令首先生成博客文件,并将生成的博客文件拷贝到_deploy/目录下,然后将这些内容添加到git中,并commit和push到仓库的master分支。

 

现在可以访问http://username.github.com了。注意:有时候可能会有延时,要等几分钟才能打开。

至此,我们的博客已经完成基本的部署,不过博客的source需要单独提交,执行如下命令就可以将source提交到仓库的source分支下。

$ git add .
$ git commit -m 'Initial source commit'
$ git push origin source

 

如果在部署到仓库之前,需要先预览一下博客,可以在终端输入rake preview命令,然后就能在浏览器中进行本地预览访问了:http://127.0.0.1:4000/http://localhost:4000/,效果跟仓库中的一样。

参考:Deploying to Github Pages

 

5、开始写博客

Octopress为我们提供了一些task来创建博文和页面。博文必须存储在source/_posts目录下,并且需要按照Jekyll的命名规范对文章进行命名:YYYY-MM-DD-post-title.markdown。文章的名字会被当做url的一部分,而其中的日期用于对博文的区分和排序。

 

通过Octopress提供的task可以正确的按照命名规范创建一个博文,并且在博文中会附带常用的一些yaml元数据。只需要在终端输入如下命令:

rake new_post["title"]

 

其中title为博文的文件名,创建出来的文件默认是markdown格式。上面的命令会创建出这样一个文件:source/_posts/2013-08-03-title.markdown。打开这个文件,可以看到里面有如下一些内容了(告诉Jekyll博客引擎如何处理博文和页面):

---
layout: post
title: "title"
date: 2013-08-03 16:36
comments: true
categories: 
---

 

接着我们就可以在这个文件中写我们的博文啦。完成之后,我们可以预览和部署博文。下面是创建并部署博文的一个完整过程:

$ rake new_post["New Post"]
$ rake generate
$ git add .
$ git commit -am "Some comment here." 
$ git push origin source
$ rake deploy

 

参考:Blogging Basics

 

6、更多操作

在搭建博客的时候,我们可能会对博客做一些配置,例如添加评论、域名解析、分享等。这些内容我写在另外一篇文章中,会经常更新,请前往观看:你好!github页面

 

7、小结

本文介绍了如何利用Octopress搭建一个Github博客。

 

来源:http://beyondvincent.com/blog/2013/08/03/108-creating-a-github-blog-using-octopress/

 

 

 

 

分享到:
评论

相关推荐

    readify, 关于可读性的一个最小Octopress主题.zip

    readify, 关于可读性的一个最小Octopress主题 ReadifyReadify是一个专注于readibility的响应式Octopress主题。 它被设计为在任何设备上提供愉快的阅读体验。请参见演示。特性使用模块化比例设计使用 rem 单元定义用...

    博客框架 Octopress.zip

    博客框架 Octopress ,Octopress 是一套使用 Ruby 语言开发的博客网站框架。

    octopress:我的octopress博客

    Octopress 是最好的博客。 Octopress 使用语义 HTML5 编写的干净响应主题,专注于移动设备的可读性和友好性。 编写代码博客既简单又漂亮。 在来自 gist、jsFiddle 或文件系统的帖子中嵌入代码(使用样式)。 第...

    blog-old:我博客的旧版本,用jekyll + octopress搭建

    新版本将由提供支持,这是一个用 go 编写的小型静态博客生成器。 这是什么? 这是为我的博客提供动力的代码。 它基于 Jekyll 和 Octopress。 它旨在快速且维护成本低。 你可以在看到它。 我决定将其开源,以便感...

    doppioslash.github.com:Doppioslash octopress博客

    Octopress是最好的博客。 Octopress拥有以语义HTML5编写的简洁响应主题,重点是对移动设备的可读性和友好性。 代码博客简单而美丽。 从gist,jsFiddle或文件系统中将代码(带有样式)嵌入到您的帖子中。 第三方集成...

    octopress-blog:我的个人博客托管在github上,由Octopress提供支持

    Octopress是最好的博客。 Octopress保留了以语义HTML5编写的简洁响应主题,重点是对移动设备的可读性和友好性。 代码博客简单而美丽。 从gist,jsFiddle或文件系统中将代码(带有样式)嵌入到您的帖子中。 第三方...

    deploy, Octopress和Jekyll博客的部署.zip

    deploy, Octopress和Jekyll博客的部署 Octopress部署使用 S3 。Git或者Rsync轻松部署任何 static 站点。 欢迎请求以支持其他部署方法。 安装Octopress部署与 Octopress gem 捆绑在一起,以便在 命令行 中使用它,...

    sublime-text-octopress:在 Sublime Text 2 3 中执行 Octopress 命令

    OS X, linux 您必须从终端启动Sublime Text 2 (或在您的设置中配置octopress_cmd_before_rake )安装来自只需在命令面板中打开“包控制:安装包”并搜索“octopress”或者来自github 将此存储库克隆或复制到您的...

    gist:嵌入 GitHub gist,支持缓存,每个 gist 有多个文件

    在您的 Jekyll 或 Octopress 博客中嵌入 GitHub Gists。 安装 使用捆绑器 将此 gem 添加到您站点的:jekyll_plugins组中的 Gemfile 中: group :jekyll_plugins do gem 'octopress-gist' end 然后用 Bundler 安装 ...

    基于PHP的个人博客模板maupassant.zip

    一个简洁的博客主题,可以在不同设备上良好兼容。不同平台上的效果:Typecho:...

    octolyx:使用Octopress撰写有关LyX的博客(基于Jekyll的博客生成器)

    八角形 使用Octopress撰写有关LyX的博客(基于Jekyll的博客生成器) 目标 作为易于部署的可入侵博客平台 截屏:

    octopress-post-revision:一个 Octopress 插件,显示帖子的修订历史

    显示由 Jekyll/Octopress 驱动的站点的 Post 修订历史这个插件提供了一个 Liquid 标签来生成博客文章的修订历史,当你执行git commit时,它只是提交消息。 有关更多信息和演示,请参阅。安装将revision.rb /_plugins...

    blog:博客Octopress

    Octopress是最好的博客。 Octopress保留了以语义HTML5编写的简洁响应主题,重点是对移动设备的可读性和友好性。 代码博客简单而美丽。 从gist,jsFiddle或文件系统中将代码(带有样式)嵌入到您的帖子中。 第三...

    octopress-blog:一个干净的文字和照片响应式博客

    鲁比兹漫步Roobyz Ramblings 是一个由 Octopress 驱动的 GitHub 博客和网站,由 Roberto Rivera 编写。鲁比兹漫步是关于: 在移动设备、平板电脑和桌面设备上看起来不错的响应式博客。 可读的排版,让您的文字...

    xuyao91.github.io:博客

    Octopress 是最好的博客。 Octopress 使用语义 HTML5 编写的干净响应主题,专注于移动设备的可读性和友好性。 编写代码博客既简单又漂亮。 在来自 gist、jsFiddle 或文件系统的帖子中嵌入代码(使用样式)。 第...

    docker-octopress:Octopress 容器

    Dockerfile 中的行更改为您的 octopress 项目(因此我们安装了正确的 gem 版本) 例如: RUN git clone -b source https://github.com/ticketbis/ticketbis.github.io.git octopress一个新鲜的和新的octopress: RUN...

    castorflex-blog:Octopress博客

    Octopress是最好的博客。 Octopress保留了以语义HTML5编写的简洁响应主题,重点是对移动设备的可读性和友好性。 代码博客简单而美丽。 从gist,jsFiddle或文件系统中将代码(带有样式)嵌入到您的帖子中。 第三...

    octopress-flickr:在 Octopress 博客文章中显示 Flickr 图像、视频和集合

    在 Octopress 博客文章中显示 Flickr 图像、视频和集合。 概要 {% flickr_image 7779670214 %} {% flickr_image 3115811489 t %} {% flickr_image 3906771341 n right " whoa check out this \" Flickr \" thing! ...

    octopress:用于博客的octopress

    八压机 用于博客的octopress

    demonlife.github.io:学习笔记-博客

    Octopress 是最好的博客。 Octopress 使用语义 HTML5 编写的干净响应主题,专注于移动设备的可读性和友好性。 编写代码博客既简单又漂亮。 在来自 gist、jsFiddle 或文件系统的帖子中嵌入代码(使用样式)。 第...

Global site tag (gtag.js) - Google Analytics