2023-08-31 04:21:31 +08:00
|
|
|
|
---
|
2024-12-31 00:34:20 +00:00
|
|
|
|
title: 配置
|
2023-08-31 04:21:31 +08:00
|
|
|
|
weight: 2
|
|
|
|
|
---
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
Hugo 从您 Hugo 站点根目录下的 `hugo.yaml` 文件中读取配置。
|
|
|
|
|
配置文件是您可以配置站点所有方面的地方。
|
|
|
|
|
查看此站点的配置文件 [`exampleSite/hugo.yaml`](https://github.com/imfing/hextra/blob/main/exampleSite/hugo.yaml) 在 GitHub 上,以全面了解可用的设置和最佳实践。
|
2023-08-30 16:35:04 -04:00
|
|
|
|
|
2023-08-31 04:21:31 +08:00
|
|
|
|
<!--more-->
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
## 导航
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
2023-08-30 16:35:04 -04:00
|
|
|
|
### 菜单
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
右上角的菜单在配置文件的 `menu.main` 部分中定义:
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
|
|
|
menu:
|
|
|
|
|
main:
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: 文档
|
2023-08-31 04:21:31 +08:00
|
|
|
|
pageRef: /docs
|
|
|
|
|
weight: 1
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: 博客
|
2023-08-31 04:21:31 +08:00
|
|
|
|
pageRef: /blog
|
|
|
|
|
weight: 2
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: 关于
|
2023-08-31 04:21:31 +08:00
|
|
|
|
pageRef: /about
|
|
|
|
|
weight: 3
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: 搜索
|
2023-08-31 04:21:31 +08:00
|
|
|
|
weight: 4
|
|
|
|
|
params:
|
|
|
|
|
type: search
|
|
|
|
|
- name: GitHub
|
|
|
|
|
weight: 5
|
|
|
|
|
url: "https://github.com/imfing/hextra"
|
|
|
|
|
params:
|
|
|
|
|
icon: github
|
|
|
|
|
```
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
有不同类型的菜单项:
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
1. 使用 `pageRef` 链接到站点内的页面
|
2023-08-31 04:21:31 +08:00
|
|
|
|
```yaml
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: 文档
|
2023-08-31 04:21:31 +08:00
|
|
|
|
pageRef: /docs
|
|
|
|
|
```
|
2024-12-31 00:34:20 +00:00
|
|
|
|
2. 使用 `url` 链接到外部 URL
|
2023-08-31 04:21:31 +08:00
|
|
|
|
```yaml
|
|
|
|
|
- name: GitHub
|
|
|
|
|
url: "https://github.com"
|
|
|
|
|
```
|
2024-12-31 00:34:20 +00:00
|
|
|
|
3. 使用 `type: search` 的搜索栏
|
2023-08-31 04:21:31 +08:00
|
|
|
|
```yaml
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: 搜索
|
2023-08-31 04:21:31 +08:00
|
|
|
|
params:
|
|
|
|
|
type: search
|
|
|
|
|
```
|
2024-12-31 00:34:20 +00:00
|
|
|
|
4. 图标
|
2023-08-31 04:21:31 +08:00
|
|
|
|
```yaml
|
|
|
|
|
- name: GitHub
|
|
|
|
|
params:
|
|
|
|
|
icon: github
|
|
|
|
|
```
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
这些菜单项可以通过设置 `weight` 参数进行排序。
|
|
|
|
|
|
|
|
|
|
### 徽标和标题
|
|
|
|
|
|
|
|
|
|
要修改默认徽标,编辑 `hugo.yaml` 并在 `static` 目录下添加徽标文件的路径。
|
|
|
|
|
您还可以更改用户点击徽标时重定向的链接,以及设置徽标的宽度和高度(以像素为单位)。
|
|
|
|
|
|
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
|
|
|
params:
|
|
|
|
|
navbar:
|
|
|
|
|
displayTitle: true
|
|
|
|
|
displayLogo: true
|
|
|
|
|
logo:
|
|
|
|
|
path: images/logo.svg
|
|
|
|
|
dark: images/logo-dark.svg
|
|
|
|
|
link: /
|
|
|
|
|
width: 40
|
|
|
|
|
height: 20
|
|
|
|
|
```
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
|
|
|
|
## 侧边栏
|
|
|
|
|
|
|
|
|
|
### 主侧边栏
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
主侧边栏是根据内容目录的结构自动生成的。
|
|
|
|
|
有关更多详细信息,请参阅 [组织文件](/docs/guide/organize-files) 页面。
|
|
|
|
|
|
|
|
|
|
要从左侧边栏中排除单个页面,请在页面的 front matter 中设置 `sidebar.exclude` 参数:
|
|
|
|
|
|
|
|
|
|
```yaml {filename="content/docs/guide/configuration.md"}
|
|
|
|
|
---
|
|
|
|
|
title: 配置
|
|
|
|
|
sidebar:
|
|
|
|
|
exclude: true
|
|
|
|
|
---
|
|
|
|
|
```
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
|
|
|
|
### 额外链接
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
侧边栏的额外链接在配置文件的 `menu.sidebar` 部分中定义:
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
|
|
|
menu:
|
|
|
|
|
sidebar:
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: 更多
|
2023-08-31 04:21:31 +08:00
|
|
|
|
params:
|
|
|
|
|
type: separator
|
|
|
|
|
weight: 1
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: "关于"
|
2023-08-31 04:21:31 +08:00
|
|
|
|
pageRef: "/about"
|
|
|
|
|
weight: 2
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- name: "Hugo 文档 ↗"
|
2023-08-31 04:21:31 +08:00
|
|
|
|
url: "https://gohugo.io/documentation/"
|
|
|
|
|
weight: 3
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 右侧边栏
|
|
|
|
|
|
|
|
|
|
### 目录
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
目录是根据内容文件中的标题自动生成的。可以通过在页面的 front matter 中设置 `toc: false` 来禁用它。
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="content/docs/guide/configuration.md"}
|
|
|
|
|
---
|
2024-12-31 00:34:20 +00:00
|
|
|
|
title: 配置
|
2023-08-31 04:21:31 +08:00
|
|
|
|
toc: false
|
|
|
|
|
---
|
|
|
|
|
```
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
### 页面编辑链接
|
|
|
|
|
|
|
|
|
|
要配置页面编辑链接,我们可以在配置文件中设置 `params.editURL.base` 参数:
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
|
|
|
params:
|
|
|
|
|
editURL:
|
2024-12-31 00:34:20 +00:00
|
|
|
|
enable: true
|
2023-08-31 04:21:31 +08:00
|
|
|
|
base: "https://github.com/your-username/your-repo/edit/main"
|
|
|
|
|
```
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
编辑链接将根据提供的 URL 作为根目录自动为每个页面生成。
|
|
|
|
|
如果要为特定页面设置编辑链接,可以在页面的 front matter 中设置 `editURL` 参数:
|
2023-08-31 04:21:31 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="content/docs/guide/configuration.md"}
|
|
|
|
|
---
|
2024-12-31 00:34:20 +00:00
|
|
|
|
title: 配置
|
2023-11-21 14:50:29 -06:00
|
|
|
|
editURL: "https://example.com/edit/this/page"
|
2023-08-31 04:21:31 +08:00
|
|
|
|
---
|
|
|
|
|
```
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
## 页脚
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
### 版权
|
|
|
|
|
|
|
|
|
|
要修改网站页脚中显示的版权文本,您需要创建一个名为 `i18n/en.yaml` 的文件。
|
|
|
|
|
在此文件中,指定您的新版权文本,如下所示:
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="i18n/en.yaml"}
|
2024-12-31 00:34:20 +00:00
|
|
|
|
copyright: "© 2024 您的文本"
|
2024-01-09 02:24:38 +08:00
|
|
|
|
```
|
2024-12-31 00:34:20 +00:00
|
|
|
|
|
|
|
|
|
作为参考,可以在 GitHub 仓库中找到示例 [`i18n/en.yaml`](https://github.com/imfing/hextra/blob/main/i18n/en.yaml) 文件。此外,您可以在版权文本中使用 Markdown 格式。
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
|
|
|
|
## 其他
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
### 网站图标
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
要为您的站点自定义 [网站图标](https://en.wikipedia.org/wiki/Favicon),请将图标文件放在 `static` 文件夹下,以覆盖 [主题的默认网站图标](https://github.com/imfing/hextra/tree/main/static):
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
|
|
|
|
{{< filetree/container >}}
|
|
|
|
|
{{< filetree/folder name="static" >}}
|
|
|
|
|
{{< filetree/file name="android-chrome-192x192.png" >}}
|
|
|
|
|
{{< filetree/file name="android-chrome-512x512.png" >}}
|
|
|
|
|
{{< filetree/file name="apple-touch-icon.png" >}}
|
|
|
|
|
{{< filetree/file name="favicon-16x16.png" >}}
|
|
|
|
|
{{< filetree/file name="favicon-32x32.png" >}}
|
|
|
|
|
{{< filetree/file name="favicon-dark.svg" >}}
|
|
|
|
|
{{< filetree/file name="favicon.ico" >}}
|
|
|
|
|
{{< filetree/file name="favicon.svg" >}}
|
|
|
|
|
{{< filetree/file name="site.webmanifest" >}}
|
|
|
|
|
{{< /filetree/folder >}}
|
|
|
|
|
{{< /filetree/container >}}
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
在您的项目中包含 `favicon.ico`、`favicon.svg` 和 `favicon-dark.svg` 文件,以确保您的站点图标正确显示。
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
虽然 `favicon.ico` 通常用于旧版浏览器,但 `favicon.svg` 和 `favicon-dark.svg` 受现代浏览器支持。
|
|
|
|
|
使用 [favicon.io](https://favicon.io/) 或 [favycon](https://github.com/ruisaraiva19/favycon) 等工具生成此类图标。
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
### 主题配置
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
使用 `theme` 设置来配置默认主题模式和切换按钮,允许访问者在浅色或深色模式之间切换。
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
|
|
|
params:
|
|
|
|
|
theme:
|
|
|
|
|
# light | dark | system
|
|
|
|
|
default: system
|
|
|
|
|
displayToggle: true
|
|
|
|
|
```
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
`theme.default` 的选项:
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- `light` - 始终使用浅色模式
|
|
|
|
|
- `dark` - 始终使用深色模式
|
|
|
|
|
- `system` - 与操作系统设置同步(默认)
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
`theme.displayToggle` 参数允许您显示一个切换按钮以更改主题。
|
|
|
|
|
当设置为 `true` 时,访问者可以在浅色或深色模式之间切换,覆盖默认设置。
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
### 页面宽度
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
页面的宽度可以通过配置文件中的 `params.page.width` 参数进行自定义:
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
|
|
|
params:
|
|
|
|
|
page:
|
|
|
|
|
# full (100%), wide (90rem), normal (1280px)
|
|
|
|
|
width: wide
|
|
|
|
|
```
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
有三个可用选项:`full`、`wide` 和 `normal`。默认情况下,页面宽度设置为 `normal`。
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
同样,导航栏和页脚的宽度可以通过 `params.navbar.width` 和 `params.footer.width` 参数进行自定义。
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
### 搜索索引
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
默认启用由 [FlexSearch](https://github.com/nextapps-de/flexsearch) 提供的全文搜索。
|
|
|
|
|
要自定义搜索索引,请在配置文件中设置 `params.search.flexsearch.index` 参数:
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
|
|
|
params:
|
2024-12-31 00:34:20 +00:00
|
|
|
|
# 搜索
|
2024-01-09 02:24:38 +08:00
|
|
|
|
search:
|
|
|
|
|
enable: true
|
|
|
|
|
type: flexsearch
|
|
|
|
|
|
|
|
|
|
flexsearch:
|
2024-12-31 00:34:20 +00:00
|
|
|
|
# 按以下内容索引页面:content | summary | heading | title
|
2024-01-09 02:24:38 +08:00
|
|
|
|
index: content
|
|
|
|
|
```
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
`flexsearch.index` 的选项:
|
|
|
|
|
|
|
|
|
|
- `content` - 页面的完整内容(默认)
|
|
|
|
|
- `summary` - 页面的摘要,请参阅 [Hugo 内容摘要](https://gohugo.io/content-management/summaries/) 了解更多详细信息
|
2024-01-09 02:24:38 +08:00
|
|
|
|
- `heading` - 一级和二级标题
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- `title` - 仅包括页面标题
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
要自定义搜索分词,请在配置文件中设置 `params.search.flexsearch.tokenize` 参数:
|
2024-06-02 20:53:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
```yaml {filename="hugo.yaml"}
|
2024-06-02 20:53:38 +08:00
|
|
|
|
params:
|
|
|
|
|
# ...
|
|
|
|
|
flexsearch:
|
|
|
|
|
# full | forward | reverse | strict
|
|
|
|
|
tokenize: forward
|
|
|
|
|
```
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
[`flexsearch.tokenize`](https://github.com/nextapps-de/flexsearch/#tokenizer-prefix-search) 的选项:
|
2024-06-02 20:53:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
- `strict` - 索引整个单词
|
|
|
|
|
- `forward` - 向前方向逐步索引单词
|
|
|
|
|
- `reverse` - 双向逐步索引单词
|
|
|
|
|
- `full` - 索引所有可能的组合
|
2024-06-02 20:53:38 +08:00
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
要从搜索索引中排除页面,请在页面的 front matter 中设置 `excludeSearch: true`:
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="content/docs/guide/configuration.md"}
|
|
|
|
|
---
|
2024-12-31 00:34:20 +00:00
|
|
|
|
title: 配置
|
2024-01-09 02:24:38 +08:00
|
|
|
|
excludeSearch: true
|
|
|
|
|
---
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Google Analytics
|
|
|
|
|
|
2024-12-31 00:34:20 +00:00
|
|
|
|
要启用 [Google Analytics](https://marketingplatform.google.com/about/analytics/),请在 `hugo.yaml` 中设置 `services.googleAnalytics.ID` 标志:
|
2024-01-09 02:24:38 +08:00
|
|
|
|
|
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
|
|
|
services:
|
|
|
|
|
googleAnalytics:
|
|
|
|
|
ID: G-MEASUREMENT_ID
|
2024-12-31 00:34:20 +00:00
|
|
|
|
```
|