v1.5.0 — 现代化增强版
v1.5.0 — 现代化增强版
本次发布聚焦于站点基础设施与用户体验的现代化升级,新增 6 项开箱即用的功能(除文章相关功能外),无需额外依赖即可启用。
✨ 新功能
1. 深色模式(Dark Mode)
基于 CSS 变量的运行时深色模式,切换无需重建,支持四种策略:
| 模式 | 行为 |
|---|---|
light |
始终浅色(默认) |
dark |
始终深色 |
auto |
跟随浏览器 prefers-color-scheme,系统切换实时响应 |
time |
在指定时段自动切换深色(支持跨午夜,如 18:00 → 06:00) |
- 导航栏右侧 ☾/☀ 一键切换按钮,选择持久化到
localStorage - 首屏内联同步脚本在 CSS 加载前设置
data-theme,杜绝 FOUC - 用户手动覆盖优先于配置策略
- 全站适配:页面背景、页脚、搜索框、代码块、代码高亮、时间线、卡片等全部响应深色模式
- 代码高亮双主题:浅色用 GitHub Light,深色用 GitHub Dark,保证代码可读性
color_mode: auto # light | dark | auto | time
color_mode_time:
start: 18
end: 62. Open Graph & Twitter Card
自动为每个页面注入社交分享 meta 标签,在微信、Telegram、Twitter/X、Slack、Discord 等平台分享时展示标题、描述与封面图。
og:type/og:title/og:description/og:url/og:site_name/og:imagetwitter:card(有封面时为summary_large_image)- 封面图优先级:文章
cover→ 首页index.photo→logo - 自动转换为绝对 URL
3. JSON-LD 结构化数据
按页面类型自动注入 schema.org JSON-LD,帮助搜索引擎生成富媒体结果:
- 关于页 →
Person - 文章页 →
Article(含datePublished/dateModified/author/image/keywords) - 其他页面 →
WebSite - 所有字符串字段做 JSON 转义,避免标题/描述含双引号时破坏 JSON
4. 站点地图(Sitemap)
内置 sitemap.xml 生成器,构建时自动产出,可直接提交给 Google Search Console / Bing Webmaster / 百度站长。
- 首页(priority=1.0, daily)—— 使用根 URL
/,避免与/index.html重复 - 所有文章(priority=0.8, weekly, 含 lastmod)
- 所有页面(priority=0.6, monthly)
- 分类与标签归档页(priority=0.4, weekly)
sitemap:
enable: true # 默认开启5. PWA(可安装应用)
可选生成 manifest.json 与 Service Worker(sw.js),支持「添加到主屏幕」与离线访问。
manifest.json自动从favicon配置生成 icons 数组- 含 192x192 与 512x512 图标声明(满足 Chrome 安装提示要求)
- 含
maskablepurpose 图标,适配 Android 自适应图标 - Service Worker 策略:静态资源缓存优先、HTML 网络优先回退缓存
- 自动注册(仅生产环境 / HTTPS / localhost 生效)+
<meta name="theme-color">
pwa:
enable: false # 默认关闭,按需开启
name:
short_name:
display: standalone
theme_color: "#fcfcfb"
background_color: "#fcfcfb"6. 图片懒加载
after_post_render filter 自动为文章正文 <img> 注入 loading="lazy" 与 decoding="async",提升首屏性能,浏览器原生支持无需额外 JS。已含 loading 属性的图片不会被覆盖。
📦 升级方式
cd themes/tranquility
git pull
git checkout v1.5.0然后将 themes/tranquility/_config-template.yml 中的新增配置项同步到你的 _config.tranquility.yml:
color_mode/color_mode_timesitemap.enablepwa.*
📝 文档
Full Changelog: v1.4.0...v1.5.0