
* docs(blog): prepare for v0.10 release post * Update v0.10.md * Update v0.10.md to refine upgrade instructions and enhance blog features. Added synchronized tab switching and pagination controls, while improving the search experience and table of contents navigation. * Enhance v0.10 release documentation with detailed upgrade instructions and migration guide. Added Tailwind theme variable customization section and clarified breaking changes. Improved clarity on CSS class prefix changes for better user experience. * Update v0.10.md to enhance upgrade instructions, clarify breaking changes, and improve overall readability. Adjusted formatting for consistency and added details on asset management and user experience improvements. * Add notable new features to v0.10.md, including dropdown menu support, enhanced search experience, and blog list pagination. Updated FlexSearch upgrade details for clarity and improved migration guide by removing redundant breaking change notes. * chore: update zh-cn translation * chore: update ja translation * chore: update fa and ja translations * chore: prepare release
6.5 KiB
title, linkTitle
title | linkTitle |
---|---|
自定义 Hextra | 自定义 |
Hextra 在 hugo.yaml
配置文件中提供了一些默认的自定义选项来配置主题。
本页描述了可用选项以及如何进一步自定义主题。
自定义 CSS
要添加自定义 CSS,我们需要在站点中创建 assets/css/custom.css
文件。Hextra 会自动加载此文件。
字体家族
可以使用以下方式自定义内容的字体家族:
.content {
font-family: "Times New Roman", Times, serif;
}
行内代码元素
与 其他文本
混合的代码文本颜色可以通过以下方式自定义:
.content code:not(.code-block code) {
color: #c97c2e;
}
主色调
可以通过设置 --primary-hue
、--primary-saturation
和 --primary-lightness
变量来自定义主题的主色调:
:root {
--primary-hue: 100deg;
--primary-saturation: 90%;
--primary-lightness: 50%;
}
组件布局变量
Hextra 提供了 CSS 变量来自定义页面、导航栏和页脚的宽度:
:root {
/* 页面宽度 - 也可以通过 hugo.yaml 中的 params.page.width 配置 */
--hextra-max-page-width: 80rem; /* 默认值:80rem(普通),90rem(宽版),100%(全宽) */
/* 导航栏宽度 - 也可以通过 hugo.yaml 中的 params.navbar.width 配置 */
--hextra-max-navbar-width: 90rem; /* 独立的导航栏宽度 */
/* 页脚宽度 - 也可以通过 hugo.yaml 中的 params.footer.width 配置 */
--hextra-max-footer-width: 80rem; /* 独立的页脚宽度 */
}
Tailwind 主题变量
从基于 Tailwind CSS v4 的 Hextra v0.10.0 开始,您可以通过在 @layer theme
块中覆盖 CSS 变量来自定义主题。
这样可以在不修改每个单独类的情况下自定义全局外观。
@layer theme {
:root {
--hx-default-mono-font-family: "JetBrains Mono", monospace;
}
}
详情请参阅 Tailwind 主题变量文档。
进一步主题自定义
可以通过覆盖暴露的 CSS 类来自定义主题的默认样式。以下是一个自定义页脚元素的示例:
.hextra-footer {
/* 样式将应用于页脚元素 */
}
.hextra-footer:is(html[class~="dark"] *) {
/* 样式将应用于暗黑模式下的页脚元素 */
}
以下类可用于自定义主题的各个部分。
通用
hextra-scrollbar
- 滚动条元素content
- 页面内容容器
短代码
徽章
hextra-badge
- 徽章元素
卡片
hextra-card
- 卡片元素hextra-card-image
- 卡片图片元素hextra-card-icon
- 卡片图标元素hextra-card-subtitle
- 卡片副标题元素
卡片组
hextra-cards
- 卡片网格容器
Jupyter 笔记本
hextra-jupyter-code-cell
- Jupyter 代码单元格容器hextra-jupyter-code-cell-outputs-container
- Jupyter 代码单元格输出容器hextra-jupyter-code-cell-outputs
- Jupyter 代码单元格输出 div 元素
hextra-pdf
- PDF 容器元素
步骤
hextra-steps
- 步骤容器
标签页
hextra-tabs-panel
- 标签页面板容器hextra-tabs-toggle
- 标签页切换按钮
文件树
hextra-filetree
- 文件树容器
文件夹
hextra-filetree-folder
- 文件树文件夹容器
导航栏
hextra-nav-container
- 导航栏容器hextra-nav-container-blur
- 导航栏模糊效果容器hextra-hamburger-menu
- 汉堡菜单按钮
页脚
hextra-footer
- 页脚元素hextra-custom-footer
- 自定义页脚部分容器
搜索
hextra-search-wrapper
- 搜索包装容器hextra-search-input
- 搜索输入元素hextra-search-results
- 搜索结果列表容器
搜索 UI 中使用的可选嵌套类:
hextra-search-title
- 结果标题元素hextra-search-active
- 活动结果锚点hextra-search-no-result
- 空状态元素hextra-search-prefix
- 分组结果的面包屑/前缀标签hextra-search-excerpt
- 结果片段文本hextra-search-match
- 高亮查询范围
目录
hextra-toc
- 目录容器
侧边栏
hextra-sidebar-container
- 侧边栏容器hextra-sidebar-active-item
- 侧边栏中的活动项
语言切换器
hextra-language-switcher
- 语言切换按钮hextra-language-options
- 语言选项容器
主题切换
hextra-theme-toggle
- 主题切换按钮
代码复制按钮
hextra-code-copy-btn-container
- 代码复制按钮容器hextra-code-copy-btn
- 代码复制按钮hextra-copy-icon
- 复制图标元素hextra-success-icon
- 成功图标元素
代码块
hextra-code-block
- 代码块容器hextra-code-filename
- 代码块的文件名元素
功能卡片
hextra-feature-card
- 功能卡片链接元素
功能网格
hextra-feature-grid
- 功能网格容器
语法高亮
可用的语法高亮主题列表可在 Chroma 样式库 中找到。可以使用以下命令生成样式表:
hugo gen chromastyles --style=github
要覆盖默认的语法高亮主题,可以将生成的样式添加到自定义 CSS 文件中。
自定义脚本
您可以通过添加以下文件在每个页面的 head 末尾添加自定义脚本:
layouts/partials/custom/head-end.html
自定义页脚额外部分
您可以通过在站点中创建 layouts/partials/custom/footer.html
文件来添加页脚的额外部分。
<!-- 您的页脚元素放在这里 -->
添加的部分将出现在页脚的版权部分之前。 您可以使用 HTML 和 Hugo 模板语法 添加自己的内容。
页脚部分可用的 Hugo 变量有:.switchesVisible
和 .displayCopyright
。
自定义布局
可以通过在站点的 layouts
目录中创建同名文件来覆盖主题的布局。
例如,要覆盖文档的 single.html
布局,可以在站点中创建 layouts/docs/single.html
文件。
更多信息,请参阅 Hugo 模板文档。
进一步自定义
没有找到您需要的内容?欢迎 发起讨论 或为主题做出贡献!