配置 FixIt

了解如何配置你的 Hugo FixIt 站点。

配置文件

Hugo 有一些全局配置设置,但这不在本文的讨论范围之内。

在开始配置之前,建议你执行以下命令,将主题的默认 hugo.toml 复制到你的项目中:

1
2
3
mv hugo.toml hugo.old.toml
cp themes/FixIt/hugo.toml hugo.toml
echo "theme = 'FixIt'" >> hugo.toml

作为进阶使用,你也可以将你的配置按环境、根配置键和语言拆分,而不是一个单独的站点配置文件。

更多细节可以在 配置 Hugo 页面找到。

Hugo 有一个简单而强大的 菜单系统

根据 Hugo 提供的接口,FixIt 主题只实现了部分功能,这足以满足大多数人的需求,也让用户在使用上更加简单。

下面是一个完整的菜单项配置:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[menu]
  [[menu.main]]
    identifier = ""
    # FixIt 0.2.14 | 新增 父级菜单项的标识符 (identifier)
    parent = ""
    # 你可以在名称(允许 HTML 格式)之前添加其他信息,例如图标
    pre = ""
    # 你可以在名称(允许 HTML 格式)之后添加其他信息,例如图标
    post = ""
    name = ""
    url = ""
    # 当你将鼠标悬停在此菜单链接上时,将显示的标题
    title = ""
    weight = 1
    # FixIt 0.2.14 | 新增 向菜单项添加用户定义的内容
    [menu.main.params]
      # 添加 CSS 类到菜单项
      class = ""
      # 是否为草稿菜单,类似草稿页面
      draft = false
      # FixIt 0.2.16 | 新增 添加 fontawesome 图标到菜单项
      icon = ""
      # FixIt 0.2.16 | 新增 设置菜单项类型,可选值:["mobile", "desktop"]
      type = ""
子菜单

考虑到实用性和排版问题,FixIt 主题只支持两层嵌套的菜单,通过在菜单配置中的 parent 字段即可。

一个菜单项的父项应该是另一个菜单项的标识符(identifier),在菜单中标识符应该是唯一的。

另外,也可以通过配置页面(即 .md 文件)的 front matter 添加内容到菜单中。

这是一个 yaml 示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
---
title: 配置 Fixit
author: Lruihao
menu:
  main:
    title: 了解如何配置你的 Hugo FixIt 站点。
    parent: documentation
    weight: 3
    params:
      icon: fa-brands fa-readme
# ...
---

主题配置

除了 Hugo 全局配置外,FixIt 还通过根配置键 params 提供了一些主题配置。

一个简单的例子:

1
2
3
4
5
6
7
8
baseURL = 'https://example.org/'
languageCode = 'en'
title = 'ABC Widgets, Inc.'
[params]
  version = "0.3.X"
  description = "This is my new Hugo FixIt site"
  keywords = ["Hugo", "FixIt"]
  # ...

All theme configuration settings are as follows:

所有 FixIt 主题配置设置如下:

version

string FixIt 主题版本,例如:0.3.X, 0.3.0, v0.3.0 等。

description

string 网站描述。

keywords

string array 网站关键词。

defaultTheme

string 网站默认主题样式,默认:auto,可选值可以是以下之一:

light
浅色主题
dark
深色主题
auto
根据用户的系统主题自动选择

fingerprint

string 哪种哈希函数用来 SRI, 为空时表示不使用 SRI,可选值:["sha256", "sha384", "sha512", "md5"]

dateFormat

string 日期格式,默认:2006-01-02

images

string array 网站图片,用于 Open Graph 和 Twitter Cards。

enablePWA

FixIt 0.2.12 | 新增

bool 开启 PWA 支持,默认:false

externalIcon

FixIt 0.2.14 | 新增

bool 是否自动显示外链图标,默认:false

FixIt 0.3.0 | 新增

bool 是否反转导航菜单的顺序,默认:false

withSiteTitle

FixIt 0.3.0 | 新增

bool 是否在每个页面标题中添加网站标题,默认:true。请记得在 hugo.toml 中设置网站标题 (例如 title = "title")。

titleDelimiter

FixIt 0.3.0 | 新增

string 当网站标题被添加到每个页面标题时的标题分隔符,默认:-

indexWithSubtitle

FixIt 0.3.0 | 新增

bool 是否在主页标题中添加网站副标题,默认:false。请记得通过 params.header.subtitle.name 设置网站副标题。

disableThemeInject

FixIt 0.2.14 | 新增

bool 默认情况下,FixIt 只会在主页的 HTML 头中注入主题元标记。你可以将其关闭,但如果你不这样做,我们将不胜感激,因为这是观察 FixIt 受欢迎程度上升的好方法。

author

map 作者配置。

1
2
3
4
5
6
[params]
  [params.author]
    name = ""
    email = ""
    link = ""
    avatar = ""
name
string 作者名称
email
string 作者邮箱
link
string 作者链接
avatar
string 作者头像

gitInfo

FixIt 0.3.0 | 新增

