[Day10] 聊聊 Config

Config 的用途

Config 内放的是对整个网站的控制项,从一些 Hugo 或是主题的模板中也会看到读取 Config 中的值来做一些操作,比如说 themes/Ananke/layouts/partials/site-header.html 中:

<h1 class="f2 f-subheadline-l fw2 light-silver mb0 lh-title">
  {{ .Title | default .Site.Title }}
</h1>
{{ with .Params.description }}

.Title 的用法可以在这里看到,而 .Site 就是从 Config 拿值的意思,详细用法可参考这份文件

Config 的分层

在预设的情况,根目录下会有一个 config.toml 做为 Hugo 的设定档,如果找不到的话,会依序寻找 config.yamlconfig.json,可以挑选熟悉的格式使用。

另外 Hugo 也支援在不同环境下使用不同 Config 的设计,在 config/ 目录下可以做类似以下的分层:

当执行 hugo --environment staging 时,Hugo 会使用 config/_default 内的设定,并合并 staging 中的设定,且会以 staging 中的为主。

当执行昨天提到的 hugo server 时,预设的环境是 development

更多详细的用法可以参考这份文件

常用参数

title

网站的大标题,一般会放在主页或是 nav bar 上,视主题而定。

baseURL

部落格的 url,可能是 Github 预设的 https://XXX.github.io/ 或是你自定义的域名。

theme

主题名称,昨天的流程中也有修改到这个部分。

hasCJKLanguage

如果有使用中文、日文或韩文的话,建议把这个选项打开,可以让一些字数统计的功能正常运行。

paginate

一页有几篇文章,预设 10。

googleAnalytics

方便整合 Google Analytics 的参数,这个部分之後会详细介绍。

enableEmoji

开启 emoji 的识别,预设为 false。

.Site.Params

另外也可以使用类似以下的语法(以 toml 为例):

[params]
    featured_image = "/images/banner.jpg"

这样在别的地方就可以用 .Site.Params.featured_image 的方式来取得这个值。

总结

今天简单介绍的 Hugo 的 Config,其实可以使用的值不只上面提到的这些,要是对更详细的内容有兴趣,可以到官方文件内查看。

Reference

  1. Hugo Document

<<:  Day 25 优化你的广告帐户

>>:  CSS display:Grid

【左京淳的JAVA学习笔记】第六章 继承与多型

在创造各式各样的物件时,有很多时候会发现怎麽重复的代码很多。 为了解决这个问题,可以采用继承与介面的...

Day 12 - 密码攻击的因应

出於书本 Chapter 7. Passwords 因应对策 一开始书上举了最简单的例子便是「建议使...

例行监督表单撰写实务

上一篇内部稽核讲到 5. 监督作业:进行下列监督作业,以确定本制度之有效性、及时性及确实性: (1)...

挑战 30 日心得纪录

从没想过会报名铁人挑战赛,如果不是团队提案想做一款 App 可能一直找不到动力快速推动自己跨领域学习...

Day-19 This

this 可说是 JavaScript中最复杂的概念,它是一个内部物件,代表函式(function)...