本文章相比旧博客略有修改.
本文章原本为教程文章,可以按作者的步骤学习。


前言

介绍

  • Github Pages 是由著名开源网站 Github 开发的网站自建工具,每一个用户都可以免费设立自己的博客网站。
  • Hexo 是一个快速、简洁且高效的博客框架,主要使用 Markdown 解析文章,并在几秒内生成静态网页,具有较高的自由度和较强的个性化能力。

提示

此过程包含不少访问国外网站的要求,如无法访问,请使用 Watt Toolkit 等加速软件。

要求

  1. 一台正常且可连接网络的 Windows / Linux 计算机(建议 Windows 10 / Windows 11 / Linux)
  2. 能访问 Github 的网络 ( 可能需要 Watt Toolkit 等加速 )
  3. 一定的英语和计算机知识储备

第一步 开始

使用 Hexo 需要安装必需软件:

此外,还需要使用 Github 账号创建 GitHub Pages 存储库,如果有账号,可以直接进行第三步。

  1. 进入 Github 网站后,点击 Sign Up (注册) 注册账号
  2. 根据网站提示注册完成
  3. 点击上方栏中加号,选择新建存储库 (New repository), Owner 旁边存储库名必须为 “[账户名].github.io” 才能建立网站,新建仓库完成。
    新建仓库

第二步 配置

在你的电脑中设置一个空文件夹,作为网站根目录
右击菜单点击 Git Bash 打开 Git 命令行。
在命令行中输入如下命令,配置Git用户名和邮箱地址

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

安装 Hexo 以及推送软件

1
2
npm install -g hexo-cli
npm install hexo-deployer-git --save

新建 SSH 密钥

查看当前电脑用户目录下 .ssh 文件夹是否有文件,如果有且没有配置 ssh,请删除用户目录下 .ssh 文件夹中的 id_rsa 文件

生成密钥

1
ssh-keygen -t rsa -C "你的Github邮箱"  

转到 [你的用户目录]/.ssh 目录下,复制id_rsa.pub 的内容

密钥格式:
ssh-rsa 密钥字符…

上传密钥

打开 Github,进入 Setting -> SSH and GPG keys -> New SSH key
新建密钥,名字自由填写,密钥填入刚刚复制的密钥
点击 Add SSH Key 完成

验证配置

在 Git Bash 上使用下列命令验证 Git 是否登录完成

1
ssh -T git@github.com  

如果出现下列输出

1
Connection closed by 198.18.0.4 port 22  

请使用另一方案

1
ssh -T -p 443 git@ssh.github.com  

出现下列情况即为成功

1
Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.  

第三步 创建你自己的网站

启动本地网站

打开先前的博客根目录(以下简称”根目录”),使用 Git Bash 或右键在此处打开 CMD 执行下列命令初始化网站

1
2
hexo init  
npm install

启动本地网页

1
hexo s  

成功后示例输出,点击链接 (本地网站) 访问

根目录文件夹下的 sourcethemes 是我们需要的文件夹,下面是网站初始状态的文件

根目录/
├── source/
│   └── _posts/
│       └── hello-world.md
└── themes/
    └── .gitkeep

posts 用于存放文章
themes 文件夹内通常放置主题文件夹,示例如下

themes/
└── 主题文件夹/
    ├── .github
    ├── languages/
    ├── layout/
    │   ├── _scripts/
    │   └── _third-party/
    ├── scripts/
    ├── source/
    └── _config.yml

更改基本设置

打开根目录中的 _config.yml。

找到 #Site 部分,示例配置如下
language(语言) 和 timezone(时区) 根据个人情况而定,若网站面向中国,则填

1
2
language: zh_CN
timezone: 'Asia/Shanghai'

从下图示例位置(你的存储库中点击 Code -> Local -> SSH 复制)
获取 SSH git
找到 #Depolyment 部分,配置如下

1
2
3
4
deploy:  
type: git
repo: git@github.com: 你获取的仓库ssh git
branch: 你的仓库主分支

更换你的主题

对于所有主题: 直接下载

Hexo 主题 网页中有许多的主题,可以自行下载。
下载之后将主题文件夹 (文件夹名以下简称 th) 放入根目录 themes 文件夹中
th 文件夹中应该直接包含 _config.yml 和 source (文件夹)。

打开根目录中的 _config.yml ,将主题修改为 th,将语言修改为 zh-CN。

1
2
theme: th  
language: zh-CN

对于部分主题: 通过包管理器下载

这里以 Solitude 为示例
命令:

Windows 用户建议使用 npm
1
2
3
4
npm i hexo-theme-solitude
pnpm i hexo-theme-solitude
bun add hexo-theme-solitude
yarn add hexo-theme-solitude

下载完毕后,通过 根目录 \ node_modules \ hexo-theme-solitude 访问主题文件

发布文章

使用命令新建文章,文章在 _posts 文件夹里

1
hexo new post 文章题目  

找到文章,后缀为 .md (MarkDown 文件)

其中以下字段叫做 Front-matter,以下列举几条通用的配置,其余的根据主题文档自行配置。

1
2
3
4
5
6
7
8
9
10
---
title: 标题
date: yyyy-MM-dd HH:mm:ss
tags:
- 标签 A
- 标签 B
......
categories: 分类
cover: 封面图片地址,填相对文件地址 (如 /img/cover.jpg) 或网页地址 (如 https://image.例子.com/image.jpg)
---

使用 MarkDown 语法在 Front-matter 下方编辑文章即可

第四步 推送网站

使用命令推送网站,等待 Github Actions 成功即可访问。

1
hexo g -d  

建立完成!