map 公共 Git 仓库信息,仅在 enableGitInfo 设为 true 时有效。

1
2
3
4
5
6
[params]
  [params.gitInfo]
    repo = ""
    branch = "main"
    dir = "content"
    issueTpl = "title=[BUG]%20{title}&body=|Field|Value|%0A|-|-|%0A|Title|{title}|%0A|URL|{URL}|%0A|Filename|{sourceURL}|"
repo
string 公开 Git 仓库的 URL,例如 https://github.com/hugo-fixit/docs
branch
string 仓库分支,默认:main
dir
string 相对于仓库根目录的内容目录路径。
issueTpl
string 用于报告文章问题的 issue 模板,可用模板参数:{title}, {URL}, {sourceURL}

app

map 应用图标配置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[params]
  [params.app]
    name = ""
    shortName = ""
    noFavicon = false
    svgFavicon = ""
    iconColor = "#5bbad5"
    tileColor = "#da532c"
    [params.app.themeColor]
      light = "#f8f8f8"
      dark = "#252627"
title
string 当添加到 iOS 主屏幕或者 Android 启动器时的标题,覆盖默认标题。
noFavicon
bool 是否隐藏网站图标资源链接。
svgFavicon
string 更现代的 SVG 网站图标,可替代旧的 .png.ico 文件。
iconColor
string Safari 图标颜色。
tileColor
string Windows v8-10 磁贴颜色。
themeColor
map Android 浏览器主题色。
  • light: string 浅色主题颜色,默认:#f8f8f8
  • dark: string 深色主题颜色,默认:#252627

map 搜索配置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[params]
  [params.search]
    enable = false
    type = "fuse"
    contentLength = 4000
    placeholder = ""
    maxResultLength = 10
    snippetLength = 30
    highlightTag = "em"
    absoluteURL = false
    [params.search.algolia]
      index = ""
      appID = ""
      searchKey = ""
    [params.search.fuse]
      isCaseSensitive = false
      minMatchCharLength = 2
      findAllMatches = false
      location = 0
      threshold = 0.3
      distance = 100
      ignoreLocation = false
      useExtendedSearch = false
      ignoreFieldNorm = false
enable
bool 是否启用搜索。
type
string 搜索引擎的类型,可选值:algoliafuse,默认:fuse
contentLength
int 文章内容最长索引长度。
placeholder
string 搜索框的占位提示语。
maxResultLength
int 最大结果数目。
snippetLength
int 结果内容片段长度。
highlightTag
string 搜索结果中高亮部分的 HTML 标签。
absoluteURL
bool 是否在搜索索引中使用基于 baseURL 的绝对路径。
algolia
map Algolia 搜索配置。
  • index: string Algolia 索引。
  • appID: string Algolia App ID。
  • searchKey: string Algolia Search Key。
fuse
FixIt 0.2.17 | 新增
map Fuse 搜索配置
  • isCaseSensitive: bool 是否区分大小写,默认:false
  • minMatchCharLength: int 最小匹配字符长度,默认:2
  • findAllMatches: bool 是否查找所有匹配项,默认:false
  • location: int 位置,默认:0
  • threshold: float 阈值,默认:0.3
  • distance: int 距离,默认:100
  • ignoreLocation: bool 是否忽略位置,默认:false
  • useExtendedSearch: bool 是否使用扩展搜索,默认:false
  • ignoreFieldNorm: bool 是否忽略字段规范化,默认:false

基于 algoliaFuse.jsFixIt 主题支持搜索功能。

为了生成搜索功能所需要的 index.json, 请在你的站点配置中添加 JSON 输出文件类型到 outputs 部分的 home 字段中。

1
2
[outputs]
  home = ["HTML", "RSS", "JSON"]
关于 algolia 的使用技巧 /zh-cn/guides/algolia-atomic/

map 页面头部导航栏配置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[params]
  [params.header]
    desktopMode = "sticky"
    mobileMode = "auto"
    [params.header.title]
      logo = ""
      name = ""
      pre = ""
      post = ""
      typeit = false
    [params.header.subtitle]
      name = ""
      typeit = false
desktopMode
FixIt 0.2.13 | 更改
string 桌面端导航栏模式,可选值:stickynormalauto, 默认:sticky
mobileMode
FixIt 0.2.13 | 更改
string 移动端导航栏模式,可选值:stickynormalauto, 默认:auto
title
map 页面头部导航栏标题配置。
  • logo: string LOGO 的 URL。
  • name: string 标题名称。
  • pre: string 在名称之前添加其他信息。
  • post: string 在名称之后添加其他信息。
  • typeit: bool 是否为标题显示打字机动画。
subtitle
FixIt 0.2.12 | 新增
map 页面头部导航栏副标题配置。
  • name: string 副标题名称。
  • typeit: bool 是否为副标题显示打字机动画。
FixIt 0.2.18 | 新增

map 面包屑导航配置。

enable
bool 是否启用面包屑导航。
sticky
bool 是否固定面包屑导航。
showHome
bool 是否显示主页链接。

