找生活

Hexo小白教程 Github搭建静态博客程序

Hexo介绍

hexo是来自台湾大学生@tommy351所研究的一个基于Node.js的静态博客程序。有了它,我们就可以很方便地把它生成静态网页托管到github和Heroku上。

为什么要用Hexo

在当下快餐式阅读泛滥的今天,有那么一群人不断地为用户带来有价值的阅读,他们一路坚持着写作。可是大型博客网站的衰落、自建博客服务(WordPress、z-blog…)高额的维护成本,让他们难以前行。创造无限可能的技术大牛们在这时为我们创造了新的机遇。

使用github平台Pages的特性,可以让用户在平台上搭建个人站点。现在使用该特性搭建网站的程序有很多,如:较早比较成熟的Jekyll,简化版Jekyll的Octopress,还有正在介绍的Hexo

Hexo的优势:

  • 快速 高效(基于Node.js,生成速度快速)
  • 容易上手(简单指令部署)
  • 专注写作(支持Markdown语言)

    前期准备

  • PC

  • node.js
  • git

安装Node.js

打开Node.js https://nodejs.org/ ,下载平台对应的版本

安装程序,并对Node.js配置环境(配置方法:打开我的电脑->右键属性->高级系统设置->高级->环境变量->变量path处添加Node.js所安装的路径)

检验是否成功安装:

电脑开始菜单->cmd->输入以下命令

1
2
node -v //查看node的版本号
npm -v //查看npm的版本号

安装git

git的客户端很多,在这推荐使用msysgit,安装和操作都很简单。到msysgithttp://msysgit.github.io/官网,Download默认安装即可。

Github平台设置

使用基于Github Pages的Hexo,就需要有Github平台的账号密码。用户可前往Github https://github.com/进行注册。

用户还需要在github平台建立库,用来储存站点的资料。

新建库的方法:

New repository->Repository name(建议命名格式:用户名.github.io)

git连接Github平台

Github提供git连接的方法有两种,一种是Https,一种是SSH。SSH的连接方式较Https安全。Https连接方式,用户每次都需要输入账号、密码才能连接Github的库,而SSH,只要通过SSH-KEY授权,则可。

SSH-KEY授权:

1
2
3
4
5
6
7
8
9
10

在git里,输入命令

git config --global user.email "XXX@qq.com"

git config --global user.name "xxx"

生成密钥

ssh-keygen -t rsa -C "XXX@qq.com"

上述命令若执行成功,会生成两个文件id_rsa和id_rsa.pub,记事本方式打开id_rsa.pub文件,把内容拷贝到Github平台(Setings->SSH KEYS->ADD SSH KEY->把内容拷贝到KEY里)

若出现问题,可参考:

安装Hexo

在本地建立,Hexo储存资料的文件夹

使用git或者cmd,cd到目标目录

在对应目录下,运行命令:

1
2
3
4
5
6
7
npm install -g hexo-cli //安装hexo

hexo init //初始化目录

hexo generate //生成静态页面

hexo server //运行本地服务

如果以上命令都能完美运行,在浏览器中输入http://localhost:4000可以看到Hexo的hell0 world。

部署到Github

在Hexo安装的目录下,打开_config.yml文件,修改内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Site
title: Snow Memory //博客名
subtitle: //博客副标题
description: //网站描述
author: //作者名称
email: //作者邮箱
language: zh-CN //网页编码,中文

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://zhaolife.com //用于绑定域名

# Deployment 站点部署到githubd的内容 非常重要
## Docs: http://hexo.io/docs/deployment.html
deploy:
type: git #部署类型, 本文使用Git
repository: git@github.com:Andrew-liu/Andrew-liu.github.io.git #部署的仓库的SSH
branch: master #部署分支,一般使用master主分支

当以上修改完后,运行命令:

1
2
3
hexo generate //生成静态页面

hexo deploy //进行部署

Hexo部署完后,在浏览器中,输入我们早前设置的“用户名.github.io”即可看到全新的页面。

Hexo新建文章

运行命令:

hexo new "postName" //新建文章

在本地目录下就会显示md结尾的文件:source/_posts\postName.md

使用Markdown编辑器,打开md文件,可进行写作。在你想在首页显示的部分下添加<!--more-->就会生成“阅读全文”的按钮。