jcalaBlog一键黑夜模式实测:3步让你的博客秒变夜间主题
【免费下载链接】jcalaBlog 项目地址: https://gitcode.com/gh_mirrors/jca/jcalaBlog
熬夜刷博客最怕刺眼的白色背景,而 jcalaBlog 这个开源博客系统早就替你想到了——它内置了一键黑夜模式,不需要写一行代码,点一下按钮就能让你的博客秒变夜间主题。本文用最通俗的方式实测 jcalaBlog 黑夜模式,3步就能完成切换,还附带主题记忆、原理拆解和常见疑问解答,新手也能轻松上手。
jcalaBlog是什么?自带黑夜模式的个人博客系统
jcalaBlog 是一个基于 SpringBoot 开发的轻量级个人博客项目,采用 SpringMVC、MyBatis、Velocity 等技术栈搭建,自带前台展示与后台管理两大模块。前台支持博客列表、标签归档、项目展示、关于页面,后台则提供 Markdown 编辑器与博客管理功能。
它最讨喜的地方,就是把"黑夜模式"做成了默认功能:页面右上角常驻一个切换按钮,用户无需任何配置,即可随时在白天模式与夜间主题之间切换。对喜欢夜间阅读、经常熬夜写博客的朋友来说,这简直是刚需。
黑夜模式实测第1步:启动博客,找到NIGHT开关位置
先把项目跑起来。如果你还没有部署,可以执行下面这行命令把仓库克隆到本地:
git clone https://gitcode.com/gh_mirrors/jca/jcalaBlog
使用 Gradle 启动后,浏览器访问首页,你会看到顶部导航栏依次排列着 Home、Archives、Tags、Projects、About、Admin 等菜单,而在最右侧,就是本次的主角——一个月亮图标 + "night" 文字的按钮。没错,它就是 jcalaBlog 黑夜模式的开关,位置非常显眼,几乎不可能错过。
黑夜模式实测第2步:点击月亮图标,一键切换夜间主题
这是整个实测最爽的一步:点击那个月亮按钮,页面会立刻发生反应,整个过程无需刷新、无需等待加载。
我实测的切换效果如下:
- 🎨 背景瞬间变暗:整站底色切换为深灰黑色调,长时间阅读不再刺眼;
- 📖 文字对比度优化:正文、标题颜色调整为柔和的浅色系,夜间阅读清晰舒适;
- 💻 代码块同步适配:Markdown 渲染出的代码区域自动换成深色配色,代码高亮更突出;
- 🖼️ 背景图联动更换:首页主视觉背景图会切换为更暗的复古街景版本,与夜间主题浑然一体。
切换后按钮也会随之变化:月亮图标变成太阳图标,文字从 "night" 变为 "DAY",提醒你当前正处于黑夜模式,再点一次即可随时切回白天模式。
黑夜模式实测第3步:刷新页面,验证主题记忆不丢失
很多博客的黑夜模式一刷新就打回原形,但 jcalaBlog 不会。我实测了两种场景:
- 直接刷新页面:黑夜模式依然保持,不会跳回白色;
- 关闭浏览器重新打开:再次访问时依然是夜间主题。
这是因为 jcalaBlog 把主题偏好写入了浏览器的本地存储(localStorage),相当于给博客装了一个"记忆":你选过一次黑夜模式,它就一直记得。想恢复白天模式,只需再点一次太阳按钮即可,同样会被记住。这个细节对重度夜间用户来说非常友好。
一键黑夜模式背后的小秘密:原理其实很简单
虽然面向普通用户不需要懂原理,但如果你好奇它是怎么做到的,这里用一句话概括:它做的只是"换一套 CSS 皮肤"。
- 白天模式加载的是 landing-page.min.css;
- 点击切换后,动态把页面主题替换为 landing-page-dark.min.css,整个站点立刻"变暗";
- 切换按钮和主题恢复逻辑写在前台脚本 front-end.min.js 中;
- 每次打开页面时,header.vm 会读取本地存储中的主题标记,自动恢复你上次的选择。
整个过程不涉及后端接口、不刷新页面、不重建样式,轻量又高效。想做二次开发的朋友,只需关注这几个文件即可。
3步开启jcalaBlog黑夜模式:操作清单速览
最后把完整流程浓缩成一张清单,方便你照着操作:
| 步骤 | 操作 | 效果 |
|---|---|---|
| 第1步 | 启动 jcalaBlog,找到导航栏右侧的月亮"NIGHT"按钮 | 找到黑夜模式入口 |
| 第2步 | 点击按钮,无需刷新 | 全站切换为夜间主题 |
| 第3步 | 刷新或重开浏览器验证 | 主题记忆生效,长期保持黑夜模式 |
jcalaBlog 的一键黑夜模式,把"夜间主题"的门槛降到了零:不需要会 CSS,不需要改配置文件,普通用户点一下就能拥有舒适的深色阅读体验,开发者也能从它的实现中学到一种轻量的主题切换思路。如果你正想搭建一个自带黑夜模式的个人博客,不妨亲自跑起来试一试,3步之后,你的博客也能秒变夜间主题。🌙
【免费下载链接】jcalaBlog 项目地址: https://gitcode.com/gh_mirrors/jca/jcalaBlog
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






