Hugo:日常更新流程

Posted by Nefelibata on Wed 2024-03-20 | | about 2 mins
Last Modified on Thu 2024-05-23

1、新建文章

进入blog本地仓库,新疆文章,写文章并修改

1cd F:\vscode\hugo-root
2hugo new post/文章名字.md

2、本地验证

1hugo serve -D --disableFastRender
23hugo serve

3、更新public目录,进入public目录,提交代码

 1hugo	#注意此时不能再 hugo serve了,否则public目录某些html的连接为http://localhost:1313/...
 2git add .
 3git commit -m "update"
 4git push origin master
 5 
 6cd public
 7git add .
 8git commit -m "update"
 9git push origin master
10 

稍等一两分钟,即可打开网址查看,Nefelibata

4、改进

写完一篇文章以后,进行如下操作,即可更新完成

(1)流程化

方案一:本地流程化

a.添加 .gitignore

有一个注意事项,新建文件 .gitignore,把public填进去

1public/

b.全流程

此处改进详情请看 Hugo:图片存储路径优化

其中img_move.py也已经打包成 exe,所以第一步也可以使用

1python img_move.py  # 或直接 img_move.exe
 1python img_move.py  
 2hugo
 3git add .
 4git commit -m "update"
 5git push origin master
 6 
 7cd public
 8git add .
 9git commit -m "update"
10git push origin master
11 

c.一键部署

将所有步骤打包成 bat

1run_update.bat

方案二:Github Action 自动发布

Github Action 自动发布其实就是在网页端进行流程化

添加路径 .github/workflows/deploy.yml

deploy.yml

 1name: blog public 
 2on:
 3  push:
 4    # branches:
 5    #   - main
 6jobs:
 7  build-deploy:
 8    runs-on: ubuntu-20.04
 9    # runs-on: macos-latest
10    steps:
11      - name: Check out source
12        uses: actions/checkout@v2
13
14      - name: Setup hugo
15        uses: peaceiris/actions-hugo@v2
16        with:
17#          hugo-version: "latest" # 可以修改为你使用的 Hugo 版本
18          hugo-version: "0.124.0" #
19          extended: true # 设置是否需要 extended 版本
20
21      - name: Build Web
22        run: hugo
23
24      - name: Publish Web
25        uses: peaceiris/actions-gh-pages@v3
26        with:
27          personal_token: ${{ secrets.PERSONAL_TOKEN }} # 另外还支持 deploy_token 和 github_token
28          external_repository: HuuuuuuO/huuuuuuo.github.io # 修改为你的 GitHub Pages 仓库
29          publish_branch: master
30          publish_dir: ./public
31#          keep_files: false
32          # 如果使用自定义域名,还需要添加下面一行配置
33          # cname: www.goodfun.me

若是使用action自动发布,则发布流程为:

1python img_move.py  
2hugo
3git add .
4git commit -m "update"
5git push origin master

(2)取消主题子模块

如果要自己修改主题,则需要取消主题作为子模块

首先,将 ./themes/主题包 路径下的主题包复制到别的路径

接着,执行以下步骤删除主题子模块

1git rm --cached <子模块路径>
2rm -rf <子模块路径>
3git config --file=.gitmodules --remove-section submodule.<子模块名称>
4git config --remove-section submodule.<子模块名称>
5rm -rf <子模块路径>/.git
6git add <子模块路径>
7git commit -m "Convert submodule to regular directory"
8git push origin <分支名>

最后将主题包复制回 ./themes/主题包