theme-config.md 31.5 KB
Newer Older
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
1 2
# 主题配置

3
::: tip 前言
4

5
- 修改配置文件、安装新的依赖等,都需要重启 hexo 服务器。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
6
- 没有特别说明,配置项默认从 `v1.0.0` 版本开始支持。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
7
- 稳定的配置使用 <Badge text="Stable"/> 标明,表示基本不会变动。不稳定的配置使用 <Badge text="Beta" type="warn"/> 标明,表示未来可能会变动甚至删除。目前还不支持的配置使用 <Badge text="Not Support" type="error"/> 标明。被废弃的配置使用 <Badge text="Deprecated" type="error"/> 标明。最早开始支持的版本号使用 <Badge text="v x.x.x"/> 标明。与主题无关的配置项使用 <Badge text="Disrelated" type="warning"/> 标明。
8
  :::
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
9 10 11 12 13

## 配置文件

首先,你需要分清下面这两个配置文件的作用:

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
14
- Hexo 根目录下的 `_config.yml`。这是站点配置文件,里面的配置作用于整个网站。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
15
- Stun 根目录下的 `_config.yml`。这是主题配置文件,里面的配置只对当前主题生效。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
16

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
17
## 平滑升级 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
18

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
19
更新 Hexo 主题时,一般都会有这样的经历:先将主题目录下的 `_config.yml` 文件备份,更新完主题后,再将备份的数据复制粘贴还原回去。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
20

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
21 22 23
这个过程繁琐又浪费时间,因此我们需要一种友好的更新方式。如果你也经历着这样的痛苦,那么不妨尝试 Hexo 3.0 新增的功能 -- [数据文件](https://hexo.io/zh-cn/docs/data-files)

Stun 主题利用该功能实现了平滑升级的特性,使用步骤如下:将主题目录下的 `_config.yml` 文件复制到博客根目录下的 `/source/_data/` 中,并重命名为主题名称。例如使用 `stun` 主题,那么就叫做 `stun.yml` 。如果 `source` 目录下没有 `_data` 文件夹请自行创建。
24

25 26
这两个文件的关系为 `stun.yml` 覆盖 `_config.yml`,也就是说,想要修改配置时,只需要修改 `stun.yml` 里的即可(修改 `_config.yml` 里的不会生效)。这样就实现了平滑升级,更新时 `_config.yml` (可能)会更新,而你的配置数据保留在 `stun.yml` 中。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
27
::: warning 注意 !!!
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
28 29 30
**主题更新后,如果主题目录下的 `_config.yml` 文件里出现了新的选项,那么你必须从该文件中将它们复制到 `/source/_data/stun.yml` 中,并设置它们的值为你想要的选项。**

如果你使用了平滑升级这一特性,那么 `/themes/stun/_config.yml``/source/_data/stun.yml` 这两个文件里的选项没有同步,是更新主题后,启动报错的最主要的原因!
31
:::
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
32

33
## 国际化(i18n)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
34

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
35
修改站点配置文件(不是主题配置文件)`_config.yml`
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
36

37
```yaml
38
language: zh-CN # 可选值 zh-CN 或 en-US
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
39 40
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
41
语言文件在主题文件夹的 languages 目录下。Stun 主题默认有 `zh-CN.yml``en.yml` 两种语言文件,如果需要支持其他语言,请自行编写语言文件。语言文件的命名请参考:[https://github.com/theme-next/hexo-theme-next/tree/master/languages](https://github.com/theme-next/hexo-theme-next/tree/master/languages)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
42

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
43
## 顶部菜单栏 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
44

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
45
网站顶部菜单栏默认有 `/``/archives` 两个路径,它们分别对应于网站首页和归档页。如果你想添加:`categories``tags``about` 等页面,你需要进行以下操作:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
46

47 48
- 添加路径

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
49
修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
50

51
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
52 53
menu:
  home: /
54 55 56 57 58 59
  archives: /archives/
  categories: /categories/
  tags: /tags/
  about: /about/
```

60
- 添加图标
61

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
62
修改主题配置文件:
63

64
```yaml
65 66 67 68 69 70
menu:
  home: / || home
  archives: /archives/ || folder-open
  categories: /categories/ || th
  tags: /tags/ || tags
  about: /about/ || user
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
71
  # xxx: 路径 || 图标名称
72 73 74 75 76 77
```

在路径后面添加 `||` 分隔符,然后添加你想要显示的图标名称。图标名称在这里获取:[https://fontawesome.com/v4.7.0/icons/](https://fontawesome.com/v4.7.0/icons/)

> 如果只添加路径,没有添加图标名称,会使用默认图标进行显示。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
78
你可以通过修改 `menu_settings` <Badge text="Stable"/> 配置项来控制菜单项的图标或文字是否显示:
79

80
```yaml
81
menu_settings:
82 83 84 85
  # 是否只显示图标
  icon_only: false
  # 是否只显示文字
  text_only: false
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
86 87 88 89
```

- 新建页面

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
90
在 Hexo 根目录下执行命令:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
91

92
```bash
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
93
$ hexo new page xxx # xxx 表示页面名称,需要和对应的路径名称保持一致
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
94 95
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
96
执行这条命令后,会在以下目录生成文件:`source/xxx/index.md`,然后重启 Hexo 服务器即可。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
97

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
98
## 自定义页面 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
99

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
100
如果你想在网站顶部菜单栏中添加自定义页面(除**分类页****标签页****关于页**以外的页面),请进行以下操作:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
101

102 103
- 添加路径
- 添加图标
104
- 执行命令,新建页面
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
105

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
106
这三步的操作步骤同[设置顶部菜单栏](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/theme-config.html#%E9%A1%B6%E9%83%A8%E8%8F%9C%E5%8D%95%E6%A0%8F)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
107

108
- 国际化设置
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
109

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
110
找到 `languages` 目录下的语言文件进行修改。例如,自定义页面名称为 `read`,修改如下:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
111

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
112
`zh-CN.yml`
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
113

114
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
115 116 117 118
nav:
  read: 阅读
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
119
`en.yml`
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
120

121
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
122 123 124 125
nav:
  read: Read
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
126
这样就完成了自定义页面的添加。重启 Hexo 服务器即可看到效果。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
127

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
128
## Front-matter
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
129

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
130
`Front-matter` 在 Hexo 主题中,占据了极其重要的地位。如果你还不了解 `Front-matter`,可以查看这里:[https://hexo.io/zh-cn/docs/front-matter](https://hexo.io/zh-cn/docs/front-matter)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
131

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
132
下面是 Hexo 中默认提供的几种 `Front-matter` 属性。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
133

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
134 135 136
- `title` <Badge text="Stable"/> - 标题
- `date` <Badge text="Stable"/> - 文件建立日期
- `updated` <Badge text="Stable"/> - 文件更新日期
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
137 138 139

例如:

140
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
141 142 143 144 145 146 147 148 149
title: Hello Stun
date: 2019-5-15 22:54:49
updated: 2019-5-16 10:23:46
```

效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190722105740.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
150 151 152
::: tip
Hexo 会帮你记录文件的更新日期,所以一般不需要手动指定 `updated` 属性。并且当你使用 `hexo new xxx` 指令生成文件时,Hexo 会帮你添加好 `title``date` 属性。因此这三个属性一般不需要手动设置。
:::
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
153

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
154
- `comments` <Badge text="Stable"/> - 是否开启评论功能
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
155

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
156
在 Stun 主题中,如果你启用了某个评论系统,默认是对所有通过 markdown 文件生成的页面(除首页,归档页,单个分类页,单个标签页以外的所有页面)生效。因此,你可以使用该属性单独设置某个页面 / 文章是否启用评论。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
157

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
158
- `permalink` <Badge text="Stable"/> - 覆盖文章网址
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
159

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
160
使用该属性可以为某篇文章单独指定一个网址。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
161

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
162
- `categories` <Badge text="Stable"/> - 设置文章分类
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
163 164 165

你可以同时设置几个同级分类,例如:

166
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
167
categories:
168 169 170
  - foo
  - bar
  - baz
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
171 172 173 174
```

也可以设置层级分类,例如:

175
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
176
categories:
177
  - [foo, bar, baz]
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
178 179
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
180
- `tags` <Badge text="Stable"/> - 设置文章标签
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
181

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
182
标签**只能设置为同级的**。也就是说,如果你将标签设置为:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
183

184
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
185
tags:
186
  - [foo, bar, baz]
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
187 188 189 190
```

那么它会被解析为 `foo,bar,baz`,也就是一个标签。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
191
- `layout` <Badge text="Not Support" type="error"/> - 布局
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
192

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
193 194
> Stun 主题目前暂时还不支持,最近的版本中考虑进行支持。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
195
还有几种 `Front-matter` 属性在 Hexo 文档中并没有出现(也许是 Hexo 的文档没有更新吧),但在 Hexo 官方提供的主题开发测试文件中出现。按照测试文件的要求,一个合格的 Hexo 主题都应该支持它们。这些属性如下:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
196

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
197
- `link` <Badge text="Stable"/> <Badge text="v1.1.3"/> - 链接
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
198

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
199
如果指定该属性,当点击该文章标题时,应该在新窗口或新的标签页中,打开所指定的链接地址。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
200

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
201
- `photos` <Badge text="Stable"/> <Badge text="v1.1.4"/> - 图片
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
202

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
203
用于指定一些图片,这些图片会显示在文章中,Stun 主题将其显示在文章最顶部。使用如下:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
204

205
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
206
photos:
207 208 209
  - http://xxxxx1.jpg
  - http://xxxxx2.jpg
  - http://xxxxx3.jpg
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
210
```
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
211

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
212 213 214 215
默认情况下,这些图片会按照文档流的方式显示,效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190724170139.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
216
为了优化这些图片的显示效果,Stun 主题提供了**瀑布流布局** <Badge text="Stable"/> <Badge text="v1.1.4"/>**只对文章中通过 `Front-matter` 的 `photos` 属性指定的图片起作用**),修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
217

218
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
gallery_waterfall:
  # 是否启用
  enable: false
  # 瀑布流中每一列的宽度
  col_width: 220px
  # 图片之间的水平间隙
  gap_x: 10px
  # 图片之间的垂直间隙
  gap_y: 10px
```

效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190724170138.png)

::: tip
235

236
- 启用瀑布流效果后,还可以再启用 [fancybox 效果](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/assist.html#fancybox)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
237
- 通常利用 `photos` 这个属性,来建立一个**相册页面****专门展示图片的文章**
238
  :::
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
239

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
240 241
---

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
242
下面是 Stun 主题中,特有的几种 `Front-matter` 属性。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
243

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
244 245
> 这些属性在后面的文档中会有详细说明,这里可以跳过。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
246
- `top_image: https://xxxx.jpg` <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
247

248
用于设置文章顶部的大图。详情:[指定顶部图](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/theme-config.html#指定顶部图)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
249

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
250
- `toc_max_depth: 6` <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
251

252
用于设置文章中,解析标题生成目录的最大深度。取值 `1 ~ 6`。例如:`toc_max_depth: 3`,只会解析文中的 `h1`, `h2`, `h3` 来生成目录。详情:[文章目录](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/theme-config.html#文章目录)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
253

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
254
- `math: true` <Badge text="Stable"/> <Badge text="v1.1.2"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
255

256 257
是否需要解析数学公式。详情:[数学公式](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/third-part.html#数学公式)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
258
- `toc: true` <Badge text="Stable"/> <Badge text="v1.2.0"/>
259 260 261

文章是否启用目录。会覆盖主题配置文件中的全局设置。详情:[文章目录](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/theme-config.html#%E6%96%87%E7%AB%A0%E7%9B%AE%E5%BD%95)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
262
- `reward: true` <Badge text="Stable"/> <Badge text="v1.2.0"/>
263 264 265

文章是否启用打赏功能。会覆盖主题配置文件中的全局设置。详情:[赞赏码](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/theme-config.html#%E8%B5%9E%E8%B5%8F%E7%A0%81)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
266
- `copyright: true` <Badge text="Stable"/> <Badge text="v1.2.0"/>
267 268

文章是否启用版权信息。会覆盖主题配置文件中的全局设置。详情:[知识共享许可协议(cc)](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/theme-config.html#%E7%9F%A5%E8%AF%86%E5%85%B1%E4%BA%AB%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE%EF%BC%88cc%EF%BC%89)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
269 270 271

---

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
272
下面是安装某些插件后,可以设置的几种 `Front-matter` 属性。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
273

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
274 275
> 这些属性在后面的文档中会有详细说明,这里可以跳过。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
276
- `top: true` <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
277

278
文章是否置顶。详情:[文章置顶](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/theme-config.html#文章置顶)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
279

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
280
- `no-emoji: true` <Badge text="Disrelated" type="warning"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
281

282
是否解析文章中的 emoji 代码。详情:[添加-emoji-支持](https://liuyib.github.io/hexo-theme-stun/zh-CN/advanced/third-part.html#%E6%B7%BB%E5%8A%A0-emoji-%E6%94%AF%E6%8C%81)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
283

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
284
## Favicon <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
285

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
286
设置网站图标(favicon),修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
287

288
```yaml
289
favicon:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
290 291 292 293 294
  small: /images/icons/favicon-16x16.png
  medium: /images/icons/favicon-32x32.png
  # apple_touch_icon: /images/icons/apple-touch-icon.png
  # safari_pinned_tab: /images/icons/logo-stun.svg
  # msapplication: /images/icons/favicon-144x144.png
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
295 296
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
297
## 网站顶部栏信息 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
298

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
299
修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
300

301
```yaml
302 303 304
header:
  # 网站顶部的高度(设置为百分数,表示所占屏幕高度的百分比。支持所有 CSS 长度单位)
  height: 80%
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
305
  # 顶部导航栏的高度(支持所有 CSS 长度单位)
306 307 308
  nav_height: 50px
  # 顶部背景图片
  bg_image:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
309
    # 是否启用
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
310
    enable: false
311
    # 填写图片路径或链接
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
312
    url: https://xxxxx.png
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
313 314
  # 顶部背景图的遮罩效果
  mask:
315
    enable: false
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
316 317
    # 透明度(取值:0 ~ 1)
    opacity: 0.5
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
318 319
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
320
::: warning 注意
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
321
其中 `mask` 选项,即遮罩效果,从 `v1.1.1` 版本开始支持。`blur_effect` 选项,即模糊滤镜效果,从 `v1.1.1` 版本开始弃用。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
322
:::
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
323

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
324
## 指定顶部图 <Badge text="Stable"/>
325

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
326
如果想要为某个页面或某篇文章单独指定顶部图,你只需要在页面或文章 markdown 源文件的 [Front-matter](https://hexo.io/zh-cn/docs/front-matter) 中,添加 `top_image` 项,然后填入的图片 url 或路径即可。例如:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
327

328
```yaml
329 330 331
---
title: Hello Stun
date: 2019-05-15 22:54:49
332
top_image: https://xxxxx.jpg
333
---
334

335 336
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
337
## 知识共享许可协议(cc) <Badge text="Stable"/>
338

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
339
修改主题配置文件:
340

341
```yaml
342
creative_commons:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
343
  # 是否启用
344 345
  enable: true
  # 可选值: BY | BY-SA | BY-ND | BY-NC | BY-NC-SA | BY-NC-ND
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
346
  # 详情请访问: https://creativecommons.org/share-your-work/licensing-types-examples/
347
  license: BY-NC-SA
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
348
  # 是否在侧边栏中显示
349
  sidebar: true
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
350
  # 是否在文章底部显示
351
  post: true
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
352
  # 设置许可协议的显示语言,默认值:en(当用户查看许可协议时,会以你设置的语言进行显示)
353
  language:
354 355
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
356 357 358 359
效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190619210339.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
360
## 返回顶部 <Badge text="Beta" type="warn"/>
361

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
362
修改主题配置文件:
363

364
```yaml
365
back2top:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
366
  # 是否启用
367 368 369
  enable: true
  icon:
    # 建议使用名为 `rocket` 的图标
370
    # 图标名称在这里查找:https://fontawesome.com/v4.7.0/icons/
371 372 373
    name: rocket
    # 火箭发射动画
    animation: true
374
    # 图标的旋转角度(角度的单位是:deg)
375
    rotate: -45deg
376
    # 请使用引号包裹颜色值(支持所有 CSS 颜色单位)
377 378
    color: '#49b1f5'
    hover_color: '#fc6423'
379 380
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
381
## 网站底部栏信息 <Badge text="Stable"/>
382

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
383
修改主题配置文件:
384

385
```yaml
386 387 388
footer:
  # 顶部背景图
  bg_image:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
389
    # 是否启用
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
390
    enable: false
391
    # 填写图片路径或链接
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
392
    url: https://xxxxx.png
393 394
  # 版权信息
  copyright:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
395
    # 是否启用
396 397
    enable: true
    # 显示的文字信息,例如:xxx All Rights Reserved.
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
398
    # 如果不设置,将显示 hexo 配置文件中的 author 属性的内容
399
    text:
400
    # 开始时间(如果不设置,将显示最新的年份)
401
    since:
402
    # 结束时间(如果不设置,将显示最新的年份)
403
    end:
404 405
  # 时间和文字信息之间的图标
  icon:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
406
    # 是否启用
407 408
    enable: true
    # 建议使用名为 `heart` 的图标
409
    # 图标名称在这里查找:https://fontawesome.com/v4.7.0/icons/
410 411 412 413
    name: heart
    # 心跳动画
    animation: true
    # 请使用引号包裹颜色值(支持所有 CSS 颜色单位)
414
    color: '#ff0000'
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
415
  # Hexo 链接(Powered by Hexo)
416
  powered:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
417
    # 是否启用
418
    enable: true
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
419
    # 显示版本号(例如:vX.X.X)
420
    version: true
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
421
  # 主题链接(Theme - stun)
422
  theme:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
423
    # 是否启用
424
    enable: true
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
425
    # 显示版本号(例如:vX.X.X)
426
    version: true
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
427
  # 备案信息(只有中国开发者会用到)详情: http://www.miitbeian.gov.cn/
428
  beian:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
429
    # 是否启用
430 431
    enable: false
    # 备案 XXXXXXXX 号
432
    icp:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
433
  # 任何自定义文本,支持 HTML(例如:托管于 <a href="https://pages.github.com/" rel="noopener" target="_blank">Github Pages</a>
434
  custom:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
435
    # 是否启用
436
    enable: false
437
    text:
438 439
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
440 441
效果如下:

442
![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190623192514.png)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
443

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
444
## 侧边栏设置 <Badge text="Beta" type="warn"/>
445

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
446
修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
447

448
```yaml
449
sidebar:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
450
  # 是否启用
451 452
  enable: true
  # 侧边栏位置,可选值有:left 或 right
453
  position: right
454 455 456 457
  # 侧边栏距离顶部的距离(只支持 px 单位)
  offsetTop: 20px
  # 是否显示水平分割线
  horizon_line: true
458 459
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
460 461 462 463 464
::: danger <Badge text="Deprecated" type="error"/>
该配置项的 `width` 属性在 `v1.2.0` 版本中移除。
:::

## 侧边栏作者信息 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
465

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
466
修改主题配置文件:
467

468
```yaml
469
author:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
470
  # 是否启用
471 472 473 474
  enable: true
  # 侧边栏头像
  avatar:
    # 填写图片路径或链接
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
475
    url: https://xxxxx.png
476 477 478 479 480
    # 是否显示为圆形
    rounded: true
    # 头像透明度(取值:0 ~ 1)
    opacity: 1
    # 鼠标 hover 动画,可选值:trun 或 shake
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
481 482
    animation: trun
  # 格言(可以是任意一句想写的话)
483
  motto: hello world
484 485
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
486
## 社交链接 <Badge text="Stable"/>
487

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
488 489
修改主题配置文件:

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
490
> 如果不想启用某个社交链接,直接注释掉即可。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
491

492
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
493
# `||` 分隔符前面表示社交链接的链接或信息,后面表示社交链接图标。
494 495
# 图标的名称在这里查找:https://fontawesome.com/v4.7.0/icons/
# 如果你找不到想要的图标,可以考虑用文字来代替图标显示。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
496
# 通过添加 `origin:` 前缀即可显示文字。例如:`origin:知` 会以 `知` 代替图标显示。
497 498 499 500 501 502 503 504 505 506 507
social:
  github: https://github.com/ || github
  google: https://plus.google.com/ || google
  twitter: https://twitter.com/ || twitter
  youtube: https://youtube.com/ || youtube
  segmentfault: https://segmentfault.com/ || origin:sf
  zhihu: https://www.zhihu.com/ || origin:知
  weibo: https://weibo.com/ || weibo
  wechat: yournumber || weixin
  telegram: yournumber || telegram
  qq: yournumber || qq
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
508
  # 你可以自行添加这里没有的社交链接,格式如下:
509 510
  # xxx: xxx || (origin:)xxx

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
511
# 社交链接的一些设置
512
social_setting:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
513
  # 是否启用
514
  enable: true
515
  # 是否只显示图标
516 517
  icon_only: true
```
518

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
519 520 521 522
::: danger <Badge text="Deprecated" type="error"/>
其中,配置项 `social_setting` 的 `text_align` 属性在 `v1.2.0` 版本中移除。
:::

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
523
当你添加一个默认没有的社交链接时,你需要进行国际化设置。这里以添加链接 `掘金` 为例,步骤如下:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
524 525 526

1. 修改主题配置文件

527
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
528 529 530 531
social:
  juejin: https://juejin.im/timeline || origin:掘
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
532 533
> 由于 fontawesome 中找不到掘金的 logo,所以这里使用 `掘` 字来代替显示。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
534 535 536
2. 国际化

修改 `themes/stun/languages` 目录下的文件。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
537 538 539

`zh-CN`:

540
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
541 542 543 544 545 546
social:
  juejin: 掘金
```

`en`:

547
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
548 549 550 551 552 553 554 555
social:
  juejin: juejin
```

效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190717165333.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
556
## 文章目录 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
557

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
558
修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
559

560
```yaml
561
toc:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
562
  # 是否启用
563
  enable: true
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
564
  # 显示列表序号
565
  number: true
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
566
  # 文本溢出是否换行
567
  wrap: true
568 569
  # 是否始终展开所有文章目录。true:始终展开,false:当文章中对应的标题到达顶部时自动展开。
  expand_all: false
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
570
  # 生成目录时,解析 h 标签的最大深度。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
571
  # 你可以在文章的 markdown 源文件的 Front-matter 中,通过添加 `toc_max_depth` 属性,
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
572
  #   来指定某篇文章生成目录时,解析 h 标签的最大深度。
573
  max_depth: 6
574
```
575

576
其中 `expand_all` <Badge text="v1.0.2"/>。可以在文章的 markdown 源文件中的 `Front-matter` 里,指定 `toc: true / false` 来设置某篇文章是否启用目录。
577

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
578
## 订阅设置 <Badge text="Stable"/>
579

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
580
设置邮件订阅和 RSS 订阅,修改主题配置文件:
581

582
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
583
feed:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
584
  # 是否启用
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
585 586
  enable: false
  # 邮件订阅地址 (例如:http://eepurl.com/guAE6j).
587
  email:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
588
  # RSS 订阅地址 (例如:/atom.xml)
589
  rss:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
590
```
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
591

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
592
开启 RSS 订阅之前,你需要安装 hexo 插件:[hexo-generator-feed](https://github.com/hexojs/hexo-generator-feed)。然后在站点配置文件 `_config.yml` 中添加配置项(关于各个配置项的具体含义,请自行查看插件的文档):
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
593

594
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
595 596
feed:
  type: atom
597
  # 这是 RSS 订阅的地址(可以随意设置,和上面 rss 配置项对应)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
598 599 600 601 602 603 604 605 606
  path: atom.xml
  limit: 20
  hub:
  content:
  content_limit: 140
  content_limit_delim: ' '
  order_by: -date
  icon: icon.png
```
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
607

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
608
配置完成之后,访问你设置的订阅地址,如:`https://yoursite.com/atom.xml`,即可看到 RSS 订阅信息。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
609

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
610
## 文章阅读进度条 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
611

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
612
修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
613

614
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
615
reading_progress:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
616
  # 是否启用
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
617
  enable: true
618
  # 请使用引号包裹颜色值(支持所有 CSS 颜色单位)
619
  color: '#fc6423'
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
620 621
  # 进度条高度(支持所有 CSS 长度单位)
  height: 1px
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
622 623
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
624
侧边栏所有效果如下:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
625

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
626 627
![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190619211446.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
628
## 文章顶部信息 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
629

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
630
修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
631

632
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
633 634 635 636 637
post_meta:
  # 是否只显示图标
  icon_only: false
  # 文章创建时间
  created:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
638
    # 是否启用
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
639
    enable: true
640
    # 图标名称在这里查找:https://fontawesome.com/v4.7.0/icons/
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
641 642 643
    icon: calendar-o
  # 文章更新时间
  updated:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
644
    # 是否启用
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
645
    enable: true
646
    # 图标名称在这里查找
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
647 648
    icon: calendar-check-o
  # 文章预计的阅读时间
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
649
  # 启用这个功能之前,你首先需要在 Hexo 根目录安装依赖:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
650 651
  # `npm install hexo-wordcount --save`,然后重启 hexo 服务器。
  reading_time:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
652
    # 是否启用
653
    enable: false
654
    # 图标名称在这里查找
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
655 656 657 658 659 660 661 662
    icon: clock-o
    # 设置文章的阅读速度(阅读时间会根据这个设置来计算)
    speed:
      # 中文的阅读速度
      zh: 200
      # 英文的阅读速度
      en: 80
  # 文章字数统计
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
663
  # 启用这个功能之前,你首先需要在 Hexo 根目录安装依赖:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
664 665
  # `npm install hexo-wordcount --save`,然后重启 hexo 服务器。
  word_count:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
666
    # 是否启用
667
    enable: false
668
    # 图标名称在这里查找
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
669
    icon: file-word-o
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
670 671
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
672
效果如下:![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190619210334.png)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
673

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
674
## 文章列表分页 <Badge text="Stable"/> <Badge text="v1.0.3"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
675 676 677 678 679

::: tip
该功能从 `v1.0.1` 版本开始支持,在 `v1.0.3` 版本中对配置项进行了更改。
:::

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
680
如果你想设置首页 或 归档页的文章列表是否分页,可以修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
681

682
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
683 684 685 686 687 688 689 690 691
post_list:
  # 是否分页
  paginate:
    # 首页的文章列表是否分页
    home: true
    # 归档页面的文章列表是否分页
    archives: false
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
692 693
默认网站首页的文章列表开启分页,归档页面的文章列表不开启分页。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
694 695 696 697
分页效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190713173927.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
698
## 文章列表封面图片 <Badge text="Stable"/> <Badge text="v1.1.2"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
699

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
700 701 702 703 704
::: tip
该功能从 `v1.0.3` 版本开始支持,在 `v1.1.2` 版本中对配置项进行了更改。
:::

如果你为一篇文章单独设置了顶部图,并且想使用这个顶部图作为文章列表的封面图片来显示,可以修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
705

706
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
707
post_list:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
708
  # 文章列表里的文章的封面图片
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
709
  cover_image:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
710
    home: false
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
711 712
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
713 714 715 716
封面图片效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190713173929.jpg)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
717
## 文章标签 <Badge text="Stable"/> <Badge text="v1.0.3"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
718 719 720 721 722

::: tip
该功能从 `v1.0.0-beta.0` 版本开始支持,在 `v1.0.3` 版本中对配置项进行了更改。
:::

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
723
在文章末尾显示文章的所有标签,修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
724

725
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
726 727 728 729 730
post_widget:
  # 是否在文章末尾显示文章标签
  tags: true
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
731
效果如下:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
732 733

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190713173926.png)
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
734

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
735
## 文章结束提示信息 <Badge text="Stable"/> <Badge text="v1.0.3"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
736 737 738 739 740

::: tip
该功能从 `v1.0.0-beta.1` 版本开始支持,在 `v1.0.3` 版本中对配置项进行了更改。
:::

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
741
在文章末尾自动添加文章结束的提示信息,修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
742

743
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
744 745 746 747 748 749 750 751 752 753 754
post_widget:
  # 在文章底部显示 “本文结束” 的提示信息
  end_text:
    # 是否启用
    enable: true
    # 是否在提示信息之前显示水平分割线
    horizon_line: true
```

效果如下:![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190619210335.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
755
## 文章摘要 <Badge text="Stable"/>
756 757 758

如果想要保留文章摘要,需要**手动**在文章的 markdown 源文件中添加 `<!-- more -->` 标记。标记之前的部分都会被保留为文章摘要,显示在文章列表中。

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
759
如果想要自动保留文章摘要,可以通过修改主题配置文件:
760

761
```yaml
762
auto_excerpt:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
763
  # 是否启用
764 765 766 767 768
  enable: false
  # 自动保留的字数
  length: 150
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
769
> 由于自动保留摘要的效果并不理想,所以这里不建议开启。
770

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
771
## 文章置顶 <Badge text="Stable"/>
772 773 774

想要使用文章置顶功能,首先你需要安装 hexo 插件 [hexo-generator-index-pin-top](https://github.com/netcan/hexo-generator-index-pin-top),然后执行命令:

775
```bash
776 777
$ npm uninstall hexo-generator-index --save
$ npm install hexo-generator-index-pin-top --save
778 779
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
780
最后,在文章的 `Front-matter` 中,使用 `top: true` 来实现置顶。
781

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
782
设置文章置顶后,在文章列表中可以看到表示置顶的图标。你可以对图标进行设置,修改主题配置文件:
783

784
```yaml
785 786 787 788 789 790 791 792 793
stick_top:
  # 图标的位置(可选值为:left 和 right)
  position: right
  # 建议使用名为 `thumb-tack` 的图标
  # 图标名称在这里查找:https://fontawesome.com/v4.7.0/icons/
  icon: thumb-tack
  # 图标的旋转角度(角度的单位是:deg)
  rotate: 45deg
  # 请使用引号包裹颜色值(支持所有 CSS 颜色单位)
794
  color: '#999'
795 796
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
797 798 799 800
效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190713174424.jpg)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
801
## 代码高亮 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
802

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
803
设置代码高亮以及高亮样式,修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
804

805
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
806 807
highlight_theme: light
```
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
808

809
有三种可供选择的代码高亮样式:`light`、`drak`、`ocean`。默认是 `light`。效果分别如下:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
810 811 812 813 814 815 816 817 818 819 820 821 822

- `highlight_theme: light`

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608175153.png)

- `highlight_theme: dark`

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608175155.png)

- `highlight_theme: ocean`

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608175154.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
823
## 代码溢出换行 <Badge text="Stable"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
824

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
825
修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
826

827
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
828
code_word_wrap: false
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
829 830
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
831
默认溢出不换行。效果分别如下:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
832

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
833
- 代码溢出换行
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
834 835 836

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608214540.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
837
- 代码溢出不换行
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
838 839 840

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608214539.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
841
## 图片水平对齐方式 <Badge text="Beta" type="warn"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
842

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
843
设置文章中图片的水平对齐方式,修改主题配置文件:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
844

845 846
```yaml
img_horizonal_align:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
847 848 849 850 851 852 853 854
```

可选的值有:`left`, `center`, `right`。默认值为空,即不设置。

> 默认情况下,图片显示居左,支持行内显示。如果你手动设置了图片的水平对齐方式,则图片不再支持行内显示。

效果分别如下:

855
- 设为默认值,即 `img_horizonal_align:` 设为空。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
856 857 858 859 860 861 862 863 864 865 866 867 868 869 870

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608220937.png)

- `img_horizonal_align: left`

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608215836.png)

- `img_horizonal_align: center`

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608215837.png)

- `img_horizonal_align: right`

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608215838.png)

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
871
## 文字与图片的垂直对齐方式
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
872

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
873 874 875
::: danger <Badge text="Deprecated" type="error"/>
该配置项,即 `text_vertical_align_with_img` 在 `v1.2.0` 版本中移除。
:::
876

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
877
## 赞赏码 <Badge text="Stable"/>
878

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
879
设置文章的赞赏码,修改主题配置文件:
880

881
```yaml
882
# Reward
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
883
reward:
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
884
  # 是否启用
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
885
  enable: false
886 887 888 889
  # 支付宝
  alipay: https://xxxxx.png
  # 微信
  wechat: https://xxxxx.png
890 891
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
892
效果如下:
893

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
894
![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190608175556.png)
895

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
896
## 标签云 <Badge text="Beta" type="warn"/>
897

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
898
如果你启用了 `tags` 页面,想要对其进行设置,修改主题配置文件:
899

900
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
901
tag_cloud:
902
  # 请使用引号包裹颜色值(只支持十六进制的颜色值)
903 904
  start_color: '#a4d8fa'
  end_color: '#49b1f5'
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
905 906 907 908 909
  # 标签最大、最小的尺寸
  min_size: 24
  max_size: 34
  # 最大显示标签数量
  max_amount: 200
910 911
```

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
912
效果如下:![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190619210337.png)
913

914
## 其他设置
915

916
### 设置图片大小
917 918

1. 使用 HTML 中的 `img` 标签,通过 `style` 属性控制图片大小。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
919
2. 使用 hexo 提供的语法 `{% https://xxxxx.png width height %}`,填入宽、高即可设置大小。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
920
3. stun 主题提供了一个便捷的方法来指定图片大小,你只需要在图片路径后面添加 `?size=宽度x高度` <Badge text="Stable"/> 后缀即可。例如:
921

922
```markdown
923 924
![](https://xxxxx.png?size=200x100)
```
925

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
926
### 自定义样式 <Badge text="Stable"/> <Badge text="v1.0.3"/>
927

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
928
如果你想修改主题的样式,推荐将样式代码添加到 `source/css/_custom` 目录下的 `index.styl` 文件中。这样,当主题更新时,不会覆盖你已经修改了的样式代码。
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
929

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
930
> 当然,你也可以进行模块化分类:在该目录下新建样式文件,然后通过 `@import xxx` 语句在同目录下的 `index.styl` 文件中引入你新建的样式文件。
931

932
### 标识外部链接 <Badge text="Stable"/> <Badge text="v1.1.3"/>
933

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
934
从 `v1.1.3` 版本开始,除了侧边栏,顶部栏以外的区域,Stun 主题默认会在具有 `target="_blank"` 属性的链接后面加上一个 Icon,用于标识这是一个外部链接。
935

EvanOne(文一)'s avatar
EvanOne(文一) 已提交
936
你可以通过修改主题配置文件,来设置 Icon 以及是否启用这一功能:
937

938
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
939 940 941 942 943 944 945 946
external_link:
  icon:
    # 是否启用
    enable: true
    # 建议使用名为 `external-link` 的图标
    # 图标名称在这里查找:https://fontawesome.com/v4.7.0/icons/
    name: external-link
    # 请使用引号包括值(支持所有 CSS 单位)
947
    color: '#aaa'
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
948
```
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
949

950
### FancyBox <Badge text="stable"/> <Badge text="v1.1.4"/>
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
951 952 953

如果想要使用 fancybox 功能,只需要修改主题配置文件即可:

954
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
955 956 957 958 959 960 961 962 963 964 965 966 967
fancybox: true
```

效果如下:

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190724173526.png)

你可以在这里在线体验效果:[https://liuyib.github.io/2019/05/15/hello-stun/index.html](https://liuyib.github.io/2019/05/15/hello-stun/index.html)

### 图片放大效果 <Badge text="Stable"/> <Badge text="v1.2.0"/>

从 `v1.2.0` 版本开始,Stun 主题开始支持图片点击放大的效果(无第三方依赖)。你可以配置该功能,修改主题配置文件:

968
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
969 970 971 972
zoom_image:
  # 是否启用
  enable: true
  # 遮罩的颜色
973
  mask_color: 'rgba(0,0,0,0.6)'
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
974 975 976 977 978 979 980 981 982 983
```

::: tip
如果你启用了 fancybox,那么主题会优先使用 fancybox 效果。
:::

### 图片懒加载 <Badge text="beta" type="warning"/> <Badge text="v1.2.0"/>

从 `v1.2.0` 版本开始,Stun 主题开始支持图片懒加载,但是**该功能只对文章页面起作用**。你可以配置该功能,修改主题配置文件:

984
```yaml
EvanOne(文一)'s avatar
EvanOne(文一) 已提交
985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000
lazyload:
  # 是否启用
  enable: true
  # 图片未加载前的占位符,可选值有:gif 和 block
  placeholder: gif
```

占位符取不同的值效果如下:

- `gif`

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190801204631.png)

- `block`

![](https://raw.githubusercontent.com/liuyib/picBed/master/hexo-theme-stun/doc/20190801204629.png)