使用hexo构建个人博客步骤

  • 安装nodejs
  • npm install hexo -g安装hexo
  • hexo init myblog创建个人博客项目
  • cd myblog进入个人博客项目
  • npm install安装项目依赖
  • hexo new blog创建新博文
  • hexo server本地查看博客

使用github page部署个人博客

  • 配置github远程库

一般会选择创建username.github.io的库名,该库是github的特殊类型仓库,github会为其自动启动github page部署,并可以在https://username.github.io/ 中访问,其中username是你的用户名。例如下面是我的配置。

1
2
3
4
deploy:
type: git
repository: https://GCS-ZHN:GITHUB_TOKEN@github.com/GCS-ZHN/GCS-ZHN.github.io.git
branch: main

其中GITHUB_TOKEN是我用于自动部署时自动替换为github的token的,如果使用请将其替换为你的真实token。所谓部署,其实就是利用git将其推送上去,因此需要具备该仓库的git访问权限。除了利用token获取权限,也可以使用SSH公钥,此属于git配置知识范畴,详细请访问我的git笔记

  • 推送到github
    1
    hexo deploy
    上述命令可以一键部署。但个人喜欢配置github action在项目源码仓库,在推送当前项目到源码库时自动部署。下面是我的github action示例。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
name: Blog deployment

on:
push:
branches: [ main ]

jobs:
deloy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
submodules: true

# 安装Nodejs环境
- name: "Setup Nodejs"
uses: actions/setup-node@v3.1.0
with:
node-version: '14'

# 缓存信息,当缓存发生变化时,请修改key值
- name: "Cache autocard cache file"
uses: actions/cache@v3
with:
key: ${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
path: "node_modules"

- name: "Deploy blog"
uses: GCS-ZHN/hexo-action@v1.0.5
with:
user_name: "Zhang.H.N"
user_email: "zhang.h.n@foxmail.com"
deploy_key: ${{ secrets.PERSONAL_TOKEN }} # 这里的token就是前面对应的token,以github仓库的secrets形式加密储存在github上。

功能设置

启用主页节选原文

在_config.yml中配置excerpt_description: true,同时要设定原文截断的位置处添加注释<!--more-->

1
2
3
显示在主页预览的部分
<!--more-->
后续部分

更换hexo主题

hexo默认主题比较朴素,可以更换其他主题,主需要将主题放到themes文件夹下themes\<主题名称>,并在_config.yml中设置theme: 主题名称,通过git管理博客项目的用户,可以以子模块形式添加主题

1
git submodule add https://github.com/GCS-ZHN/Fan.git themes/Fan

添加ICP备案号

中国境内网站按照要求需要添加ICP备案号,本人拓展开发的Fan主题支持这一功能,详情见其说明