菜单配置

本文介绍菜单的属性和如何设置菜单。

菜单项属性

属性类型描述
namestring菜单名称
identifierstring菜单标识,一般用于定义多层级菜单。
weightnumber菜单权重,越小优先级越高。
parentstring父级菜单的标识,也就是 identifier
urlstring菜单 URL。
prestring菜单的前置字符串。
poststring菜单的尾部字符串。
paramsobject模块的特定参数。

菜单集标识

每个菜单集都有其自己的标识,比如 mainfooter 等等,其与对应的模块相关。

如何配置菜单?

Hugo 支持两种配置菜单的方式:菜单配置文件和页面参数(又称 front matter)。

菜单配置文件

menus.toml

1[[main]]
2  name = 'Example'
3  url = 'https://example.com'

menus.yaml

1main:
2- name: Example
3  url: https://example.com

menus.json

1{
2   "main": [
3      {
4         "name": "Example",
5         "url": "https://example.com"
6      }
7   ]
8}

其中 main菜单集标识

页面参数配置

当我们打算将某一页面添加到菜单集,最简便的方法是于页面设置的以下参数。

menus.toml

1[menu]
2  [menu.main]
3    weight = 2

menus.yaml

1menu:
2  main:
3    weight: 2

menus.json

1{
2   "menu": {
3      "main": {
4         "weight": 2
5      }
6   }
7}

这种方式不需要显式地指定菜单的名称和 URL。