map 页面底部信息配置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[params]
  [params.footer]
    enable = true
    custom = ""
    copyright = true
    author = true
    since = ""
    gov = ""
    icp = ""
    license = ""
    [params.footer.powered]
      enable = true
      hugoLogo = true
      themeLogo = true
    [params.footer.siteTime]
      enable = false
      animate = true
      icon = "fa-solid fa-heartbeat"
      pre = ""
      value = ""
    [params.footer.order]
      powered = 0
      copyright = 0
      statistics = 0
      visitor = 0
      beian = 0
enable
bool 是否启用页面底部信息。
custom
FixIt 0.2.17 | 更改
string 自定义内容(支持 HTML 格式)。
copyright
bool 是否显示版权信息。
author
bool 是否显示作者。
since
int 网站创立年份。
gov
FixIt 0.2.12 | 新增
string 公网安备信息,仅在中国使用(支持 HTML 格式)。
icp
FixIt 0.2.12 | 更改
string ICP 备案信息,仅在中国使用(支持 HTML 格式)。
license
string 许可协议信息(支持 HTML 格式)。
powered
map Hugo 和主题信息。
  • enable: bool 是否显示 Hugo 和主题信息。
  • hugoLogo: bool 是否显示 Hugo Logo。
  • themeLogo: bool 是否显示主题 Logo。
siteTime
FixIt 0.2.17 | 新增
map 网站创立时间。
  • enable: bool 是否显示网站创立时间。
  • animate: bool 是否显示动画。
  • icon: string 图标。
  • pre: string 前缀。
  • value: string 网站创立时间,例如:2021-12-18T16:15:22+08:00
order
FixIt 0.2.17 | 新增
map 页面底部行排序。
  • powered: int Hugo 和主题信息。
  • copyright: int 版权信息。
  • statistics: int 统计信息。
  • visitor: int 访客信息。
  • beian: int 备案信息。

archives

FixIt 0.3.0 | 新增

map 归档页面配置。

1
2
3
4
[params]
  [params.archives]
    paginate = 20
    dateFormat = "01-02"
paginate
int 归档页面每页显示文章数量,默认:20
dateFormat
string 日期格式,默认:01-02

section

map Section(所有文章)页面配置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[params]
  [params.section]
    paginate = 20
    dateFormat = "01-02"
    rss = 10
    [params.section.recentlyUpdated]
      enable = false
      rss = false
      days = 30
      maxCount = 10
paginate
int section 页面每页显示文章数量,默认:20
dateFormat
string 日期格式,默认:01-02
rss
int RSS 文章数目,默认:10
recentlyUpdated
FixIt 0.2.13 | 新增
map 最近更新文章设置。
  • enable: bool 是否启用最近更新文章,默认:false
  • rss: bool 是否在 RSS 中显示最近更新文章,默认:false
  • days: int 最近更新文章的天数,默认:30
  • maxCount: int 最大文章数目,默认:10

list

map List(目录或标签)页面配置。

1
2
3
4
5
[params]
  [params.list]
    paginate = 20
    dateFormat = "01-02"
    rss = 10
paginate
int list 页面每页显示文章数量,默认:20
dateFormat
string 日期格式,默认:01-02
rss
int RSS 文章数目,默认:10

tagcloud

FixIt 0.2.17 | 新增

map 标签云配置。

1
2
3
4
5
6
7
[params]
  [params.tagcloud]
    enable = false
    min = 14
    max = 32
    peakCount = 10
    orderby = "name"
enable
bool 是否启用标签云,默认:false
min
int 最小字体大小,单位:px,默认:14
max
int 最大字体大小,单位:px,默认:32
peakCount
int 每个标签的最大文章数,默认:10
orderby
string 标签排序方式,可选值:namecount,默认:name

home

map 主页配置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
[params]
  [params.home]
    paginate = 10
    [params.home.profile]
      enable = false
      gravatarEmail = ""
      avatarURL = ""
      avatarMenu = ""
      title = ""
      subtitle = ""
      typeit = true
      social = true
      disclaimer = ""
    [params.home.posts]
      enable = true
      paginate = 6
rss
int RSS 文章数目,默认:10
profile
map 主页个人信息配置。
  • enable: bool 是否显示个人信息,默认:false
  • gravatarEmail: stringGravatar 邮箱,用于优先在主页显示的头像。
  • avatarURL: string 主页显示头像的 URL。FixIt 0.2.17 | 新增
  • avatarMenu: string 头像菜单链接的 identifier。
  • title: string 主页显示的网站标题(支持 HTML 格式)。
  • subtitle: string 主页显示的网站副标题。
  • typeit: bool 是否为副标题显示打字机动画,默认:true
  • social: bool 是否显示社交账号,默认:true
  • disclaimer: string 免责声明(支持 HTML 格式)。
posts
map 主页文章列表配置。
  • enable: bool 是否显示文章列表,默认:true
  • paginate: int 主页每页显示文章数量,默认:6

social

map 作者的社交信息设置。

你可以参考位于 themes/FixIt/assets/data/social.yaml 的默认数据来配置你的社交链接。

