个人导航免费拥有
nav导航项目
项目地址: https://github.com/shenweiyan/WebStack-Hugo
部署准备
- 首先fork 项目到自己仓库(项目名字不能更改)
- 按照步骤,申请token,并且按照文档配置,开启action自动部署
- 更改workflows里面的hugoAction.yml脚本,进行自动发布
- 开启github pages,绑定域名
- 域名解析,正常访问
1.1 fork 项目
这里忽略,可以参考项目文档操作
1.2 配置token和actions
这里忽略,可以参考项目文档操作
1.3 配置huoAction.yml自动发布脚本
这里是重点关注的地方,当初这里卡了好久
重点是脚本配置
name: Hugo Actions # 名字自取
on:
push:
branches:
- main # 这里的意思是当 main 分支发生 push 的时候,运行下面的 jobs
jobs:
deploy:
runs-on: ubuntu-20.04 # 在什么环境运行任务
steps:
- uses: actions/checkout@v3 # 引用 actions/checkout 这个 action,与所在的 github 仓库同名
with:
submodules: true # Fetch Hugo themes (true OR recursive) 获取 submodule 主题
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo # 步骤名自取
uses: peaceiris/actions-hugo@v2 # Hugo 官方提供的 action,用于在任务环境中获取 hugo
with:
hugo-version: '0.122.0' # 获取指定版本的 hugo
extended: false
- name: Build Site
run: |
pwd
ls
cp -R exampleSite/* .
hugo --themesDir ../ --baseURL https://dao.bdser.cc/
# 创建 CNAME,这个是原始配置中没有的
- uses: "finnp/create-file-action@master"
env:
FILE_NAME: "./public/CNAME"
FILE_DATA: "dao.bdser.cc"
- name: Deploy Pages
uses: peaceiris/actions-gh-pages@v3 # 一个自动发布 github pages 的 action
with:
external_repository: bdser/WebStack-Hugo # 发布到哪个 repo
personal_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # 发布到其他 repo 需要在对应的 repo 上粘贴生成的 personal_access_token
#1. 创建 Personal_Access_Token:
# GitHub 个人账号 -> Settings -> Developer settings -> Personal access tokens -> Tokens (classic) -> New personal access token (classic)
# - Expiration: No expiration
# - Select scopes: 全选
#2. 粘贴 Personal_Access_Token:
# 进入目标 repo -> Settings -> Security -> Secrets and variables -> Actions,选择 New repository secret -> 粘贴前面生成的 personal_access_token
publish_dir: ./public
#注意这里指的是 Pages 要发布哪个文件夹的内容,而不是指发布到目标仓库的什么位置;因为 hugo 默认生成静态网页到 public 文件夹,所以这里发布 public 文件夹里的内容。
publish_branch: gh-pages # 发布到哪个 branch
force_orphan: true
full_commit_message: ${{ github.event.head_commit.message }}
1.4 配置github pages
github 可以配置多个pages的,需要一定的配置技巧
首先配置仓库分支,然后在Custom Domain里面配置域名(建议使用域名),直接配置成三级域名,然后开启https,如下图 然后dns域名解析的时候,配置cname记录,访问的时候,直接访问下三级域名即可
cname记录: dao.bdaer.cc CNAME bdser.github.io
1.5 域名访问
修改配置文件,自动发布更新,可以访问https://dao.bdser.cc ,查看效果