利用Hexo+GitHub搭建静态博客
本地保留Markdown文件,可随时生成一个博客

第一次接触Hexo是在研究生的时候,2016年过年的时候简单搞了一下,配置了Next主题,觉得美美的。然而后面并没有写太多有用的东西在上面,直到这次查资料看到了Maupassant主题,一下子就被吸引了,决定在“繁忙”的工作之余,再次倒腾一次。
可能因为之前弄过的缘故,这次一切都比较顺利,一个晚上基本搞定。

安装Hexo

主要参考 官网

1
2
3
4
$ npm install -g hexo-cli
$ hexo init <folder>
$ cd <folder>
$ npm install

修改_config.yml配置文件

  • title/subtitle等的设置
  • language: zh-CN 简体中文
  • timezone: Asia/Shanghai 时区设置
  • theme: maupassant (下载的主题)
  • deploy: 修改为相应的部署方式,后面说

设置主题Maupassant

主要参考 Maupassant中文文档

安装主题和渲染器

1
2
3
4
// 在<folder>目录下
$ git clone https://github.com/tufu9441/maupassant-hexo.git themes/maupassant
$ npm install hexo-renderer-pug --save
$ npm install hexo-renderer-sass --save

修改主题下的_config.yml配置文件

  • 注册并修改 disqus 用户名 Karen1110
  • busuanzi: true 开启统计信息
  • 修改语法高亮
    1
    2
    3
    4
    5
    highlight:
    enable: true
    auto_detect: true
    line_number: true
    tab_replace:

修改scaffolds下的 post.md中的Front-matter内容,使每次hexo new title的时候都根据该模板生成新博客

1
2
3
4
5
6
7
8
9
---
title: {{ title }}
date: {{ date }}
tags: //多个tag 格式为 [tag1, tag2]
categories: // [cat1, cat2]
toc: true
---

<!--more-->

部署到GitHub

由于我之前已经部署过一次github,仓库里已经有一个“jzlbupt.github.io”,而hexo部署在github 必须使用 username.github.io 的格式, 只要有博客的md文件就随时可以生成并部署一个博客,因此狠心就把之前的仓库删除了。
如果之前没有该仓库:

  • 新建一个 username.github.io的仓库
  • _config.yml文件里修改deploy配置如下
    1
    2
    3
    4
    deploy:
    type: git
    repo: http://github.com/jzlbupt/jzlbupt.github.io.git
    branch: master

这之后每次hexo deploy命令即可把博客部署至该仓库,通过jzlbupt.github.io进行访问

利用七牛云图床

在七牛云注册账号,并申请存储空间(bucket)
每次可将图片上传至七牛云对应存储空间的“内容管理”一项,复制外链到博客即可(麻烦,后续找解决方案)

  • 尝试利用插件 hexo-qiniu-sync ,但是每次上传图片总是报错,不知道是网络问题还是什么,尚未解决

常用hexo 命令

1
2
3
4
5
6
$ hexo new title //在sources/_posts/下生成 title.md文件
//编辑完博客 title.md 之后
$ hexo g //生成博客页面
$ hexo s //打开 localhost:4000 查看页面
$ hexo d //部署到 jzlbupt.github.io
$ hexo clean //需要清除缓存资源的时候

本地维护一些md文件(或者GitHub维护.md博客文件),通过上面的方法,就可以快速建起博客或者进行博客的发布了