你可以直接配置你的社交 ID 来生成一个默认社交链接和图标:

1
2
[params.social]
  Mastodon = "@xxxx"

生成的社交链接是 https://mastodon.technology/@xxxx

或者你可以通过一个字典来设置更多的选项:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[params.social]
  [params.social.Mastodon]
    # 排列图标时的权重(权重越大,图标的位置越靠后)
    weight = 0
    # 你的社交 ID
    id = "@xxxx"
    # 你的社交链接的前缀
    prefix = "https://mastodon.social/"
    # 当鼠标停留在图标上时的提示内容
    title = "Mastodon"

所有支持的社交链接的默认数据位于 themes/FixIt/assets/data/social.yaml。 你可以参考它来配置你的社交链接。

typeit

map 打字机动画配置。

1
2
3
4
5
6
7
[params]
  [params.typeit]
    speed = 100
    cursorSpeed = 1000
    cursorChar = "|"
    duration = -1
    loop = false
speed
int 打字速度,默认:100
cursorSpeed
int 光标速度,默认:1000
cursorChar
string 光标字符,默认:|
duration
int 动画持续时间,默认:-1
loop
FixIt 0.2.18 | 新增
bool 是否循环播放,默认:false

mermaid

FixIt 0.2.15 | 新增

map Mermaid 配置。

1
2
3
[params]
  [params.mermaid]
    themes = ["default", "dark"]

themes string array(2) Mermaid 主题,详见 Mermaid Themes

pangu

FixIt 0.2.12 | 新增

map PanguJS 配置。

1
2
3
4
[params]
  [params.pangu]
    enable = false
    selector = "article"
enable
bool 是否启用 PanguJS,默认:false
selector
FixIt 0.2.17 | 新增
string 选择器,默认:article

watermark

FixIt 0.2.13 | 更改

map 水印配置,详见 Watermark 文档。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[params]
  [params.watermark]
    enable = false
    content = ""
    opacity = 0.1
    width = 150
    height = 20
    rowSpacing = 60
    colSpacing = 30
    rotate = 15
    fontSize = 0.85
    fontFamily = "inherit"

ibruce

FixIt 0.2.12 | 新增

map 不蒜子计数器配置。

1
2
3
4
[params]
  [params.ibruce]
    enable = false
    enablePost = false
enable
bool 是否启用不蒜子计数器,默认:false
enablePost
bool 是否在文章中启用不蒜子计数器,默认:false

verification

map 网站验证代码,用于 Google/Bing/Yandex/Pinterest/Baidu/360/Sogou。

1
2
3
4
5
6
7
8
9
[params]
  [params.verification]
    google = ""
    bing = ""
    yandex = ""
    pinterest = ""
    baidu = ""
    so = ""
    sogou = ""

seo

map SEO 配置。

1
2
3
4
[params]
  [params.seo]
    image = ""
    thumbnailUrl = ""
image
string 网站默认图片。
thumbnailUrl
string 网站缩略图 URL。

analytics

map 网站分析配置。

1
2
3
4
5
6
7
8
9
[params]
  [params.analytics]
    enable = false
    [params.analytics.google]
      id = ""
      anonymizeIP = true
    [params.analytics.fathom]
      id = ""
      server = ""
enable
bool 是否启用网站分析,默认:false
google
map Google Analytics 配置。
  • id: string Google Analytics ID。
  • anonymizeIP: bool 是否匿名化 IP,默认:true
fathom
map Fathom Analytics 配置。
  • id: string Fathom Analytics ID。
  • server: string Fathom Analytics 服务器地址。

cookieconsent

map Cookie 许可配置。

1
2
3
4
5
6
7
[params]
  [params.cookieconsent]
    enable = true
    [params.cookieconsent.content]
      message = ""
      dismiss = ""
      link = ""
enable
bool 是否启用 Cookie Consent,默认:true
content
map 用于 Cookie 许可横幅的文本字符串。
  • message: string Cookie 许可横幅的消息。
  • dismiss: string Cookie 许可横幅的关闭按钮文本。
  • link: string Cookie 许可横幅的链接文本。

cdn

map CDN 配置。

1
2
[params.cdn]
  data = ""
data
string CDN 数据文件名称,默认不启用。位于 themes/FixIt/assets/data/cdn/ 目录,你可以在你的项目下相同路径存放你自己的数据文件:assets/data/cdn/。可选值:jsdelivr.ymlunpkg.yml 等。

compatibility

map 兼容性设置。

1
2
3
4
[params]
  [params.compatibility]
    polyfill = false
    objectFit = false
polyfill
bool 是否使用 Polyfill.io 来兼容旧式浏览器,默认:false
objectFit
bool 是否使用 object-fit-images 来兼容旧式浏览器,默认:false

githubCorner

FixIt 0.2.14 | 新增

map 在左上角或者右上角显示 GitHub 开源链接。

1
2
3
4
5
6
[params]
  [params.githubCorner]
    enable = false
    permalink = ""
    title = "View source on GitHub"
    position = "right"
