Giscus 修改 CSS 样式:针对网站评论区美化,CSS 及适配过程
本文介绍了如何在网站中添加 Giscus 作为第二评论区,由于 Giscus 通过 iframe 标签嵌入,美化时需要使用带网站域名的绝对路径。文章选择 noborder_light 和 noborder_dark 作为默认亮暗主题,并将 CSS 文件存放于 /assets/css/giscus/ 目录。详细给出了亮色与暗色两套自定义 CSS 代码,包括字体引入、颜色变量、按钮样式等,确保评论区与网站风格统一。最后展示了在配置文件中的主题引用方式(light_theme 和 dark_theme)。整个过程旨在快速实现评论区的基本美化,后续可进一步优化。
Butterfly 亮暗切换机制:使用统一方式替代 @media 的实现方法
本文介绍了 Hexo 博客 Butterfly 主题的亮暗色切换实现原理与自定义方法。文章指出 Butterfly 通过 JS 脚本控制 `data-theme` 属性实现颜色模式切换,而非监听浏览器主题,因此刷新页面后才能响应系统主题变化。作者详细解释了暗色模式下的 CSS 变量赋值方式,并给出了具体的代码示例,包括如何为卡片、布局等元素分别设置亮色和暗色背景,以及如何使用 `[data-theme='dark']` 选择器替代 `@media (prefers-color-scheme: dark)` 进行暗色样式定制。文章为需要深度美化 Butterfly 主题的用户提供了实用的 CSS 编写思路。
Butterfly 卡片模糊效果:实现卡片毛玻璃教程,暗色模式适配
本文介绍了在 Butterfly 主题网站中为卡片实现毛玻璃效果的方法与问题解决过程。文章首先指出,为所有卡片统一设置 backdrop-filter: blur(7px) 可使导航栏模糊程度一致,但在暗色模式下会因缺乏基础颜色导致卡片与背景糊成一片。作者曾尝试通过 @media (prefers-color-scheme: light) 限制仅在亮色模式生效,但这并非根本解决方案。后来意外发现主题作者为导航栏设计的十六位色(如 #FFFFFFB3 和 #121212CC),通过为亮色和暗色模式分别设置带透明度通道的背景颜色,再统一保留 blur(7px),即可实现不干扰网站扁平化设计的毛玻璃效果,且暗色模式用户也能正常使用。最后,文章给出了在 Butterfly 主题配置文件中引入对应 CSS 文件以及通过 Cloudflare Pages 完成部署的示例代码。
Butterfly 网站默哀功能:默哀日网站自动变灰功能的实现方法
本文介绍了如何使用一段简单的 JavaScript 代码为网站添加默哀功能,即在特定纪念日自动将网页元素从彩色变为灰白色。代码通过检测当前日期是否匹配清明节、国家公祭日、汶川地震纪念日、七七事变纪念日、九一八事变纪念日、烈士纪念日、日本投降纪念日以及毛泽东、周恩来、邓小平逝世纪念日等日期,若匹配则对 document.documentElement 应用 grayscale(100%) 滤镜。文章还说明了需在主题配置文件中通过 inject 方式导入该 JS 脚本,并提供了示例配置代码段。整体实现简洁,无需额外提醒文字,仅通过视觉变化体现默哀。
Butterfly 关注粉丝统计:用友链数当粉丝数,改造按钮显示统计
本文介绍了如何通过 JavaScript 脚本将博客“关注我”按钮改造为显示友链数量的动态统计。作者利用博客的友链页面(如 /friends)抓取所有友链链接,统计数量后替换按钮中的显示内容,实现类似社交平台的粉丝数效果。文章详细说明了脚本实现步骤、配置方式(如 Butterfly 主题的 inject 设置),并提醒根据实际页面路径修改代码。该方法以交换友链作为“关注”的等价行为,是一种轻量级的替代方案。
Butterfly 随机文章跳转:Hexo 主题实现文章随机跳转盲盒教程
本文介绍了如何为 Butterfly 主题实现随机跳转文章的功能,通过编写 JavaScript 脚本爬取归档页面并提取文章链接,再随机选择一个链接进行跳转。文章详细展示了从复用友链跳转脚本到修改选择器适配归档页面的过程,并给出了完整的 randomizer 函数代码。同时说明了在主题配置中注入脚本文件以及在页脚添加触发链接的方法,最后提醒不同主题需根据实际情况调整链接类名。
Butterfly 友链随机跳转:Hexo 主题实现友链随机跳转简单教程
本文介绍了如何在 Butterfly 主题中实现随机跳转友链的功能。原本计划使用 AnZhiYu 主题,但因配置繁琐而选择了 Butterfly 并稍作美化,但缺少安知鱼主题的随机跳转友链功能。作者通过前端抓取友链页面,提取所有 a.href 链接组成列表,然后随机抽取并跳转。具体实现为:定义一个名为 go 的异步函数,使用 fetch 获取 /friends 页面,解析 HTML 后提取所有 .flink-list-item a 的 href 属性,过滤无效链接后随机选择并跳转。通过修改主题配置文件,将脚本注入到每个页面的底部,并在页脚自定义文本中添加一个调用 go() 的链接,既不影响导航栏布局,又能为访客提供惊喜。作者最终将此功能作为彩蛋,避免与开往按钮混淆。
Butterfly 目录折腾二传:目录用 JS 自动刷新、解决并修复主题错误
本文介绍了如何通过在网站配置文件中添加 JavaScript 代码来解决目录显示异常的问题,该代码会在页面加载完成后等待所有图片加载,并在 1.5 秒后自动刷新页面,同时监听 PJAX 等异步加载事件以保持功能生效。文章还指出了之前使用 CSS 强制修改图片宽高比的做法是错误的,会导致评论区表情包异常,因此已删除该样式。作者反思了自己因精神状态不佳而导致的失误。
Hexo 图片引发的目录问题:修复 Butterfly 主题图片大小问题
本文介绍了在使用 Butterfly 主题时,遇到的目录大小计算问题,即目录仅统计首次加载时的内容而非加载完成后的实际大小。文章提供了解决方案:通过为图片添加 CSS 容器,设置 width: 100%、aspect-ratio 和 object-fit 属性,实现图片占位与裁剪,从而解决目录高度计算错误。同时,作者强调了根据网站图片比例(如 4:3、16:9 或 1:1)调整 aspect-ratio 值,并建议使用压缩后的 .webp 格式图片以保持原分辨率。最后给出了在主题配置文件中注入该 CSS 文件的方法。
Butterfly 网站深色模式:深色模式与 SVG 颜色不跟随的解决方案
本文介绍了在 Butterfly 主题中启用深色模式并解决 SVG 图片颜色冲突的方法。通过在 _config.butterfly.yml 中配置 darkmode 选项,可以开启深色模式切换按钮,并设置自动跟随系统或固定时间段切换。然而,手动引入的 .svg 图片在深色模式下不会自动变色,仍显示为黑色。为解决此问题,使用 CSS 媒体查询 @media (prefers-color-scheme: dark) 和滤镜 filter: brightness(0) invert(1) !important,将 SVG 图片在深色模式下反转成白色。将该样式保存为 svg.css,并通过 inject.head 配置注入到网站中,从而实现深色模式下 SVG 图片变为白色、浅色模式下保持黑色,避免颜色冲突。


