使用Hexo与GitHub Pages实现博客自动部署教程

使用Hexo与GitHub Pages实现博客自动部署教程

引言

Hexo 是一款快速、简洁且高效的静态博客框架,支持使用 Markdown 语言编写文章,轻松生成静态网页。而 GitHub Pages 则提供了免费的静态网站托管服务,特别适合用来部署个人博客。本教程将引导你完成从零开始设置 Hexo 博客,并通过 GitHub Pages 实现自动部署的全过程。

准备工作

  1. 安装Node.js:Hexo 是基于 Node.js 构建的,因此首先需要安装 Node.js。访问 Node.js 官网 下载并安装最新稳定版。

  2. 注册GitHub账号:如果你还没有 GitHub 账户,请前往 GitHub官网 注册。

  3. 安装Git:确保你的计算机上安装了 Git。可以从 Git官网 获取安装包。

步骤一:安装Hexo

打开终端或命令提示符,运行以下命令安装 Hexo CLI 全局工具:

Bash

1npm install -g hexo-cli

步骤二:创建Hexo博客项目

选择一个合适的目录,然后运行以下命令初始化 Hexo 博客:

Bash

1hexo init myblog
2cd myblog
3npm install

这将在当前目录下创建一个名为 myblog的文件夹,并安装所有必要的依赖。

步骤三:配置Hexo

编辑 _config.yml 文件,配置基本信息,如博客标题、作者等。同时,配置 GitHub Pages 部署设置:

Yaml

1deploy:
2 type: git
3 repo: https://github.com/your_username/your_username.github.io.git
4 branch: main # 或者是 master,取决于你的GitHub Pages设置

请将 your_username 替换为你的 GitHub 用户名。

步骤四:生成与预览博客

在进行部署前,先通过以下命令生成静态文件并预览博客:

Bash

1hexo clean
2hexo generate
3hexo server

访问 http://localhost:4000 查看博客预览。

步骤五:手动首次部署到GitHub Pages

  1. 生成公钥:如果你还没有SSH密钥,需要生成一对SSH密钥并将其添加到GitHub账户。

  2. 添加远程仓库:在终端中进入博客目录,执行以下命令添加 GitHub 仓库作为远程仓库:

Bash

1git remote add origin https://github.com/your_username/your_username.github.io.git
  1. 推送至GitHub:首次部署时,手动执行以下命令:

Bash

1hexo deploy

步骤六:设置自动部署(使用GitHub Actions)

为了每次更新博客后自动部署,你可以利用 GitHub Actions。在你的仓库里创建一个名为 .github/workflows/deploy.yml 的文件,并添加以下配置:

Yaml

1name: Deploy to GitHub Pages
2
3on:
4 push:
5 branches:
6 - main # 或者是 master
7
8jobs:
9 build-and-deploy:
10 runs-on: ubuntu-latest
11 steps:
12 - uses: actions/checkout@v2
13 - name: Setup Node.js
14 uses: actions/setup-node@v2
15 with:
16 node-version: '16'
17 - run: npm ci
18 - run: npm run build
19 - name: Deploy
20 uses: peaceiris/actions-gh-pages@v3
21 with:
22 personal_token: ${{ secrets.GITHUB_TOKEN }}
23 publish_dir: ./public

确保替换 node-version 为你的项目所适用的版本。

结语

完成以上步骤后,每次你向 GitHub 仓库的主分支推送更改,GitHub Actions 将自动运行并部署最新的博客到 GitHub Pages。现在,只需专注于写作,剩下的部署工作将自动化完成。