enable
bool 是否启用 GitHub 横幅。默认为 false
permalink
string GitHub 仓库的 URL。例如:https://github.com/hugo-fixit/FixIt
title
string GitHub 横幅的标题。
position
string GitHub 横幅的位置。leftright。默认为 right

gravatar

FixIt 0.2.18 | 更改

map Gravatar 配置。

1
2
3
4
5
[params]
  [params.gravatar]
    enable = false
    host = "www.gravatar.com"
    style = ""
enable
bool 是否启用 Gravatar,默认:false
host
string Gravatar 主机,例如:www.gravatar.comcn.gravatar.com 等,默认:www.gravatar.com
style
string Gravatar 样式,例如:mpidenticonmonsteridwavatarretrorobohashblank 等,默认:""

backToTop

FixIt 0.2.16 | 新增

map 返回顶部按钮配置。

1
2
3
4
[params]
  [params.backToTop]
    enable = true
    scrollpercent = false
enable
bool 是否启用返回顶部按钮,默认:true
scrollpercent
bool 是否显示滚动百分比,默认:false

readingProgress

FixIt 0.2.16 | 新增

map 阅读进度条配置。

1
2
3
4
5
6
7
8
9
[params]
  [params.readingProgress]
    enable = false
    start = "left"
    position = "top"
    reversed = false
    light = ""
    dark = ""
    height = "2px"
enable
bool 是否启用阅读进度条,默认:false
start
string 阅读进度条开始位置,可选值:leftright,默认:left
position
string 阅读进度条位置,可选值:topbottom,默认:top
reversed
bool 是否反转阅读进度条,默认:false
light
string 浅色主题颜色,默认:""
dark
string 深色主题颜色,默认:""
height
string 阅读进度条高度,默认:2px

pace

FixIt 0.2.17 | 新增

map 页面加载期间顶部的进度条,详见 Pace.js

1
2
3
4
5
[params]
  [params.pace]
    enable = false
    color = "blue"
    theme = "minimal"
enable
bool 是否启用 Pace.js,默认:false
color
string 进度条颜色,可选值:blackbluegreenorangepinkpurpleredsilverwhiteyellow,默认:blue
theme
string 进度条主题,可选值:barber-shopbig-counterbouncecenter-atomcenter-circlecenter-radarcenter-simplecorner-indicatorfill-leftflashflat-toploading-barmac-osxmaterialminimal,默认:minimal

customFilePath

FixIt 0.2.17 | 新增

string 定义自定义文件路径,并在站点目录 layouts/partials/custom 中创建自定义文件。

1
2
3
4
5
[params]
  [params.customFilePath]
    aside = "custom/aside.html"
    profile = "custom/profile.html"
    footer = "custom/footer.html"

dev

FixIt 0.2.15 | 新增

map 开发者选项。

1
2
3
4
5
6
7
8
[params]
  [params.dev]
    enable = false
    c4u = false
    githubToken = ""
    [params.dev.mDevtools]
      enable = false
      type = "vConsole"
enable
bool 是否启用开发者选项,默认:false
c4u
bool 是否启用检查功能,默认:false
githubToken
string GitHub Token。
mDevtools
map 移动端开发者工具。
  • enable: bool 是否启用移动端开发者工具,默认:false
  • type: string 移动端开发者工具类型,可选值:vConsoleeruda,默认:vConsole

page

