Hexo博客基础

【Hexo博客系列】No.1 搭建Hexo博客,快速简洁高效,零成本搭建个人博客

Hexo + GitHub Pages + Cloudflare Pages 完整指南

本文详细介绍了如何使用 Hexo 框架搭建一个个人博客,并将其部署到 GitHub PagesCloudflare Pages 上。

主要内容包括:

  • 环境准备:安装 Node.js 和 Git
  • 配置 Git 和 GitHub:设置 SSH 密钥,创建 GitHub 仓库
  • 初始化 Hexo 项目:安装 Hexo,创建新博客
  • 部署到 GitHub Pages:配置部署设置,推送静态文件
  • 部署到 Cloudflare Pages:连接 GitHub 仓库,自动部署
  • 基本使用方法:创建新文章,本地预览,发布更新

这个教程适合那些想要快速搭建个人博客,但又不想花费太多成本的人。通过使用 Hexo、GitHub 和 Cloudflare 的免费服务,您可以轻松创建一个高效、简洁的博客网站。


1. 事前准备

  1. 域名(非必须)
    你也可以使用免费域名,或者直接使用 GitHub.io 或 Pages.dev 分配的域名即可

  2. GitHub必须
    你需要注册一个 GitHub 账号

  3. Cloudflare非必须
    你需要注册一个 Cloudflare 账号,这样可以将博客部署在 CF 的 CDN 里加速
    (也可以直接使用 GitHub Pages 的域名)


2. 软件支持

  1. Node必须
  2. Git必须
  3. VSCode非必须
    这是一款轻量型的代码编辑器,可以帮助你养成一个很好的编程习惯

2.1 安装 Node

  1. 打开 Node 官网,下载和自己系统相匹配的 Node 安装程序,否则会出现安装问题。
    下载地址:https://nodejs.org/en

  2. 下载后安装,安装目录可以使用默认目录:C:/Program Files/nodejs/

  3. 安装完成后,检查是否安装成功:
    win + R → 输入 CMD → 回车,打开命令提示符,执行:

    1
    node -v

    看到版本信息,则说明安装成功。

  4. 修改 npm 源(国内推荐,加速下载):
    在 CMD 中运行:

    1
    npm config set registry https://mirrors.huaweicloud.com/repository/npm/

2.2 安装 Git

  1. 进入官网下载适合你当前系统的 Git:
    https://git-scm.com/downloads

  2. 下载后傻瓜式安装,建议使用默认目录:C:/Program Files/Git

  3. 安装完成后,开始菜单会出现:

    • Git CMD:Windows 命令行风格
    • Git Bash:Linux 系统指令风格(建议使用
    • Git GUI:图形化界面(新手不建议使用)

3. 配置 Git 密钥并连接至 GitHub

常用 Git 命令:

1
2
3
git config -l               # 查看所有配置
git config --system --list # 查看系统配置
git config --global --list # 查看用户(全局)配置

3.1 配置用户名和邮箱

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

执行 git config -l 检查是否配置成功。

3.2 配置公钥连接 GitHub

  1. 生成 SSH 公钥:

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

    提示 Enter file in which to save the key 时,直接一路回车(新手不推荐设置密码)。

    生成后,在 C:\Users\你的用户名\.ssh\ 目录下会出现:

    • id_rsa (私钥)
    • id_rsa.pub (公钥)

    用记事本打开 id_rsa.pub,复制全部内容。

  2. 将公钥添加到 GitHub:

    • 登录 GitHub → 右上角头像 → SettingsSSH and GPG keysNew SSH key
    • 名字随便起,Key 栏粘贴刚才复制的公钥内容 → Add SSH key
  3. 测试连接:

    1
    ssh -T [email protected]

    第一次会提示 Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入 yes 回车。
    出现类似 Hi xxx! You've successfully authenticated... 的信息,即连接成功。

3.3 创建 GitHub Pages 仓库

  1. 点击右上角 +New repository
  2. 仓库名字必须为:<你的用户名>.github.io(前缀必须是你的用户名)
  3. 可见性选择 Public(方便第一次部署检查问题)
  4. 点击 Create repository

4. 初始化 Hexo 博客

  1. 创建一个文件夹存放博客源码(示例:D:/Hexo-Blog),右键文件夹 → Open Git Bash here

  2. 安装 Hexo:

    1
    npm install -g hexo-cli && hexo -v
  3. 验证安装:hexo -v

  4. 初始化项目:

    1
    2
    3
    hexo init blog-demo
    cd blog-demo
    npm i
  5. 项目目录结构大致如下:

    • node_modules:依赖包
    • scaffolds:生成文章的模板
    • source:存放你的文章
    • themes:主题
    • _config.yml:博客核心配置文件
    • package.json:项目信息
  6. 启动本地预览:

    1
    2
    3
    hexo clean && hexo server
    # 或简写
    hexo cl && hexo s
  7. 浏览器访问:http://localhost:4000/
    看到页面说明本地环境搭建成功。


5. 将静态博客挂载到 GitHub Pages

  1. 安装部署插件:

    1
    npm install hexo-deployer-git --save
  2. 修改根目录 _config.yml 文件,最后部分改为:

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

    注意缩进正确,使用 SSH 地址,分支现在一般为 main

  3. 部署三连命令:

    1
    2
    3
    4
    5
    6
    7
    // Git BASH终端
    hexo clean && hexo generate && hexo deploy

    // 或者

    // VSCODE终端
    hexo cl; hexo g; hexo d

    出现 Deploy done 即部署完成。

    稍等几分钟,访问:https://你的用户名.github.io


6. 将静态博客挂载到 Cloudflare Pages

  1. 登录 Cloudflare → Workers & PagesPagesConnect to Git
  2. 授权并选择你的博客 GitHub 仓库
  3. 保持默认设置 → Save and Deploy
  4. 部署完成后访问:https://你的仓库名.pages.dev
  5. 此时可将 GitHub 仓库设置为 Private
  6. 如有自定义域名,可在此处绑定

如何使用

新建一篇博文

1
hexo new "这是一篇新的博文"

编辑文件:source/_posts/这是一篇新的博文.md
使用 Markdown 语法书写。
参考:https://hexo.io/zh-cn/docs/writing

本地预览

1
2
3
4
5
6
7
// Git BASH终端
hexo cl && hexo s

// 或者

// VSCODE终端
hexo cl; hexo s

访问 http://localhost:4000/

发布更新

1
2
3
4
5
6
7
// Git BASH终端
hexo cl && hexo g && hexo d

// 或者

// VSCODE终端
hexo cl; hexo g; hexo d

VSCODE 终端首次执行报错解决

管理员身份打开 PowerShell,输入:

1
Set-ExecutionPolicy RemoteSigned

参考资料

致谢