定制Eureka

2020-10-20
5分钟阅读时长

内容管理中,你已经了解了Eureka的各类内容。接下来我们将介绍Eureka的定制化选项。本文将带领你了解Eureka的配置方式及其选项。

导航栏

你可以简单快捷的定义网页导航栏的内容。在config/_default/menus.toml中,有多个main模块,只需根据示例文件中的内容进行修改即可。例如在导航栏加入archive页只需加入以下内容即可:

[[main]]
  name = "Archive"
  url = "/archive/"
  weight = 40

需要注意的是,导航栏的顺序按weight的大小升序排列。

主页

Eureka的主页默认为两张图片和一句标语构成。你可以简单地自定义图片内容及标语内容。在config/_default/params.toml中,自定义hero模块的内容即可。hero模块中的参数如下所示:

  • slogan(string):主页标语。
  • imgLeft(string):主页左侧图片,设置方式可参考加载图片
  • imgRight(string):主页右侧图片,设置方式可参考加载图片

数学公式

Eureka支持使用KaTeX渲染LaTeX数学公式。如需配置KaTeX,只需对config/_default/params.toml中的[math]进行相关配置即可。

  • handler(string):可选值为katex,留空则不启用该功能。
  • math.katex(object):KaTeX相关配置。具体可选值可参考:Options · KaTeX。由于Eureka使用了KaTeX的自动渲染拓展,因此链接中的displayMode属性将会被忽略。

Eureka也支持对每个界面是否启动数学公式渲染进行单独配置。例如你有以下文件结构的项目:

content/
├── posts
│   ├── post-1.md
│   ├── post-2.md
│   └── ...
│
└── docs
    ├── doc-1
    │   ├── content-1.md
    │   ├── content-2.md
    |   ├── nested-doc
    │   |   ├── nested-content-1.md
    │   |   ├── nested-content-2.md
    |   |   └── _index.md
    │   └── _index.md
    └── ...

你可以在任意一级文件的Front Matter内设置math属性的值,这会影响该页面或该章节下的所有页面。优先级为Page > Section > Site。例如我在nested-doc的Front Matter中设置math = fasle而在nested-content-1.md的Front Matter中设置math = true则会使nested-content-1.md渲染数学公式而nested-doc文件夹中的其他文件不进行渲染。

评论

目前Eureka支持Disqus和Commento两类评论系统。若需激活评论系统,只需修改config/_default/params.toml[comment]相关内容。以Disqus为例,如需激活Disqus,只需将内容按如下方式修改即可:

[comment]
  # Options: disqus and commento.
  platform = "disqus"

  [comment.disqus]
    shortname = "<your_shortname>"

  [comment.commento]
    # If self-hosting, please enter the url (e.g. https://commento.example.com) here. Otherwise leave empty. 
    url = ""

基本配置文件

config/_default/config.toml中定义了部分基本配置,帮助你设置网站的一些基础功能。本章节将不涉及前文已包含的内容。

  • baseURL(string):网站根域名。
  • title(string):网站标题。
  • theme(string):网站使用的主题。
  • paginate(int):每页内容数量。
  • copyright(string):网站版权声明,会出现在网页最下方。
  • enableGitInfo(bool):是否使用git信息。默认为false
  • enableEmoji(bool):是否使用emoji,默认为false
  • summaryLength(int):概要长度,默认为70。
  • defaultContentLanguage(string):默认语言的语言代码。
  • hasCJKLanguage(bool):是否包含中文、日语、韩语内容,默认为false
  • defaultContentLanguageInSubdir(bool):多语言时默认语言是否处在子链接下,例如默认语言为zh时,/将会被重定向至/zh/
  • googleAnalytics(string):Google Analytics代码。从0.2.1开始,Google Analytics只在生产环境中生成。如果你想在开发环境中预览,你需要设置Hugo环境变量为production
  • markup.tableOfContents(object):内容目录渲染方式。
    • startLevel(int):开始渲染目录的标题层级。
    • endLevel(int):结束渲染目录的标题层级。
    • ordered(bool):是否生成有序列表。
  • taxonomies(object):网站中的所有Taxonomies。
  • build(object):构建设置。
    • useResourceCacheWhen(string):使用缓存文件进行渲染,如无特殊情况请保持always

除此之外,Hugo还有一些预定义的基本配置,具体可参考Configure Hugo

参数配置文件

除了基本配置外,你还可以设置一些Eureka提供的属性。本章节将不涉及前文已包含的内容。

  • mainSections(list):列表中的类型将会显示在首页上。
  • description(string):网站的描述。
  • repoURL(string):项目仓库网址。
  • repoEditURL(string):编辑当页内容的网址,如果项目仓库在Github上可为空。
  • dateFormat(string):网站中显示日期的格式,配置应满足Go语言的相应格式
  • colorScheme(string):网站默认颜色模式。可选值为autolightdark。留空为auto
  • siteType(string):网站类型。
  • icon(string):网站图标,设置方式可参考加载图片
  • publisherName(string):发布者姓名。
  • publisherLogo(string):发布者图标,为空则为网站图标。
上一页 内容管理
下一页 多语言模式