map 文章页面配置。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
[params]
  [params.page]
    # FixIt 0.2.18 | 新增 是否启用文章作者头像
    authorAvatar = true
    # FixIt 0.2.0 | 新增 是否在主页隐藏一篇文章
    hiddenFromHomePage = false
    # FixIt 0.2.0 | 新增 是否在搜索结果中隐藏一篇文章
    hiddenFromSearch = false
    # FixIt 0.2.18-lts.5 | 新增 是否在 RSS 中隐藏一篇文章
    hiddenFromRss = false
    # FixIt 0.3.0 | 新增 是否在相关文章中隐藏一篇文章
    hiddenFromRelated = false
    # FixIt 0.2.0 | 新增 是否使用 twemoji
    twemoji = false
    # 是否使用 lightgallery
    # FixIt 0.2.18 | 更改 如果设为 "force",文章中的图片将强制按照画廊形式呈现
    lightgallery = false
    # FixIt 0.2.0 | 新增 是否使用 ruby 扩展语法
    ruby = true
    # FixIt 0.2.0 | 新增 是否使用 fraction 扩展语法
    fraction = true
    # FixIt 0.2.0 | 新增 是否使用 fontawesome 扩展语法
    fontawesome = true
    # 许可协议信息(支持 HTML 格式)
    license = '<a rel="license external nofollow noopener noreferrer" href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a>'
    # 是否显示原始 Markdown 文档内容的链接
    linkToMarkdown = true
    # FixIt 0.3.0 | 新增 是否显示查看文章源码的链接
    linkToSource = true
    # FixIt 0.3.0 | 新增 是否显示编辑文章的链接
    linkToEdit = true
    # FixIt 0.3.0 | 新增 是否显示报告文章问题的链接
    linkToReport = true
    # FixIt 0.2.4 | 新增 是否在 RSS 中显示全文内容
    rssFullText = false
    # FixIt 0.2.13 | 新增 页面样式 ["narrow", "normal", "wide", ...]
    pageStyle = "normal"
    # FixIt 0.2.14 | 新增 FixIt 0.2.18 | 删除 强制使用 Gravatar 作为作者头像
    # gravatarForce = true
    # FixIt 0.2.17 | 更改 开启自动书签支持
    # 如果为 true,则在关闭页面时保存阅读进度
    autoBookmark = false
    # FixIt 0.2.17 | 新增 是否使用 字数统计
    wordCount = true
    # FixIt 0.2.17 | 新增 是否使用 预计阅读
    readingTime = true
    # FixIt 0.2.17 | 新增 文章结束标志
    endFlag = ""
    # FixIt 0.2.18 | 新增 是否开启即时页面
    instantPage = false
    # FixIt 0.3.0 | 新增 是否在侧边栏显示集合列表
    collectionList = false
    # FixIt 0.3.0 | 新增 是否在文章末尾显示集合导航
    collectionNavigation = false

    # FixIt 0.2.15 | 新增 转载配置
    [params.page.repost]
      enable = false
      url = ""
    # FixIt 0.2.0 | 新增 目录配置
    [params.page.toc]
      # 是否使用目录
      enable = true
      # FixIt 0.2.9 | 新增 是否保持使用文章前面的静态目录
      keepStatic = false
      # 是否使侧边目录自动折叠展开
      auto = true
      # FixIt 0.2.13 | 新增 目录位置 ["left", "right"]
      position = "right"
    # FixIt 0.2.13 | 新增 在文章开头显示提示信息,提醒读者文章内容可能过时
    [params.page.expirationReminder]
      enable = false
      # 如果文章最后更新于这天数之前,显示提醒
      reminder = 90
      # 如果文章最后更新于这天数之前,显示警告
      warning = 180
      # 如果文章到期是否关闭评论
      closeComment = false
    # FixIt 0.3.0 | 新增 页面标题配置
    [params.page.heading]
      # 配合 `markup.tableOfContents.ordered` 参数使用
      [params.page.heading.number]
        # 是否启用自动标题编号
        enable = false
        [params.page.heading.number.format]
          h1 = "{title}"
          h2 = "{h2} {title}"
          h3 = "{h2}.{h3} {title}"
          h4 = "{h2}.{h3}.{h4} {title}"
          h5 = "{h2}.{h3}.{h4}.{h5} {title}"
          h6 = "{h2}.{h3}.{h4}.{h5}.{h6} {title}"
    # FixIt 0.2.0 | 新增 代码配置
    [params.page.code]
      # 是否显示代码块的复制按钮
      copy = true
      # FixIt 0.2.13 | 新增 是否显示代码块的编辑按钮
      edit = true
      # 默认展开显示的代码行数
      maxShownLines = 10
    # FixIt 0.2.0 | 更改 KaTeX 数学公式 (https://katex.org)
    [params.page.math]
      enable = true
      # 默认行内定界符是 $ ... $ 和 \( ... \)
      inlineLeftDelimiter = ""
      inlineRightDelimiter = ""
      # 默认块定界符是 $$ ... $$, \[ ... \],  \begin{equation} ... \end{equation} 和一些其它的函数
      blockLeftDelimiter = ""
      blockRightDelimiter = ""
      # KaTeX 插件 copy_tex
      copyTex = true
      # KaTeX 插件 mhchem
      mhchem = true
    # FixIt 0.2.0 | 新增 Mapbox GL JS 配置 (https://docs.mapbox.com/mapbox-gl-js)
    [params.page.mapbox]
      # Mapbox GL JS 的 access token
      accessToken = ""
      # 浅色主题的地图样式
      lightStyle = "mapbox://styles/mapbox/light-v9"
      # 深色主题的地图样式
      darkStyle = "mapbox://styles/mapbox/dark-v9"
      # 是否添加 NavigationControl
      navigation = true
      # 是否添加 GeolocateControl
      geolocate = true
      # 是否添加 ScaleControl
      scale = true
      # 是否添加 FullscreenControl
      fullscreen = true
    # FixIt 0.3.0 | 新增 [试验性功能] 缓存图床图片到本地,详见:https://github.com/hugo-fixit/FixIt/pull/362
    [params.page.cacheRemoteImages]
      enable = false
      # 用本地图片链接替换远程图片链接 (放置在 public/images/remote/)
      replace = false
    # FixIt 0.3.0 | 新增 相关内容配置 (https://gohugo.io/content-management/related/)
    [params.page.related]
      enable = false
      count = 5
    # FixIt 0.2.17 | 新增 赞赏设置
    [params.page.reward]
      enable = false
      animation = false
      # 相对于页脚的位置,可选值:["before", "after"]
      position = "after"
      # comment = "Buy me a coffee"
      # FixIt 0.2.18 | 新增 二维码图片展示模式,可选值:["static", "fixed"],默认:`static`
      mode = "static"
      [params.page.reward.ways]
        # wechatpay = "/images/wechatpay.png"
        # alipay = "/images/alipay.png"
        # paypal = "/images/paypal.png"
        # bitcoin = "/images/bitcoin.png"
    # FixIt 0.2.0 | 更改 文章页面的分享信息设置
    [params.page.share]
      enable = true
      Twitter = true
      Facebook = true
      Linkedin = false
      Whatsapp = true
      Pinterest = false
      Tumblr = false
      HackerNews = false
      Reddit = false
      VK = false
      Buffer = false
      Xing = false
      Line = true
      Instapaper = false
      Pocket = false
      Flipboard = false
      Weibo = true
      Myspace = true
      Blogger = true
      Baidu = false
      Odnoklassniki = false
      Evernote = true
      Skype = false
      Trello = false
      Mix = false
    # FixIt 0.2.15 | 更改 评论系统设置
    [params.page.comment]
      enable = false
      # FixIt 0.2.13 | 新增 Artalk 评论系统设置 (https://artalk.js.org/)
      [params.page.comment.artalk]
        enable = false
        server = "https://yourdomain"
        site = "默认站点"
        placeholder = ""
        noComment = ""
        sendBtn = ""
        editorTravel = true
        flatMode = "auto"
        # FixIt 0.2.17 | 更改 启用 lightgallery 支持
        lightgallery = false
        locale = "" # FixIt 0.2.15 | 新增
        # FixIt 0.2.18 | 新增
        emoticons = ""
        nestMax = 2
        nestSort = "DATE_ASC" # ["DATE_ASC", "DATE_DESC", "VOTE_UP_DESC"]
        vote = true
        voteDown = false
        uaBadge = true
        listSort = true
        imgUpload = true
        preview = true
        versionCheck = true
      # FixIt 0.1.1 | 新增 Disqus 评论系统设置 (https://disqus.com)
      [params.page.comment.disqus]
        enable = false
        # Disqus 的 shortname,用来在文章中启用 Disqus 评论系统
        shortname = ""
      # FixIt 0.1.1 | 新增 Gitalk 评论系统设置 (https://github.com/gitalk/gitalk)
      [params.page.comment.gitalk]
        enable = false
        owner = ""
        repo = ""
        clientId = ""
        clientSecret = ""
      # Valine 评论系统设置 (https://github.com/xCss/Valine)
      [params.page.comment.valine]
        enable = false
        appId = ""
        appKey = ""
        placeholder = ""
        avatar = "mp"
        meta = ""
        requiredFields = ""
        pageSize = 10
        lang = ""
        visitor = true
        recordIP = true
        highlight = true
        enableQQ = false
        serverURLs = ""
        # FixIt 0.2.6 | 新增 emoji 数据文件名称,默认是 "google.yml"
        # ["apple.yml", "google.yml", "facebook.yml", "twitter.yml"]
        # 位于 "themes/FixIt/assets/lib/valine/emoji/" 目录
        # 可以在你的项目下相同路径存放你自己的数据文件:
        # "assets/lib/valine/emoji/"
        emoji = ""
        commentCount = true # FixIt 0.2.13 | 新增
      # FixIt 0.2.16 | 更改 Waline 评论系统设置 (https://waline.js.org)
      [params.page.comment.waline]
        enable = false
        serverURL = ""
        pageview = false # FixIt 0.2.15 | 新增
        emoji = ["//unpkg.com/@waline/emojis@1.1.0/weibo"]
        meta = ["nick", "mail", "link"]
        requiredMeta = []
        login = "enable"
        wordLimit = 0
        pageSize = 10
        imageUploader = false # FixIt 0.2.15 | 新增
        highlighter = false # FixIt 0.2.15 | 新增
        comment = false # FixIt 0.2.15 | 新增
        texRenderer = false # FixIt 0.2.16 | 新增
        search = false # FixIt 0.2.16 | 新增
        recaptchaV3Key = "" # FixIt 0.2.16 | 新增
        reaction = false # FixIt 0.2.18 | 新增
      # Facebook 评论系统设置 (https://developers.facebook.com/docs/plugins/comments)
      [params.page.comment.facebook]
        enable = false
        width = "100%"
        numPosts = 10
        appId = ""
        languageCode = "zh_CN"
      # FixIt 0.2.0 | 新增 Telegram Comments 评论系统设置 (https://comments.app)
      [params.page.comment.telegram]
        enable = false
        siteID = ""
        limit = 5
        height = ""
        color = ""
        colorful = true
        dislikes = false
        outlined = false
      # FixIt 0.2.0 | 新增 Commento 评论系统设置 (https://commento.io)
      [params.page.comment.commento]
        enable = false
      # FixIt 0.2.5 | 新增 Utterances 评论系统设置 (https://utteranc.es)
      [params.page.comment.utterances]
        enable = false
        # owner/repo
        repo = ""
        issueTerm = "pathname"
        label = ""
        lightTheme = "github-light"
        darkTheme = "github-dark"
      # FixIt 0.2.13 | 新增 Twikoo 评论系统设置 (https://twikoo.js.org/)
      [params.page.comment.twikoo]
        enable = false
        envId = ""
        region = ""
        path = ""
        visitor = true
        commentCount = true
        # FixIt 0.2.17 | 更改 启用 lightgallery 支持
        lightgallery = false
        # FixIt 0.2.17 | 新增 启用 Katex 支持
        katex = false
      # FixIt 0.2.14 | 新增 Giscus 评论系统设置
      [params.page.comment.giscus]
        enable = false
        repo = ""
        repoId = ""
        category = ""
        categoryId = ""
        mapping = ""
        strict = "0" # FixIt 0.2.18 | 新增
        term = ""
        reactionsEnabled = "1"
        emitMetadata = "0"
        inputPosition = "bottom" # ["top", "bottom"]
        lightTheme = "light"
        darkTheme = "dark"
        lazyLoad = true
    # FixIt 0.2.7 | 新增 第三方库配置
    [params.page.library]
      [params.page.library.css]
        # someCSS = "some.css"
        # 位于 "assets/"
        # 或者
        # someCSS = "https://cdn.example.com/some.css"
      [params.page.library.js]
        # someJavascript = "some.js"
        # 位于 "assets/"
        # 或者
        # someJavascript = "https://cdn.example.com/some.js"
    # FixIt 0.2.10 | 更改 页面 SEO 配置
    [params.page.seo]
      # 图片 URL
      images = []
      # 出版者信息
      [params.page.seo.publisher]
        name = ""
        logoUrl = ""

