阿普修主题踩坑记:RSS 暗色问题多,被小作坊主题吓哭了
本文介绍了作者的朋友阿普修从零编写个人博客主题,但该主题存在多项严重缺陷,导致作者不得不分支仓库并帮忙修复。首先,RSS 功能未遵循规范,将所有文章全量输出,每次更新都会让阅读器重复推送全部内容,造成极大干扰。其次,暗色模式仅覆盖首页部分元素,文章页面、说说页面、友链页面、评论区及统计页面的背景和文字颜色均被写死,在暗色模式下显示为白色或对比度极低,几乎不可用。此外,代码块背景、导航栏菜单及链接顺序也采用硬编码,无法通过配置文件修改,严重破坏了页面结构和 SEO 效果。作者对比了成熟主题的设计思路,指出写主题应使用变量分离、不破坏原始结构,并建议缺乏经验者先使用成熟框架而非自研。最后,作者讽刺地通过 RSS 阅读器得知阿普修又发布了安卓版客户端,进一步体现了其“全写死”架构带来的维护和扩展难题。
手把手教你为 Butterfly 部署和配置 Umami 访问统计
本文介绍了作者因对不蒜子统计 API 的不稳定感到困扰,并在发现网站总浏览量接近两万后,对访客来源、设备类型等数据产生强烈好奇,最终决定部署开源网站分析工具 Umami 的过程。文章详细描述了 Umami 的部署步骤:首先通过 Vercel 官方链接一键克隆仓库,创建项目并配置 Neon 数据库实现自动集成注入环境变量 DATABASE_URL,其次绑定自定义域名或使用 Vercel 提供的二级域名,然后触发重新部署。部署完成后使用默认账号 admin 和密码 umami 登录,并立即修改密码并切换界面语言为简体中文。核心环节是将博客网站添加到 Umami 统计界面,通过修改 Hexo 主题配置文件(如 _config.butterfly.yml),将 enable 设为 true,填入 serverURL 和从 Umami 控制台获取的 website_id,并可按需关闭不蒜子以避免数据冗余。最终,Umami 能提供访客国家地区地图展示、页面停留时间、访客行为等详细分析,帮助作者根据数据优化写作方向。全文强调通过 Vercel 与 Neon 的深度集成,部署过程已极为简化,即使是技术基础薄弱的用户也可按步骤完成。
从随机更新到每月十篇,我的博客理性经营心得
本文介绍了作者近期博客更新频率下降的三个原因:投入时间优化网站功能与界面、保护创作灵感以维持可持续性、以及采用定期定量更新方式对搜索引擎和读者更友好。作者计划每月更新一次,认为这是博客成熟后的自然选择,并通过“说说”页面分享日常碎片化内容,与完整文章形成分工。文章强调了评论时需留下姓名和邮箱以便互动,并描述了博客圈中互相回访的朴素传统。此外,作者分享了夏季宅家刷手机的生活状态,使用 NetNewsWire RSS 阅读器提高抢沙发效率,以及为朋友开发基于 ZenMind 的极简绿色主题 XiaoFen 的过程。最后,作者劝诫读者以学业和工作为重,写博客只是生活的一部分,不应逃避现实。整体上,文章展现了作者对博客经营的理性思考与个人生活态度的真实表达。
Waline 后台空白问题:一天内从排查到修复
本文介绍了作者在使用 Waline 评论系统时遭遇的后台空白故障及其解决过程。某天作者发现管理后台页面完全空白,反复刷新并更换浏览器均无效,随后重新部署时遇到 Vercel 502 错误,经排查得知是 @waline/vercel 新版本存在兼容问题。在 DeepSeek 指导下手动回退版本号后编译通过,但后台仍为空白。作者向 Waline 提交了 Issue,详细描述了现象、步骤和日志。项目负责人认为与另一 Issue 相似,但作者对比后发现本质不同,并补充了截图和日志。当日下午,维护者 lizheming 确认问题源于新版 Waline 核心模块改动引发的连锁反应,导致所有基于新版的后台均失效。当晚,外国用户和作者朋友峰哥也反馈了同样问题。作者通过修改 Neon 数据库中评论的 user_id 字段使评论正确显示博主标签。深夜,维护者发布了修复版本,去除了有问题的功能模块,虽然界面简陋但核心功能恢复。全文展示了开源社区快速响应(一天内修复)的优势,也指出了活跃项目频繁重构(如 Rust 重写)给用户带来的升级困扰。
独立博客抄袭事件,原创与创意来源探讨
本文介绍了独立博客圈中的一起抄袭事件及其引发的思考。作者的朋友姓王者被抄袭,发现抄袭者并非为了名利,而是为了满足某些平台对“原创文章不少于20篇”的硬性门槛而机械式搬运。作者通过与 AI 讨论,厘清了抄袭的法律边界:若未接触原文且子句表达不同,即使主题相似仍属原创;反之,若接触过原文且未标注来源则构成抄袭。AI 还建议创意枯竭时去真实世界中体验生活,而非抄袭他人。此外,文章强调了知识共享协议(CC 协议)的重要性,指出多数独立博客通过标注协议明确转载需署名并附原文链接,违反者即使不违法也违背了作者授权。作者计划后续普及 CC 协议知识,帮助读者正确引用。文章呼吁独立博主保护原创,同时尊重他人创作成果。
我为何把个人网站换回最初的简洁主题
本文介绍了作者在管理个人网站和 B 站信箱过程中经历的反思与回归。作者首先描述了 B 站信箱因评论被顶到热门而充斥陌生人的无效留言,使其难以分辨真实交流,转而通过回看视频评论区逐条回复来寻求真实感。接着,作者回顾了个人网站建设中因添加过多定制功能如毛玻璃卡片、深色模式等导致界面臃肿混乱,最终意识到最初的主题简洁完整,决定换回旧主题以回归初心。由于缺乏 Git 记录,作者借助 Matugen 生成配色方案,并利用 GLM 将配色写入主题,预期呈现更明亮清新的效果。同时,作者保留了部分实用功能如 CSS 覆写规则、404 页面自动修复、友链模块和评论区头像解析,实现删繁就简的融合升级。最后,作者反思过度美化的教训,强调简洁是需学习的克制,并建议访客在重新访问前清空浏览器缓存以避免样式冲突。
二零二六年,我加入十年之约的乌龙除夕夜
本文描述了 2026 年除夕夜在茂南区家中度过的情景,作者因父母不愿折腾而未回金塘乡下,内心感慨对老家的记忆逐渐模糊。文章回顾了创建 EMLOG 博客网站的过程,短短几天内写了十几篇日常琐事,尽管无人访问,但这是首个成功部署在树莓派上的站点,比之前的 Hexo 更简单。通过“十年之约”友链认识了 ACEVS 和暖心向阳两位博主,但自己因未仔细阅读规则而误以为能立即加入,闹了笑话。除夕夜家庭氛围冷清,家人各自刷手机,电视播放的粤语春晚无人真正观看。年夜饭是广东传统的白切鸡和肥猪肉,饭后逛了博客和主题商城,并参与十年之约的弹幕祝福。作者对比去年除夕折腾 Linux 系统的充实,感到今年索然无味。最后提及一件无关的事:路边看到一只南方家鼠睡在店门口,联想到童年时老鼠爬上床的阴影,至今心有余悸。
网站路径纠错实现 404 页面自动跳转 SEO 优化
本文介绍了网站重构或迁移后路径变化导致搜索引擎索引失效的问题,并给出了一种基于前端脚本的路径纠错解决方案。文章描述了当用户访问错误路径时,浏览器会展示预设的 404 页面,然后通过脚本获取当前路径,并与从 sitemap.txt 中提取的合法路径列表进行语义匹配,利用 Levenshtein 距离和路径层级评分找到最可能的正确路径,并在 5 秒后自动跳转。还提供了调试函数 error_location 用于本地测试。文章详细说明了编写脚本过程中遇到的坑,例如 Butterfly 主题的 404 容器类名、Hexo 生成的 sitemap 包含 index.html 后缀问题,以及如何通过另一个脚本去除 index.html 实现干净跳转。最后给出了在 _config.butterfly.yml 的 inject 中引入脚本的配置示例。该方案有效保留了 SEO 索引,提升了用户体验。
Butterfly 主题首页文章列表,固定高度动态补齐方法
本文介绍了 Butterfly 主题中首页文章列表高度不统一的问题及其解决方案。由于博客每页显示固定篇数(如 10 篇),末页文章数量不足时,列表容器高度会大幅缩减,导致底部大量空白,影响视觉一致性。为解决该问题,文章提供了一种基于 JavaScript 的动态补齐方法:通过 fillRecentPostItems 函数检测 .recent-post-items 容器内实际文章条目数,若少于目标值(如 10),则自动追加对应数量的隐藏 div 元素(visibility: hidden),使容器高度始终与满篇数保持一致。该逻辑还通过监听 pjax:complete 事件兼容 PJAX 无刷新加载,确保页面切换后自动执行补齐。同时指出,在 index_layout 参数为 4 或 6 的特殊布局下,由于文章条目高度依赖封面图片,纯隐藏标签会导致高度不一致,因此需要额外添加空封面占位元素。最后说明如何通过主题的 inject 配置将脚本注入页面底部,无需修改核心文件,便于维护升级。该方案有效解决了分页高度不一致的布局问题。
用 GitHub Actions 和 RSS 实现静态博客邮件推送不重复
本文介绍了作者针对静态博客实现邮箱订阅推送的解决方案。文章首先指出现有方案(如基于 GitHub Issues 的推送)存在重复推送、依赖读者 GitHub 账号等问题,随后提出利用 GitHub Actions 的 Cache 系统记录已推送文章链接,从而避免重复。作者详细说明了整体流程:通过定时触发 Actions,运行 Python 脚本抓取博客 RSS 地址中的最新文章,解析标题、摘要和链接,并与缓存文件比对,若为新文章则生成 HTML 邮件,并通过 SMTP 协议密送订阅者。所有敏感配置(如 SMTP 凭据、邮箱列表)均存入 GitHub Secrets 以保护隐私。文章还给出了完整的 YAML 工作流配置和 Python 脚本示例,支持自定义邮件模板标签。最后,作者推荐使用 Resend 等免费 SMTP 服务,并列出需要创建的 Secrets 参数,方便读者 Fork 仓库后直接使用。该方案实现了真正的不重复邮箱推送,适用于任何拥有 RSS 输出的静态博客。





