介绍

hugo + gitee搭建个人博客,使用gitee代替github是因为国内访问速度问题。

hugo直接在仓库可以安装sudo apt install hugo,这个链接是它的官方网页。

hugo new xxx.md在post中新建Markdown格式的文章,注意此时在开头属性里有draft: true的标志,这会导致此篇文章不能发布。
后期需要删除此行。

hugo -t $theme生成public文件夹中的静态网页。

hugo server可以本地起一个服务器,这时通过浏览器查看网页效果。

git submodule

hugo主题和静态网页是另外的git库,为了方便管理,引入git submodule的用法。

比如我使用的hugo主题是even,可以使用命令

1
git submodule add https://gitee.com/xxxxx/hugo-theme-even.git themes/even

来添加子模块。

gitee提供的静态网页,在仓库的服务->Gitee Pages可以找到。即新建一个同名的仓库就可以了。同样添加

1
git submodule add -b master https://gitee.com/lclei/lclei.git public

添加后,主目录里会有.gitmodules文件记录。

1
2
3
4
5
6
7
8
$ cat .gitmodules
[submodule "themes/even"]
        path = themes/even
        url = https://gitee.com/gkzhb/hugo-theme-even.git
[submodule "public"]
        path = public
        url = https://gitee.com/lclei/lclei.git
        branch = master

git没有提供submodule的删除命令。有出错等情况,可以去.git目录下找到modules目录,删除对应submodule。

部署

最后记录自己的deploy.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh

# If a command fails then the deploy stops
set -e

printf "\033[0;32mDeploying updates to Gitee...\033[0m\n"

# Build the project.
hugo -t even # if using a theme, replace with `hugo -t <YOURTHEME>`

# Go To Public folder
cd public

# Add changes to git.
git add .

# Commit changes.
msg="rebuilding site $(date)"
if [ -n "$*" ]; then
        msg="$*"
fi
git commit -m "$msg"

# Push source and build repos.
git push origin master

cd ..