解析配置

通过根配置键 markup 配置将标记语言转为 HTML。

本节仅记录FixIt主题的一些 必要配置。有关更多详细信息,请参阅 Configure markup 页面。

1
2
3
4
5
6
[markup]
  [markup.highlight]
    codeFences = true
    lineNos = true
    lineNumbersInTable = true
    noClasses = false

自定义输出格式

Hugo 可以输出多种格式的内容,FixIt 主题利用了这个功能。为了完全配置主题,请将以下选项配置到 hugo.toml 中。

有关输出格式配置的更多详细信息,请参阅 自定义输出格式 页面。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# FixIt 0.2.15 | 更改
[mediaTypes]
  # 用于输出 Markdown 格式文档的设置
  [mediaTypes."text/markdown"]
    suffixes = ["md"]
  # 用于输出 txt 格式文档的设置
  [mediaTypes."text/plain"]
    suffixes = ["txt"]

[outputFormats]
  # 用于输出 Markdown 格式文档的设置
  [outputFormats.MarkDown]
    mediaType = "text/markdown"
    isPlainText = true
    isHTML = false
  # FixIt 0.3.0 | 新增 用于输出 /archives/index.html 文件的设置
  [outputFormats.archives]
    path = "archives"
    baseName = "index"
    mediaType = "text/html"
    isPlainText = false
    isHTML = true
    permalinkable = true
  # FixIt 0.3.0 | 新增 用于输出 /offline/index.html 文件的设置
  [outputFormats.offline]
    path = "offline"
    baseName = "index"
    mediaType = "text/html"
    isPlainText = false
    isHTML = true
    permalinkable = true
  # FixIt 0.3.0 | 新增 用于输出 readme.md 文件的设置
  [outputFormats.README]
    baseName = "readme"
    mediaType = "text/markdown"
    isPlainText = true
    isHTML = false
  # FixIt 0.3.0 | 更改 用于输出 baidu_urls.txt 文件的设置
  [outputFormats.baidu_urls]
    baseName = "baidu_urls"
    mediaType = "text/plain"
    isPlainText = true
    isHTML = false

# 用于 Hugo 输出文档的设置,可选值如下:
# home: ["HTML", "RSS", "JSON", "archives", "offline", "README", "baidu_urls"]
# page: ["HTML", "MarkDown"]
# section: ["HTML", "RSS"]
# taxonomy: ["HTML", "RSS"]
# term: ["HTML", "RSS"]
[outputs]
  home = ["HTML", "RSS", "JSON", "archives", "offline"]
  page = ["HTML", "MarkDown"]
  section = ["HTML", "RSS"]
  taxonomy = ["HTML"]
  term = ["HTML", "RSS"]

Favicon 生成

强烈建议你把你自己的网站图标,browserconfig.xmlsite.webmanifest 文件放在 /static 目录。

  • android-chrome-192x192.png
  • android-chrome-512x512.png
  • apple-touch-icon.png
  • browserconfig.xml
  • favicon-32x32.png
  • favicon-16x16.png
  • favicon.ico
  • mstile-150x150.png
  • safari-pinned-tab.svg

利用 https://realfavicongenerator.net/ 可以很容易地生成这些文件。

完整配置下的预览
完整配置下的预览

相关内容

Buy me a coffee~
Lruihao 支付宝支付宝
Lruihao 微信微信
0%