使用Hexo+Github Page搭建博客

简介

看了各种搭建博客的方案, 对比了一下各种选项, 最后选择了Hexo+Github Page.

什么是 Hexo?
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

What is GitHub Pages?
GitHub Pages is a static site hosting service designed to host your personal, organization, or project pages directly from a GitHub repository.

使用这种方案建立的博客就会有这些特点:

  1. 基于静态网页, 速度快, 适合小网站.
  2. Github帮助托管网站, 省心.
  3. 免费啊免费, 上面的两个工具都不要钱啊 (划重点) .
  4. 可以绑定自己的域名.

准备工作

Node.js

访问Node.js官网获取安装包.
记得要勾选add to path.

Git安装

Git官网
其实我是VS2017自带的.
以下需要使用命令行的操作均在Git bash中完成.

Github Page配置

创建Repository

  1. Github创建一个帐号.

  2. 帐号创建后, 选择绿色的New repository按钮, 创建一个代码仓库, Repository name必须为 你的用户名.github.io .

  3. 进入刚创建的Repository-Settings, 下拉找到GitHub Pages选项, 等待一段时间会有绿色的提示 “Your site is published at xxx.io.”表示成功了.

    成功提示

配置SSH

配置ssh, 实现本地与Github的连接.

  1. 在Git bash中输入

    1
    ssh-keygen -t rsa -C "邮件地址"

    会出来几个确认选项, 全部回车确认.

  2. 获取ssh keys
    在”C:\Users\你的用户名.ssh”路径下可以看到”id_rsa”和”id_rsa.pub”文件.用记事本打开”id_rsa.pub”将内容复制到
    你的Github主页->Settings->SSH and GPG keys->SSH keys .

  3. 输入以下内容测试ssh是否配置成功

    1
    ssh -T [email protected]

    如果显示”Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.”则为成功.

登录

1
2
git config --global user.name "Github用户名"
git config --global user.email "Github邮箱"

Hexo安装与配置

安装

  1. 在Git bash输入npm命令执行Hexo的安装.

    1
    npm install -g hexo-cli
  2. 新建一个文件夹作为存放所有文件的工作区.

    通过cd命令跳转到新建的文件夹, 在文件夹下初始化Hexo, 自动生成几个目录.

    1
    2
    cd /d/Hexoworkspace
    hexo init

配置_config.yml

  • 网站选项

    1
    2
    3
    4
    5
    6
    7
    ## Site
    title: xxx's Blog #标题
    subtitle: #小标题
    description: #描述
    author: Links #作者
    language: zh-CN #语言选项 可选en, zh-CN, zh-tw
    timezone: Asia/Shanghai #时区选项

    时区选项 参照wiki.

  • 部署选项(必改)

    1
    2
    3
    4
    deploy:
    type: git
    repository: [email protected]:用户名/用户名.github.io.git
    branch: master

    所有参数见官方文档

相关指令

1
2
3
4
5
hexo g #hexo generate 生成静态文件
hexo s #hexo server 开启本地服务器, 访问网址为localhost:4000
hexo d #hexo deploy 部署到服务器
hexo clean #删除缓存和静态文件(public)
hexo --cwd /path/to/cwd #自定义cwd

文章编写与发布

创建文章

1
hexo new [layout] title
布局(layout) 路径 作用
post source/_post 在页面发布文章
page source 创建一个新页面
draft source/_drafts 草稿

Hexo会在选定的布局对应的路径下创建一个md文件, 打开就可以编辑文章或页面了.

Front-matter

Hexo自动生成的文章属性.

1
2
3
4
5
6
7
8
9
---
title: 使用Hexo+Github Page搭建博客
date: 2018-07-20 19:19:37
tags:
- Hexo
categories:
- 教程
description: 附加一段文章摘要
---

Read More按钮

Hexo默认在首页放出全文.
如果需要设置摘要, 可以选择在需要省略的部分前面加上Read More按钮.

1
2
3
#摘要
<!-- more -->
#省略的正文

实现效果

主题

安装

首先找一个主题, 可以在Hexo官网下载, 也可以从其他地方下载.

  1. 直接把主题文件夹复制到Hexo工作目录的/themes下.

  2. 找到主题的github页面, 在bash中输入命令下载.

    1
    git clone (web URL) themes/主题名字

两种方法的效果是一样的.

设置

在Hexo工作目录下找到_config.yml.

1
theme: 主题名字

域名

可以给你的网站绑定一个域名, 通过域名来访问Github Page, 比如输入 www.example.com就会跳转到你的博客.

域名注册

首先你要有一个域名, 可以在阿里云, GoDaddy之类的地方购买一个.

Github Page 绑定域名

Repository->Settings->Github Page->Custom domain 中填写自己的域名, 将其绑定到你的页面.

如果填写的是 www.example.com , 那么 www.example.comexample.com 都会被重定向到 www.example.com .

如果填写的是 example.com , 那么以上两个域名都会被重定向到 example.com .

域名解析设置

域名注册后,你只是拥有了域名的使用权,但无法通过域名直接访问你的网站。域名解析是使用域名访问你的网站的必备环节。

根域名解析设置

如果你希望通过 example.com 这样的域名来访问你的页面, 你需要在DNS解析设置中创建以下 A 记录.

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

大概是这个样子的界面

www子域名解析设置

如果你希望通过 www.example.com 访问页面, 可以在DNS解析设置中创建 CNAME 记录, 指向你的Github Page, 比如YOUR-GITHUB-USERNAME.github.io .

自定义子域名解析设置

你可以使用自定义子域名, 如 blog.example.com 访问页面.
操作和上面的www子域名相同, 创建 CNAME 记录, 指向你的Github Page.

参考教程

https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html#hexo%E7%AE%80%E4%BB%8B

官方文档 https://hexo.io/zh-cn/docs/

https://help.github.com/articles/using-a-custom-domain-with-github-pages/

Author: Links
Link: http://blog.taiho.cc/post/Hexo1/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.