2017-07-06 更新
改用Hexo建站
参考:
手把手教你使用Hexo + Github Pages搭建个人独立博客
在GitHub上创建repository
搭建要用github pages,首先要在github中建立一个基于你的用户名的repository: 比如说我,就要建立名为passerbycrk.github.io的repo。在以前的github版本中还需要在后台开启pages的功能,现在系统检测到这样的repo名称之后,会在setting中自动开启GitHub Pages的功能,如下图:
这样之后你就可以把这个repo克隆到本地随意进行修改了,在这个里面上传的网页就是你的网站的内容了,可以上传一个index.html试一试,这就是你的网站主页了。
关于GiuHub的使用,可以看几个比较好的入门教程:GiuHub使用教程传送门
集成本地部署环境
之后我们就要在本地部署jekyll,jekyll的原理很简单。这是一个已经合成好的静态html网站结构,你用这个结构在username,github.io文件夹里面粘帖好所有文件。再把更新完的本地repo推送到GitHub的master branch里面,你的网站就更新建设完毕了。
首先你需要ruby来使用本地jekyll。Mac和Linux可以用Terminal配合yum或者brew这样的包管理器很方便的安装ruby。Windows下更是方便,可以直接中集成好的Ruby installer来进行安装,文章里的就是传送门。
安装完ruby,之后就是要安装RubyGems,gem是一个ruby的包管理系统,可以用gem很方便的在本地安装ruby应用。
安装方法如下:
- 在RubyGems官网上下载压缩包,解压到你的本地。
- 在Terminal中输入以下代码:
$ cd your path to RubyGems // RubyGems解压的位置 $ ruby setup.rb
安装jekyll
有了gem之后安装jekyll就很容易了,其实用过nodejs和npm的同学应该很熟悉这样的包安装,真是这个世界手残脑残们的救星。。。。。(楼主不自觉的摸了摸自己快残了的手)
- 接下来在Terminal中输入安装jekyll代码:
$ gem install jekyll
等待安装完成。
文件目录结构
好了,现在你的电脑已经准备完毕了。如果你是想自己捣鼓,可以根据这样的目录结构在你的{username}.github.io文件夹下建立以下目录结构:
├── _config.yml ├── _drafts | ├── begin-with-the-crazy-ideas.textile | └── on-simplicity-in-technology.markdown ├── _includes | ├── footer.html | └── header.html ├── _layouts | ├── default.html | └── post.html ├── _posts | ├── 2007-10-29-why-every-programmer-should-play-nethack.textile | └── 2009-04-26-barcamp-boston-4-roundup.textile ├── _site └── index.html
选择模板
如果你只是个普通用户,只是想要一个模板然后开始写自己的博客。那就很容易了,有几个可以简单开始的模板。
- 极简风格的模板:https://github.com/poole/poole
- jekyll的模板网站:http://jekyllthemes.org/
本地部署发布
下载完了模板,可以吧里面的内容解压到你自己的网站目录底下。这时候你可以测试一下:
$ cd your website path // cd到你的网站目录下 $ jekyll serve
接下来部署的博客会运行在 http://localhost:4000/
- 在浏览器中输入以上地址回车后就可以看到你用模板搭建的网站了。
配置
这时候可以看一下jekyll的设置,让你把模板变成你自己个性化的内容。在网站根目录下面找到 _config.yml,这里会有几个比较关键的设置:
里面的permalink 就是你博客文章的目录结构,可以用pretty来简单的设置成日期+文章标题.html,也可以用自己喜欢的结构来设置。
记得把encoding 设置成utf-8,这样有利于中英文双语的写作和阅读。
发布内容
到这里你就可以开始写博客了,所有的文章直接放在_posts文件夹下面,格式就是我们之前提到的markdown文件,默认的格式是.md和.markdown文件。每篇文章的开始处需要使用yml格式来写明这篇文章的简单介绍,格式如下:
---
layout: post
title: "文章标题"
subtitle: "文章副标题"
date: 2016-09-23 12:00:00+00:00
author: "作者昵称"
---
layout就是post,让jekyll知道你这是一篇post,很直观。需要注意的是里面的date,必须按照yml的语法来写,否则就会出现编译错误。可以只用YYYY-MM-DD来显示日期,也可以像我一样在后面加上 HH:MM:SS+00:00 来表示更具体的时间。
结束
到此为止可以开始尽情的写博客了,用GitHub软件同步到你的repository里面,网站上面就可以进行正常的显示了。