Skip to content

v1.5.0 — 现代化增强版

Choose a tag to compare

@zycwer zycwer released this 18 Jul 13:52

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: 6

2. Open Graph & Twitter Card

自动为每个页面注入社交分享 meta 标签,在微信、Telegram、Twitter/X、Slack、Discord 等平台分享时展示标题、描述与封面图。

  • og:type / og:title / og:description / og:url / og:site_name / og:image
  • twitter:card(有封面时为 summary_large_image
  • 封面图优先级:文章 cover → 首页 index.photologo
  • 自动转换为绝对 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 安装提示要求)
  • maskable purpose 图标,适配 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_time
  • sitemap.enable
  • pwa.*

📝 文档


Full Changelog: v1.4.0...v1.5.0