hugo搭建网站
有搭建新页面的需求,尝试用hugo搭建博客。
前言
因为需要搭建一个新的网页存放一些文稿,hexo用腻了,试了试hugo,而且确实快,以后的网站可能文章会非常多,那用hugo也是很好的。
安装go
安装go,下载装就行。说明很详细。
安装hugo
说明还是比较详细的,Windows下安装要注意的是:
- 解压后的exe 可以放到任意位置,但建议新建一个路径如
D:\hugo\bin
- 将上述路径添加到系统变量内,完成全局安装(建议全局安装)
- 执行
hugo --version
检查安装情况与版本号
安装主题
先配置网页,然后安装主题。
1 | hugo new site ./ |
主题:
1 | git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1 |
如果有报错,一般是因为代理
fatal: unable to access ‘xxx’: Failed to connect to 127.0.0.1 port 1080: Connection refused
1 | git config --global http.proxy |
配置:
打开config.toml配置文件,在最后添加一行theme = “PaperMod”
上传准备
因为是clone的方式拉取的主题,那么在上传到仓库时,会报
1 | hint: You've added another git repository inside your current repository. |
所以在建立完成后,去theme文件夹将其中的 .git
等文件夹删除。
配置
主题安装完毕后,需要配置的一些内容。
文件夹
把主题文件夹里面的一些静态文件和配置文件复制到站点目录下,可以自定义博客的样式而不会改动主题文件夹里的样式,站点目录的修改会优先覆盖主题里的配置。
主要复制的文件夹有:
- assets
- i18n
- layouts
- resources
- static
图标等
hugo
的图标等图片以及其他静态文件,放置于 static
文件夹内,其中网站的图标命名为 favicon.ico
网页生成时,会自动识别。
config.yml
hugo
官方的配置文件是 toml
格式的,但是不熟悉,可以删除了改为 yaml
模式的文件。只要有 yaml
、toml
、json
格式的文件,会自动读取的。
具体的配置参考博客主题 PaperMod
的示例:hugo-PaperMod-config.yml 以及 hugo
官网的 configuration
一栏以及各项参数的细则:HUGO Docs Configuration
网页组织
关于网页组织的细则,查阅 HUGO Docs
,这里主要说明:content
文件夹内主要需要放置 about
、archive
、search
的布局 .md
文件如下:
1 | --- |
以使渲染器了解渲染方式。其中,如果在配置中设定了多个语言页面,需要在相应的布局 .md
文件的命名内加后缀,如:archives.zh-cn.md
表中文布局。
post
文件夹内,可以添加文件夹以做直观分类,同时添加 _index.md
文件布置标题与其他展示。如:
1 | --- |
运行
配置大致如上,完成后可以直接运行博客查看运行状态,hugo的一大好处就是可以在本地边编辑边展示,在终端输入 hugo server
即可预览,一般是在 loacalhost:1313
输入 hugo
则会生成网页,文件存放到 public
下。
书写博客
输入 hugo new 文章名称.md
就会在 content
目录下生成 “文章名称.md” 名字的文件,所有文章都是放在 content
这个文件夹里 如果定义了分类目录,如在 content\posts
目录下有blog、philosophy等文章分类,那么在用命令生成文章的时候,如果要把文章生成到指定目录,可以用命令:hugo new posts/blog/文章名称.md
,这样就会把文章生成到 blog
目录下
生成的文章内部头部配置信息包括一些文章名称,时间之类的信息,可以事先在目录 archetypes/default.md
下使用模板,这样在用命令 hugo new
生成文章后会自动加上模板里的配置,具体配置参考:hugo-FrontMatter
这里给个实例:
1 | --- |
github-action自动部署
示例比较多,这里贴一个大致流程以及 workflows
流程:
- 仓库下创建
.github\workflows\deploy_name.yml
github
个人页Settings/Developer settings/Personal access tokens/Tokens(classic)
生成新Token
,需要开启repo
以及workflow
权限。Token
的内容需要复制下来- 将复制的
Token
内容放置到仓库下的Settings/Secrets and Variables/Actions/Secrets
内,记录创建的新secrets
名字 - 新
secrets
名字替换下面文件中的github_token: ${{ secrets.GITHUB_TOKEN }}
的GITHUB_TOKEN
- 完成后,就可以
git init
、git add .
、git commit -m ''
、git push
测试了
action文件
1 | name: Deploy Pages |
美化
修改了不少文件、样式,但是懒得写,故暂略。