在Ubuntu 14.04上搭建github Pages博客

背景

github是一个全球性的代码托管平台,支持github Pages服务。这个服务可以为个人、组织或项目建立静态主页。github为用户提供项目托管、git、pages等用于项目开发的功能。我们使用的就是其pages服务。相对于其他提供免费博客的网站,github的最大优点是无任何广告且提供git版本管理工具对博客进行管理。但劣势是需要一定的命令行操作,对于普通用户有一定门槛。Octopress是一款优秀的静态化博客系统,官方将它简称为:“A blogging framework for hackers.”,也就是Octopress只适合那些经常玩Linux、写代码的朋友用的博客系统。

本地环境:Ubuntu 14.04。


部署Octopress博客系统

1. 安装ruby。

Octopress是基于jekyll的,而jekyll是用ruby开发的,ubuntu14.04 LTS上默认是没有安装ruby环境的,需要自己安装。
命令: sudo apt-get install ruby ruby1.9.1-dev

2. 安装bundler。

Bundler使用Ruby语言写的,通过跟踪和安装运行Ruby项目所需要的确切的gem和版本,为Ruby项目提供了完整的可运行环境。安装bundler的目的是为了自动安装Octopress所依赖的软件包,它通过安装应用程序的Gemfile中的所有gem来做到这一点。由于GFW的原因,会出现无法链接gem源的情况,建议将gem源切换为taobao的源。操作命令如下:

1
2
3
gem source -r https://rubygems.org/ #删除官方源
gem source -a http://ruby.taobao.org/ #添加淘宝源
gem install bundler

3. 安装Octopress。

先从github上下载源码,源码中有Gemfile文件来指示所有依赖,使用bundle便可安装所有依赖了。操作命令如下:

1
2
3
4
5
#下载源码
git clone git://github.com/imathis/octopress.git octopress
cd octopress
#安装依赖
bundle install

4. 安装octopress默认主题。

使用octopress默认的主题作为博客的主题样式。命令:rake install
在我的环境中,执行rake install后报错:

