@@ -3,56 +3,209 @@ title: 自定义 Hextra
3
3
linkTitle : 自定义
4
4
---
5
5
6
- Hextra 在 ` hugo.yaml ` 中提供了一些自定义选项来配置主题 。
7
- 本页介绍了可用选项以及如何进一步自定义主题 。
6
+ Hextra 在 ` hugo.yaml ` 配置文件中提供了一些默认的自定义选项,用于配置主题 。
7
+ 本页描述了可用的选项以及如何进一步自定义主题 。
8
8
9
9
<!-- more-->
10
10
11
11
## 自定义 CSS
12
12
13
- 要添加自定义 CSS,我们需要在站点中创建一个文件 ` assets/css/custom.css ` 。Hextra 将自动加载该文件,比如自定义字体:
13
+ 要添加自定义 CSS,我们需要在站点中创建一个文件 ` assets/css/custom.css ` 。Hextra 会自动加载此文件。
14
+
15
+ ### 字体
16
+
17
+ 内容的字体可以通过以下方式自定义:
14
18
15
19
``` css {filename="assets/css/custom.css"}
16
20
.content {
17
21
font-family : " Times New Roman" , Times , serif ;
18
22
}
19
23
```
20
24
21
- ### 主题色
25
+ ### 内联代码元素
22
26
23
- 主题色可以通过设置 ` --primary-hue ` 变量来自定义:
27
+ 与 ` 其他文本 ` 混合的文本颜色可以通过以下方式自定义:
28
+
29
+ ``` css {filename="assets/css/custom.css"}
30
+ .content code :not (.code-block code ) {
31
+ color : #c97c2e ;
32
+ }
33
+ ```
34
+
35
+ ### 主色调
36
+
37
+ 主题的主色调可以通过设置 ` --primary-hue ` 、` --primary-saturation ` 和 ` --primary-lightness ` 变量来自定义:
24
38
25
39
``` css {filename="assets/css/custom.css"}
26
40
:root {
27
41
--primary-hue : 100deg ;
42
+ --primary-saturation : 90% ;
43
+ --primary-lightness : 50% ;
44
+ }
45
+ ```
46
+
47
+ ### 进一步的主题自定义
48
+
49
+ 可以通过覆盖暴露的 CSS 类来进一步自定义主题。以下是一个自定义页脚元素的示例:
50
+
51
+ ``` css {filename="assets/css/custom.css"}
52
+ .hextra-footer {
53
+ /* 样式将应用于页脚元素 */
54
+ }
55
+
56
+ .hextra-footer :is(html [class ~= " dark" ] * ) {
57
+ /* 样式将应用于暗模式下的页脚元素 */
28
58
}
29
59
```
30
60
31
- ### 代码高亮
61
+ 以下类可用于自定义主题的各个部分。
62
+
63
+ #### 通用
64
+
65
+ - ` hextra-scrollbar ` - 滚动条元素
66
+ - ` content ` - 页面内容容器
67
+
68
+ #### 短代码
69
+
70
+ ##### 徽章
71
+
72
+ - ` hextra-badge ` - 徽章元素
73
+
74
+ ##### 卡片
75
+
76
+ - ` hextra-card ` - 卡片元素
77
+ - ` hextra-card-image ` - 卡片图片元素
78
+ - ` hextra-card-icon ` - 卡片图标元素
79
+ - ` hextra-card-subtitle ` - 卡片副标题元素
80
+
81
+ ##### 卡片组
82
+
83
+ - ` hextra-cards ` - 卡片网格容器
84
+
85
+ ##### Jupyter Notebook
86
+
87
+ - ` hextra-jupyter-code-cell ` - Jupyter 代码单元容器
88
+ - ` hextra-jupyter-code-cell-outputs-container ` - Jupyter 代码单元输出容器
89
+ - ` hextra-jupyter-code-cell-outputs ` - Jupyter 代码单元输出 div 元素
90
+
91
+ ##### PDF
92
+
93
+ - ` hextra-pdf ` - PDF 容器元素
94
+
95
+ ##### 步骤
96
+
97
+ - ` steps ` - 步骤容器
98
+
99
+ ##### 标签页
100
+
101
+ - ` hextra-tabs-panel ` - 标签页面板容器
102
+ - ` hextra-tabs-toggle ` - 标签页切换按钮
103
+
104
+ ##### 文件树
105
+
106
+ - ` hextra-filetree ` - 文件树容器
32
107
33
- 代码高亮风格的详细信息可在 [ Chroma Styles Gallery] ( https://xyproto.github.io/splash/docs/all.html ) 中找到。可以使用以下命令生成样式表:
108
+ ##### 文件夹
109
+
110
+ - ` hextra-filetree-folder ` - 文件树文件夹容器
111
+
112
+ #### 导航栏
113
+
114
+ - ` nav-container ` - 导航栏容器
115
+ - ` nav-container-blur ` - 导航栏模糊元素
116
+ - ` hamburger-menu ` - 汉堡菜单按钮
117
+
118
+ #### 页脚
119
+
120
+ - ` hextra-footer ` - 页脚元素
121
+ - ` hextra-custom-footer ` - 自定义页脚部分容器
122
+
123
+ #### 搜索
124
+
125
+ - ` search-wrapper ` - 搜索包装容器
126
+ - ` search-input ` - 搜索输入元素
127
+ - ` search-results ` - 搜索结果列表容器
128
+
129
+ #### 目录
130
+
131
+ - ` hextra-toc ` - 目录容器
132
+
133
+ #### 侧边栏
134
+
135
+ - ` mobile-menu-overlay ` - 移动菜单的覆盖元素
136
+ - ` sidebar-container ` - 侧边栏容器
137
+ - ` sidebar-active-item ` - 侧边栏中的活动项
138
+
139
+ #### 语言切换器
140
+
141
+ - ` language-switcher ` - 语言切换按钮
142
+ - ` language-options ` - 语言选项容器
143
+
144
+ #### 主题切换
145
+
146
+ - ` theme-toggle ` - 主题切换按钮
147
+
148
+ #### 代码复制按钮
149
+
150
+ - ` hextra-code-copy-btn-container ` - 代码复制按钮容器
151
+ - ` hextra-code-copy-btn ` - 代码复制按钮
152
+
153
+ #### 代码块
154
+
155
+ - ` hextra-code-block ` - 代码块容器
156
+
157
+ #### 功能卡片
158
+
159
+ - ` hextra-feature-card ` - 功能卡片链接元素
160
+
161
+ #### 功能网格
162
+
163
+ - ` hextra-feature-grid ` - 功能网格容器
164
+
165
+ #### 面包屑导航
166
+
167
+ 面包屑导航没有特定的类。
168
+
169
+ ### 语法高亮
170
+
171
+ 可用的语法高亮主题列表可在 [ Chroma 样式库] ( https://xyproto.github.io/splash/docs/all.html ) 中找到。可以使用以下命令生成样式表:
34
172
35
173
``` shell
36
174
hugo gen chromastyles --style=github
37
175
```
38
176
39
- 可将生成的样式添加到自定义 CSS 文件中以覆盖默认代码高亮样式 。
177
+ 要覆盖默认的语法高亮主题,可以将生成的样式添加到自定义 CSS 文件中 。
40
178
41
- ## 自定义 Script
179
+ ## 自定义脚本
42
180
43
- 你可以添加以下文件以自定义 ` script ` 添加到每页的 ` head ` 最后 :
181
+ 你可以通过添加以下文件在每个页面的 head 末尾添加自定义脚本 :
44
182
45
183
```
46
184
layouts/partials/custom/head-end.html
47
185
```
48
186
187
+ ## 自定义页脚额外部分
188
+
189
+ 你可以通过在站点中创建文件 ` layouts/partials/custom/footer.html ` 来在页脚中添加额外部分。
190
+
191
+ ``` html {filename="layouts/partials/custom/footer.html"}
192
+ <!-- 你的页脚元素在这里 -->
193
+ ```
194
+
195
+ 添加的部分将出现在页脚的版权部分之前。
196
+ 你可以使用 [ HTML] ( https://developer.mozilla.org/en-US/docs/Web/HTML ) 和 [ Hugo 模板语法] ( https://gohugo.io/templates/ ) 来添加自己的内容。
197
+
198
+ 页脚部分可用的 Hugo 变量有:` .switchesVisible ` 和 ` .copyrightVisible ` 。
199
+
49
200
## 自定义布局
50
201
51
- 可以在站点的 ` layouts ` 目录中创建同名文件来覆盖主题的默认布局。
52
- 例如,要覆盖文档的 ` single.html ` 布局,在站点中创建文件 ` layouts/docs/single.html ` 。
202
+ 可以通过在站点的 ` layouts ` 目录中创建同名文件来覆盖主题的布局。
203
+ 例如,要覆盖文档的 ` single.html ` 布局,可以在站点中创建文件 ` layouts/docs/single.html ` 。
204
+
205
+ 更多信息,请参阅 [ Hugo 模板文档] [ hugo-template-docs ] 。
53
206
54
- 如需或许更多信息,转至 [ Hugo Templates ] ( https://gohugo.io/templates/ ) 。
207
+ ## 进一步自定义
55
208
56
- ## 进一步定制 Hextra
209
+ 没有找到你想要的?欢迎 [ 发起讨论 ] ( https://github.com/imfing/hextra/discussions ) 或为主题做出贡献!
57
210
58
- 没有找到你想修改的内容?在 GitHub 上 [ 创建 Discussion ] ( https://github.com/imfing/hextra/discussions ) 或为 Hextra 贡献你的智慧!
211
+ [ hugo-template-docs ] : https://gohugo.io/templates/
0 commit comments