GitHub Pages

在本教程中,我们使用 GitHub Actions 来部署 GitHub Pages。它适用于公共和私有仓库。如果您不想将源文件夹上传到 GitHub,请跳到 一键部署 部分。

  1. 创建一个名为 username.github.io 的仓库,其中 username 是您在 GitHub 上的用户名。如果您已上传到其他仓库,请改名此仓库。
  2. 将您的 Hexo 文件夹的文件推送到仓库的默认分支。默认分支通常为 main,较旧的仓库可能使用 master 分支。
  • main 分支推送到 GitHub

    $ git push -u origin main
  • public/ 文件夹默认情况下不会(也不应该)上传,请确保 .gitignore 文件包含 public/ 行。文件夹结构应该大致类似于 此仓库

  1. 使用 node --version 检查您在本地机器上使用的 Node.js 版本。记录主版本号(例如,v20.y.z)。
  2. 在您的 GitHub 仓库设置中,导航到 设置 > Pages > 。将源更改为 GitHub Actions 并保存。
  3. 在您的仓库中创建 .github/workflows/pages.yml,内容如下(将 20 替换为您在上一步中记录的 Node.js 主版本号)
.github/workflows/pages.yml
name: Pages

on:
push:
branches:
- main # default branch

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
# If your repository depends on submodule, please see: https://github.com/actions/checkout
submodules: recursive
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
# Examples: 20, 18.19, >=16.20.2, lts/Iron, lts/Hydrogen, *, latest, current, node
# Ref: https://github.com/actions/setup-node#supported-version-syntax
node-version: "20"
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.OS }}-npm-cache
restore-keys: |
${{ runner.OS }}-npm-cache
- name: Install Dependencies
run: npm install
- name: Build
run: npm run build
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./public
deploy:
needs: build
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
  1. 部署完成后,在 username.github.io 检查网页。

注意 - 如果您使用 CNAME 指定自定义域名,则需要将 CNAME 文件添加到 source/ 文件夹。 更多信息

项目页面

如果您希望在 GitHub 上拥有项目页面

  1. 导航到 GitHub 上的仓库。转到 设置 选项卡。更改 仓库名称,以便您的博客在 username.github.io/repository 可用,repository 可以是任何名称,例如 bloghexo
  2. 编辑您的 _config.yml,将 url: 值更改为 https://username.github.io/repository
  3. 在您的 GitHub 仓库设置中,导航到 设置 > Pages > 。将源更改为 GitHub Actions 并保存。
  4. 提交并推送到默认分支。
  5. 部署完成后,在 username.github.io/repository 检查网页。

一键部署

以下说明改编自 一键部署 页面。

  1. 安装 hexo-deployer-git
  2. 将以下配置添加到 _config.yml 中(如果有现有的行,请删除它们)。
deploy:
type: git
repo: https://github.com/<username>/<project>
# example, https://github.com/hexojs/hexojs.github.io
branch: gh-pages
  1. 运行 hexo clean && hexo deploy
  2. username.github.io 检查网页。

有用链接