菜單配置

本文介紹菜單的屬性和如何設置菜單。

菜單項屬性

屬性類型描述
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。