网站配置
在网站配置文件中声明的用于控制主题预置渲染逻辑的配置项,整体是个多层嵌套的对象,在本文档中的表现形式为:
- 一级属性会作为三级标题,然后紧接着是对其的简单说明;
- 二级属性列在表格中,若需要更为详细的解释,则会另起四级标题;
- 三级及以下层级的属性会以 TypeScript 的类型定义的方式呈现。
由于不同静态网站生成器所支持功能之间的差异性,为适配本身不支持或支持得不完善的功能的配置项,会在相应的网站配置文件中挂在 ksio
这个「命名空间」下:
即便如此,并非所有配置项都要挂在 ksio
下,要视情况而定。另外,上面说的「一级属性」等是不包含 ksio
这一层的,即从 ksio
的下一层开始算起。
为方便查找,以下内容按字母顺序排列——
模板
当配置项「值类型」有 Link
字样的,代表 Link
是一个描述链接信息的对象:
brand
品牌相关配置,主要控制页头左上角的链接与文本。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
color | string | - | 品牌主题色,详见下方 |
icon | string | 'ksio/favicon.ico' | 品牌图标,详见下方 |
parent | Link | - | 当前网站的父品牌,指定后会在当前网站品牌的左边显示 |
text | string | 网站标题 | 当前网站品牌所要显示的文本,不指定则显示网站标题 |
color
设置之后,会在 <head>
标签内生成 <meta name="theme-color" content="指定主题色">
。
icon
除了会通过 <link rel="icon" href="指定图标">
显示在网页浏览器标签中以外,还会用于 SEO 等其他信息中。
copyright
网站版权声明。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
fragments | string | - | 显示在版权声明右侧的额外信息,详见下方 |
owner | Link | - | 版权所有人,默认使用网站标题与地址 |
period | CopyrightPeriod | - | 有效期间,详见下方 |
provider | boolean | true | 是否显示主题与提供者声明 |
fragments
值是可以包含 HTML 的字符串,最好每段内容都包含在 <p>
标签中,相邻的 <p>
标签之间会显示一个垂直的分隔符。
若 provider
没设为 false
,整个内容会显示在主题与提供者声明右侧。
period
footer
页面底部。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
links | Link[] | - | 页面底部链接 |
partial | string | 'ksio/partials/footer.html' | 预置布局模板中页脚部分,可指定自定义的替换主题预置的 |
header
页面头部。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
navbar | HeaderNavBar | - | 页头导航栏,详见下方 |
navs | Link[] | - | 页面头部导航 |
partial | string | 'ksio/partials/header.html' | 预置布局模板中页头部分,可指定自定义的替换主题预置的 |
navbar
master
站长信息。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
name | string | - | 站长名称,详见下方 |
name
在使用 Jekyll 时,一般会在网站配置文件中定义一个 author
,因此在 Jekyll 中使用本主题时若没指定 name
则会使用 site.author.name
。
meta
网站信息。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
url | string | - | 网站发布后的访问链接 |
seo
SEO 相关配置。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
suffix | boolean | true | 是否在 <title> 中将站名作为后缀拼接 |
social
社交相关功能的开关与配置。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
comment | SocialComment | - | 评论功能,详见下方 |
feed | SocialFeed | - | feed 订阅功能,详见下方 |
share | boolean | true | 是否启用将页面分享到其他 SNS 的按钮 |
comment
feed
analytics
数据统计相关配置,待补充。
插件
为兼容不同静态网站生成器之间的差异性或增强功能而编写的插件的配置。
defaults
设置 Front Matter 的默认值。模拟 Jekyll 的 Front Matter Defaults,仅在 Hexo 中有效。
属性名 | 值类型/可选值 | 默认值 | 说明 |
---|---|---|---|
layout | Record<string, FrontMatterDefaults> | - | 布局的默认值 |
page | FrontMatterDefaults[] | - | 页面的默认值 |
其中,FrontMatterDefaults
的定义为:
在生效时,页面的默认值会与其对应的布局的默认值相合并或覆盖;page
中相同匹配范围的页面,后来者的默认值会与先前的相合并或覆盖。
若想为 source/_posts
中的文件设置默认值,需将 scope.type
的值设为 posts
。