写作工具
推荐两款软件,本人都使用过: typora和obsidian
typora:
https://github.com/woniu336/typora-007
新建文章
在博客目录找到shell/quickstart.sh
双击打开即可
发布到Github
前提:
- 魔法上网
- 在Github新建一个仓库
找到shell/quickstart.sh
双击打开,选择7.SSH 管理工具
按照1到4走一遍流程
- 科普一下: hugo是静态博客,需要把
public
目录下的所有文件发布到github - 你可能找不到
public
目录,工具箱选择第3项:生成静态文件即可 - 需要把
public
单独作为一个仓库发布到github,选择菜单8:推送 public 到Github
- 远程仓库格式,例如:git@github.com:woniu336/fff.git
Github Actions 工作流
Github Actions 通俗解释: 按照剧本去执行任务,什么时候干什么事情
打开git bash 在博客目录运行
mkdir -p .github/workflows
在workflows目录新建main.yml文件,粘贴以下内容:
name: Auto Deploy hugo
on:
push:
branches:
- main # 更新触发的分支
jobs:
build-deploy:
# runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- name: Check out repository code
uses: actions/checkout@v4
with:
submodules: recursive # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup hugo
uses: peaceiris/actions-hugo@v3.0.0
with:
# hugo-version: "latest" # 可以修改为你使用的 Hugo 版本
hugo-version: "0.127.0"
extended: true # 设置是否需要 extended 版本
- name: Cache resources # 缓存 resource 文件加快生成速度
uses: actions/cache@v3
with:
path: resources
# 检查照片文件变化
key: ${{ runner.os }}-hugocache-${{ hashFiles('content/**/*') }}
restore-keys: ${{ runner.os }}-hugocache-
- name: Build Hugo static files # 部署静态资源
run: hugo --gc --minify
- name: Deploy to Github Pages # 部署到Github Pages页面
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{ secrets.PERSONAL_TOKEN }}
external_repository: woniu336/woniu336.github.io
publish_dir: ./public # hugo 生成到 public 作为跟目录
publish_branch: main # Github Pages 所在分支
commit_message: ${{ github.event.head_commit.message }}
这个文件的作用是将 Hugo 生成的静态网站文件从 ./public 目录发布到 woniu336/woniu336.github.io 仓库的 main 分支,并且使用指定的个人访问令牌来进行身份验证和授权。
把woniu336/woniu336.github.io改成你自己的public仓库,前面是用户名,后面是仓库名
你需要做两件事:
-
打开https://github.com/settings/tokens/new 新建令牌
-
发布项目到github,注意:这里不是指public仓库,是博客根目录发布到github,
然后在settings/secrets/actions添加变量
name: PERSONAL_TOKEN
Value: 新建的令牌
- 然后你就可以使用工具箱脚本中的菜单
5:一键推送
了,你会看到推送了两个仓库.
发布到vercel绑定github,选择或者cloudflare同理
在vercel绑定github,选择推送public目录的远程仓库,一键部署,cloudflare同理