Butterfly 安装文档 (三) 主题配置 -1
Butterfly 安装文档 (三) 主题配置 -1
程序员朱永胜语言
修改站点配置文件 _config.yml
默认语言是 en
主题支持三种语言
- default(en)
- zh-CN (简体中文)
- zh-TW (繁体中文)
网站资料
修改网站各种资料,例如标题、副标题和邮箱等个人资料,请修改博客根目录的_config.yml
导航栏设置 (Navigation bar settings)
参数设置
主题配置文件中
1 | nav: |
菜单 / 目录
1 | Home: / || fas fa-home |
必须是 /xxx/,后面 || 分开,然后写图标名。
如果不希望显示图标,图标名可不写。
默认子目录是展开的,如果你想要隐藏,在子目录里添加 hide 。
1 | List||fas fa-list||hide: |
注意: 导航的文字可自行更改
1 | menu: |
代码 (Code Blocks)
代码块中的所有功能只适用于 Hexo 自带的代码渲染
如果使用第三方的渲染器,不一定会有效
代码高亮主题
Butterfly 支持 6 种代码高亮样式:
- darker
- pale night
- light
- ocean
- mac
- mac light
修改 主题配置文件
1 | highlight_theme: light |
darker
pale night
light
ocean
mac
mac light
代码复制
1 | highlight_copy: true |
代码框展开 / 关闭
在默认情况下,代码框自动展开,可设置是否所有代码框都关闭状态,点击 > 可展开代码
- true 全部代码框不展开,需点击 > 打开
- false 代码框展开,有 > 点击按钮
- none 不显示 > 按钮
1 | highlight_shrink: true # 代码框不展开,需点击 '>' 打开 |
你也可以在 post/page 页对应的 markdown 文件 front-matter 添加 highlight_shrink 来独立配置。
当主题配置文件中的 highlight_shrink 设为 true 时,可在 front-matter 添加 highlight_shrink: false 来单独配置文章展开代码框。
当主题配置文件中的 highlight_shrink 设为 false 时,可在 front-matter 添加 highlight_shrink: true 来单独配置文章收缩代码框。
highlight_shrink: true
highlight_shrink: false
highlight_shrink: none
代码换行
在默认情况下,Hexo 在编译的时候不会实现代码自动换行。如果你不希望在代码块的区域里有横向滚动条的话,那么你可以考虑开启这个功能。
1 | code_word_wrap: true |
如果你是使用 highlight 渲染,需要找到你站点的 Hexo 配置文件_config.yml,将 line_number 改成 false:
1 | highlight: |
如果你是使用 prismjs 渲染,需要找到你站点的 Hexo 配置文件_config.yml,将 line_number 改成 false:
1 | prismjs: |
设置 code_word_wrap 之前:
设置 code_word_wrap 之后:
代码高度限制
3.7.0 及以上支持
可配置代码高度限制,超出的部分会隐藏,并显示展开按钮。
1 | highlight_height_limit: false # unit: px |
注意:
- 单位是 px,直接添加数字,如 200
- 实际限制高度为 highlight_height_limit + 30 px ,多增加 30px 限制,目的是避免代码高度只超出 highlight_height_limit
一点时,出现展开按钮,展开没内容。 - 不适用于隐藏后的代码块( css 设置 display: none)
社交图标 (Social Settings)
Butterfly 支持 font-awesome v6 图标.
书写格式 图标名:url || 描述性文字 || color
1 | social: |
PC:
Mobile:
头像
1 | avatar: |
顶部图
如果不要显示顶部图,可直接配置 disable_top_img: true
顶部图的获取顺序,如果都没有配置,则不显示顶部图。
页面顶部图的获取顺序:
各自配置的 top_img > 配置文件的 default_top_img
文章页顶部图的获取顺序:
各自配置的 top_img > cover > 配置文件的 default_top_img
其它页面 (tags/categories/ 自建页面)和 文章页 的 top_img ,请到对应的 md 页面设置 front-matter 中的 top_img
以上所有的 top_img 可配置以下值
3.2.0 以下版本的配置只支持
- 留空,true 和 false - 显示默认的顔色
- img 链接 - 显示所配置的图片
tag_per_img 和 category_per_img 是 3.2.0 新增的内容,可对 tag 和 category 进行单独的配置
并不推荐为每个 tag 和每个 category 都配置不同的顶部图,因为配置太多会拖慢生成速度
1 | tag_per_img: |
top_img: false
top_img: orange
top_img: ‘linear-gradient(20deg, #0062be, #925696, #cc426e, #fb0347)’
文章封面
文章的 markdown 文档上, 在 Front-matter 添加 cover , 并填上要显示的图片地址。
如果不配置 cover, 可以设置显示默认的 cover。
如果不想在首页显示 cover, 可以设置为 false。
文章封面的获取顺序 Front-matter 的 cover > 配置文件的 default_cover > false
1 | cover: |
当配置多张图片时, 会随机选择一张作为 cover. 此时写法应为
1 | default_cover: |
left
right
both
页面 meta 显示
1 | post_meta: |
主页
文章页
date_format 是 3.2.0 新增的内容,配置时间显示明确时间还是相对时间
主页文章节选 (自动节选和文章页 description)
因为主题 UI 的关係,主页文章节选只支持自动节选和文章页 description。
在 butterfly 里,有四种可供选择
- description: 只显示 description
- both: 优先选择 description,如果没有配置 description,则显示自动节选的内容
- auto_excerpt:只显示自动节选
- false: 不显示文章内容
1 | index_post_content: |
description 在 front-matter 里添加
页面锚点
开启页面锚点后,当你在进行滚动时,页面链接会根据标题 ID 进行替换
(注意: 每替换一次,会留下一个历史记录。所以如果一篇文章有很多锚点的话,网页的历史记录会很多。)
1 | # anchor |
图片描述
可开启图片 Figcaption 描述文字显示
优先显示图片的 title 属性,然后是 alt 属性
1 | photofigcaption: true |
复制相关配置
可配置网站是否可以复制、复制的内容是否添加版权信息
1 | # copy settings |
添加版权信息后
1 | Lorem ipsum dolor sit amet, test link consectetur adipiscing elit. Strong text pellentesque ligula commodo viverra vehicula. Italic text at ullamcorper enim. Morbi a euismod nibh. Underline text non elit nisl. Deleted text tristique, sem id condimentum tempus, metus lectus venenatis mauris, sit amet semper lorem felis a eros. Fusce egestas nibh at sagittis auctor. Sed ultricies ac arcu quis molestie. Donec dapibus nunc in nibh egestas, vitae volutpat sem iaculis. Curabitur sem tellus, elementum nec quam id, fermentum laoreet mi. Ut mollis ullamcorper turpis, vitae facilisis velit ultricies sit amet. Etiam laoreet dui odio, id tempus justo tincidunt id. Phasellus scelerisque nunc sed nunc ultricies accumsan. |
文章页相关配置
文章版权
1 | post_copyright: |
文章打赏
1 | reward: |
TOC
1 | toc: |
为特定的文章配置
在你的文章 md 文件的头部,加入 toc_number 和 toc,并配置 true 或者 false 即可。
主题会优先判断文章 Markdown 的 Front-matter 是否有配置,如有,则以 Front-matter 的配置为准。否则,以主题配置文件中的配置为准
相关文章
当文章封面设置为 false 时,或者没有获取到封面配置,相关文章背景将会显示主题色。
1 | related_post: |
文章过期提醒
1 | # Displays outdated notice for a post (文章过期提醒) |
limit_day: 距离更新时间多少天才显示文章过期提醒
message_prev : 天数之前的文字
message_next:天数之后的文字
文章编辑按钮
1 | # Post edit |
文章分页按钮
1 | # post_pagination (分页) |
Footer 设置
博客年份
1 | footer: |
页脚自定义文本
1 | custom_text: Hi, welcome to my <a href="https://butterfly.js.org/">blog</a>! |
ICP
1 | custom_text: <a href="icp 链接 "><img class="icp-icon" src="icp 图片 "><span> 备案号:xxxxxx</span></a> |
侧边栏设置 (aside)
侧边排版
1 | aside: |
访问人数 busuanzi (UV 和 PV)
1 | busuanzi: |
如果需要修改 busuanzi 的 CDN 链接,可通过 主题配置文件 的 CDN 中的 option 进行修改
1 | CDN: |
运行时间
1 | runtimeshow: |
最新评论
1 | # Aside widget - Newest Comments |
自定义添加栏目
https://butterfly.js.org/posts/ea33ab97/
右下角按钮 (Bottom right button)
简繁转换
1 | translate: |
閲读模式
1 | readmode: true |
夜间模式
1 | # dark mode |
滚动状态百分比
1 | # show scroll percent in scroll-to-top button |
按钮排序
1 | # Don't modify the following settings unless you know how they work (非必要请不要修改) |
标签外挂(Tag Plugins)
Gallery 相册图库
https://butterfly.js.org/posts/4aa8abbe/#Gallery%E7%9B%B8%E5%86%8A%E5%9C%96%E5%BA%AB
%86%8A%E5%9C%96%E5%BA%AB