1
var/lib/gems/1.9.1/gems/execjs-2.5.2/lib/execjs/runtimes.rb:48:in `autodetect': Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

拿错误信息在网上搜了一下,说是缺少运行JavaScript的环境,尝试了多种方案,最终安装nodejs解决的。命令:sudo apt-get install nodejs

5. 配置octopress参数。

包括配置Main config,设置博客的标题,描述等参数;默认的主题中,需要加载twitter和google的链接,由于GFW的原因,会造成页面load很慢,为提升博客的访问速度,可以关闭twitter的链接,将google的CSS和字体换成国内的链接(360提供的useso.com)。
Main config参数位于octopress根目录下的_config.yml文件中,配置样例:

1
2
3
4
5
6
url: http://alex2cherry.github.io
title: Water Drop
subtitle: 有才而性缓定属大才,有智而气和斯为大智.
author: [email protected]
simple_search: https://www.google.com/search
description: Alex Lius personal blog.

另外,将文件中twitter相关的配置删除。

google字体和CSS涉及到的配置文件为:source/_includes/head.htmlsource/_includes/custom/head.html。具体做法是把fonts.googleapis.com替换为fonts.useso.com;将类似ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js替换为ajax.useso.com/ajax/libs/jquery/1.7.2/jquery.min.js

6. 将博客部署到github。

  • 在www.github.com注册一个帐号;
  • 新建一个仓库,名为your_user_name.github.io;
  • 在octopress根目录执行rake set 大专栏  在Ubuntu 14.04上搭建github Pages博客up_github_pages。按照要求输入仓库地址等,这个命令会在跟目录下新建_deploy目录,这个会push到仓库的master分支,也就是访问博客的文件。
  • 生成博客并部署到github。命令如下:
1
2
rake generate
rake deploy

7. 将全部源码提交到github,便于在其它设备上也可以发布博客。

前面提到的deploy只是部署博客代码到github上面,整个octopress并没有提交,为了保证在任何地方随时发布博客,而无需再次详细配置以保证跟github上的最新代码一致,可以将当前octopress的源码存放到github的source分支下:

1
2
3
git add .
git commit -m 'Initial source commit'
git push origin source


发布博客

通过下面的步骤可以新建一篇博客,编写内容,发布到github pages上。

1. 新建一篇博文。

命令:rake new_post["title"],样例:

1
2
rake new_post["Zombie Ninjas Attack: A survivor's retrospective"]
# 这条命令会创建 source/_posts/2011-07-03-zombie-ninjas-attack-a-survivors-retrospective.markdown文件

新建的文章被放在source/_posts目录下,并按照Jekyll的命名规则命名:YYYY-MM-DD-post-title.markdown。这个名字会被用于生成url且日期会被用于为文章按时间排序。文件内容如下:

1
2
3
4
5
6
7
8
---
layout: post
title: "Zombie Ninjas Attack: A survivor's retrospective"
date: 2011-07-03 5:59
comments: true
external-url:
categories:
---

你可以在这里设置评论功能开关,设置分类。如果你的博客有多个作者共用,你可以在文件中添加【author:Your Name】。如果你在编辑一个草稿,你可以添加【published: false】以使其在生成博客内容时被自动忽略。
直接编辑markdown文件,编写博客内容。

2. 本地生成 & 预览

1
2
rake generate   # 在公开目录中生成博文和页面
rake preview    # 在浏览器中输入 [http://localhost:4000](http://localhost:4000) 即可预览。

3. 部署到github,同时上传源码

1
2
3
4
git add .
git commit -am "Some comment here."
git push origin source
rake deploy

参考链接

  1. Ubuntu上使用octopress+github建立个人博客
  2. 利用octopress部署博客到github
  3. 谷歌被墙导致WordPress网站变慢的解决办法
  4. Ubuntu14.04+Jekyll+Github Pages搭建静态博客
  5. 如何搭建一个独立博客——简明Github Pages与Hexo教程
  6. 为 Octopress 添加多说评论系统

原文地址:https://www.cnblogs.com/liuzhongrong/p/12262856.html

时间: 2024-12-19 17:08:11

在Ubuntu 14.04上搭建github Pages博客的相关文章

GOLANG 在 UBUNTU 14.04 上使用 Oracle 数据库

本文参考了以下地址的文章: https://github.com/Centny/Centny/blob/master/Articles/How%20build%20github.com%3amattn%3ago-oci8.md? 一.安装oracle的OCI套件 1.OCI下载链接页面下载(instantclient-basic,instantclient-sdk) http://www.oracle.com/technetwork/database/features/instant-clien

Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台

Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台 分类: Linux Ubuntu Oracle 2014-10-14 14:49 3613人阅读 评论(13) 收藏 举报 Ubuntu Python SIP PyQt5 Eric6 目录(?)[+] 引言 找 了很多Python GUI工具集,还是觉得PyQt比较理想,功能强大跨平台,还支持界面设计器.花一天时间折腾了Ubuntu14.04(32位)+ Python3.4 + Qt5.3.2

Ubuntu 14.04 上安装和配置 FTP 服务器 ProFTPD

proftpd的配置方式类似apache,比vsftpd更易用,xampp就集成了proftpd. apt-cache search proftpd 搜索相关包 sudo apt-get install proftpd-basic 安装 安装时默认作为一个standalone server运行proftpd,如果每天的ftp请求量少,可以安装为inetd服务,节省服务器资源. 这里我使用默认值,安装为standalone server. sudo netstat -antp|grep proft

Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体

http://www.linuxidc.com/Linux/2015-01/111956.htm Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下的svn目录. cd /srv sudo mkdir svn 我的svn版本仓库叫tone_src cd /srv/svn sudo mkdir tone_src 目录建好后 创建版本仓库 sudo s

在Ubuntu 14.04上设置生产环境可用的Node.js

在Ubuntu 14.04上设置生产环境可用的Node.js 提供:ZStack社区 前言 Node.js是一个开源的JavaScript运行时环境,开发者可以用它方便的构建服务器端应用和网络应用.Node.js可在Linux.OS X.FreeBSD和Windows上运行,在其上运行的应用使用JavaScript编写.Node.js应用可以在命令行运行,然而本文的目的在于以服务的方式运行Node.js应用,让这些应用可以在系统重启或遇到错误时自动重启,以配合生产环境的需求. 本文将设置一个可用

新浪SAE上搭建WordPress个人博客网站-开篇

新浪SAE上搭建WordPress个人博客网站-开篇 2014年5月29日 在开始这篇博客之前,笔者在这里先普及两个东西: SAE,Sina App Engine的简称,是新浪的内部开发的云计算平台,在这里开发者可以创建Web应用和移动应用.我们创建好的应用就可以部署到SAE服务器上,它会帮我们进行负载均衡,SAE提供很多功能和服务,详细内容请到http://sae.sina.com.cn/进行查看. WordPress想必很多个人站长都非常熟悉了,它是一种使用PHP语言和MySQL数据库开发的

如何利用Heartbeat与Floating IP在Ubuntu 14.04上创建高可用性设置

提供 ZStack社区 内容简介 Heartbeat是一款开源程序,负责将集群基础设施容量--包括集群成员与消息收发--交付至客户服务器.Hearbeat在高可用性服务器基础设施当中扮演着关键性角色.我们通常需要将Heartbeat与Pacemaker等集群资源管理器(简称CRM)相结合,从而实现完整的高可用性设置.不过在今天的教程中,我们将演示如何利用Heartbeat与DigitalOcean Floating IP轻松创建一套双节点高可用性服务器设置. 如果大家希望进一步提升可用性水平,不

在Ubuntu 14.04上部署 PHP 环境及 WordPress

软件及版本选择 Ubuntu 14.04 Ubuntu 是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择.而 14.04 是目前最新的 LTS 版本,目前已经发布了半年了,基本是目前支持最好的版本. Nginx Nginx 是一个轻量级的,配置灵活,擅长并发的 Web 服务器. PHP-FPM PHP-FPM 是目前官方推荐的最佳的运行模式. MariaDB MySQL 的替代品,毕竟目前 MySQL 的创始人已经不建议我们使用 MySQL 了. 基本配置 通常当你

入门系列之在Ubuntu 14.04上备份,还原和迁移MongoDB数据库

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 MongoDB是最受欢迎的NoSQL数据库引擎之一.它以可扩展,强大,可靠和易于使用而闻名.在本文中,我们将向您展示如何备份,还原和迁移MongoDB数据库. 导入和导出数据库意味着以人类可读的格式处理数据,与其他软件产品兼容.相反,备份和还原操作创建或使用特定于MongoDB的二进制数据,这不仅保留了数据的一致性和完整性,还保留了其特定的MongoDB属性.因此,对于迁移,只要源系统和目标系统兼容,通