Hugo:增加新页面

Posted by Nefelibata on Mon 2024-04-01 | | about 2 mins
Last Modified on Thu 2024-05-23

想要在网站上做几个新页面

1 在配置文件中新增标签

1  [[params.addtional_menus]]
2  title = "TREND"
3  href = "/trend" 

2 新增页面布局

2.1 沿用已有布局

新增了标签以后,点进去是404,这是因为还没有建立页面,所以这一步我们要新建页面。

新增hugo-root\content\trend\index.md,文件内容里面要写明页面布局格式 layout: page

这个根据你的主题下的你需要使用的页面模板来决定,具体路径在hugo-root\themes\your-theme\layouts\_default\page.html,这里的\layouts\_default\就是所有layout的路径,page就是你的具体的layout

1---
2title: "Trend"
3layout: page
4---

这样,我们就新建了一个空页面。

2.1 增加新布局

如果要增加新的布局,那么就在\layouts\_default\目录下新增html文件,并且在html中新增你的内容,比如我这里新增一个trend.html

然后在hugo-root\content\trend\index.md中也要改为:

1---
2title: "Trend"
3layout: trend
4---

3 添加内容

3.1 添加简单内容

这时候如果我们在hugo-root\content\trend\index.md里面添加文字或者内容的话,页面上就有内容了。

不过这种方式是在page的排版基础上,如果只是想添加简单的内容就可以用这种方式

3.2 添加自定义内容

2.1 增加新布局的基础上,我们对trend.html进行更深的改动。

改动之前,我们需要了解hugo中layout的几个设定。

3.2.1 baseof.html

baseof.html中有几个设定,如下所示:

1{{ block "header" .}}
2	...
3{{ end }}
1{{ block "main" . }}
2{{ end }}

这些是留给我们自定义的内容。

那么在trend.html中我们需要相应设定为:

1{{ define "header" }}
2	...
3{{ end }}
1{{ define "main" }}
2	...
3{{ end }}

并且往其中添加内容即可,header中我们添加文章标题或者网页标题的相关内容,main中我们添加主题内容。

这一部分就和写普通的html基本一致了,只不过我们还可以利用hugo的一些特殊的方法和变量来获取我们网站的内容。具体可参考官方文档或者 Hugo 学习笔记(长期更新)

除了html以外,我们还可以使用css来调整页面的布局之类。