少女祈祷中...

hexo-theme-reimu 的开发日志,记录了每一次更新的内容

如果你有任何问题或建议,欢迎提交 Issues

v0.3.4

2024.11.16

修复

  • 各种乱七八糟的杂项修复
  • 优化 excerpt 的显示逻辑
    • excerpt 字段单用时仅仅作为摘要,不会作为文章内容显示,而仅仅出现在首页
    • excerpt 字段和 link 字段合用时,会作为文章内容显示,且文章会出现 Read More 按钮用于跳转

特性

  • 现在 quicklink 默认改为关闭

  • 代码高亮支持了 patch 语言类型

  • vendor 支持 SRI 校验:

    1
    2
    3
    4
    js:
    clipboard:
    src: webcache|clipboard@2.0.11/dist/clipboard.min.js
    integrity: sha384-J08i8An/QeARD9ExYpvphB8BsyOj3Gh2TSh1aLINKO3L0cMSH2dN3E22zFoXEi0Q

性能

  • photoswipe 相关 js 现在只会在 page 和 post 页面加载
  • comment 相关 js 现在只会在 page 和 post 页面加载

重构

  • 重构了 layout,移除了无关的代码(可能会有 BUG,请及时反馈)

v0.3.3

2024.11.03

修复

  • 修复了 giscus 在首页和归档页面异常显示的 bug

v0.3.2

2024.11.02

修复

  • 修正了 front-matter 中文章版权声明配置读取逻辑。现在的逻辑为:
    • 首先读取文章的 front-matter 中的 copyright,如果不存在则再读取全局配置(保证与其他配置项一致)

特性

  • 搜索蒙层添加了动画效果

  • 新增了赞助功能,可以通过以下配置设置赞助信息

    1
    2
    3
    4
    5
    6
    7
    8
    sponsor:
    enable: false # true | false
    tip: 请作者喝杯咖啡吧! # 赞助提示
    qr:
    # - name: 支付宝
    # src: "/sponsor/alipay.jpg"
    # - name: 微信
    # src: "/sponsor/wechat.png"

    此外,也可以通过文章的 front-matter 控制,其优先级高于全局配置

    1
    2
    3
    ---
    sponsor: true # 是否展示赞助二维码?
    ---
  • Open Graph 添加了 default_og_image 字段,用于设置默认的 Open Graph 图片(适用于主页、归档等无图页面)

    1
    2
    3
    open_graph:
    options:
    default_og_image: /images/banner.webp # 默认 Open Graph 图片,同时支持绝对路径

性能

  • CSS 持续性 tree-shaking,现在 widget、copyright 和 sponsor 的样式都是按需打包的

v0.3.1

2024.10.26

修复

  • 修复了 pjax 下 title 无法更新的 bug
  • 修复了 pjax 下文章头图无法更新的 bug
  • 修复了 fontawesome 下部分图标显示异常的 bug

特性

  • 支持在文章 front-matter 中配置是否关闭文章版权声明(需开启 article_copyright),适合如关于和友链等不需要版权声明的页面
    1
    2
    3
    ---
    copyright: false
    ---
  • 支持页脚展示ICP备案号
    1
    2
    3
    4
    icp:
    icpnumber: # ICP备案号
    beian: # 网安备案号
    recordcode: # 网安备案链接中的recordcode参数

v0.3.0

2024-10-20

修复

  • 修复了 pjax 下 clipboard 的内存泄露问题
  • 修复了 pjax 下 pace 的内存泄露问题

特性

  • 支持了 Open Graph,具体配置说明可以参考 Hexo-Open-Graph
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    open_graph:
    enable: true # true | false
    options:
    #twitter_card: <twitter:card>
    #twitter_id: <twitter:creator>
    #twitter_site: <twitter:site>
    #twitter_image: <twitter:image>
    #google_plus: <g+:profile_link>
    #fb_admins: <fb:admin_id>
    #fb_app_id: <fb:app_id>
  • 支持配置过渡动画,现在可以为每种元素配置不同的过渡动画,过渡动画类型可参考 AOS
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    animation:
    enable: true # true | false
    options:
    header:
    title: slide-up
    subTitle: slide-down
    home:
    post: fade-up
    widget: fade-up
    sidebar: fade-up
    article:
    whole: fade-up
    date: zoom-in
    category: zoom-in
    tag: zoom-in
    comment: zoom-in
    reading: zoom-in
    nav: fade-up
    archive:
    whole: fade-up
    tag: zoom-in
    category: zoom-in
    section: fade-up
    nav: fade-up
  • 支持配置 Google Font 字体
    1
    2
    3
    4
    5
    6
    7
    8
    font:
    article:
    - Mulish
    - Noto Serif SC
    code:
    # - Ubuntu Mono
    # - Source Code Pro
    # - JetBrains Mono
  • 支持配置是否开启 pace 进度条(以前是默认开启)
    1
    2
    pace:
    enable: true # true | false

⚠️ 重构 ⚠️

  • WOW 现在改为使用精简版 AOS,同时修改了动画的类型,并修复了 pjax 下内存泄露的问题
  • 样式的大量重构,包括但不限于
    • loader
      • 修改加载动画太极的颜色
    • header
      • 修改了默认头图样式
      • 标题和副标题添加了 AOS 动画
      • nav 太极图改为使用图标,并修改 hover 动画
    • search
      • input 框修改颜色,添加 hover 样式,并移除清空按钮
      • 添加博丽灵梦背景
    • article
      • 文章添加了 AOS 动画
      • 修改并统一 hr 样式
      • 优化夜间模式下的代码块样式
      • 文章底部的版权声明添加了背景
      • 修复 pull quote 样式异常
    • sidebar
      • 太极图改为使用图标,并修改 hover 动画
      • 修改按钮样式
      • 为 widget 添加了溢出省略号隐藏
    • footer
      • 优化夜间模式下的样式

性能

  • 搜索 js 现在改为异步加载
  • phtotswipe、主页的 katex/waline/gitalk css 现在改为异步加载
  • photoswipe 改用 min 版本 js
  • 化简 ejs 和 css 代码

v0.2.4

2024.09.17

特性

  • 优化了搜索,为其添加了花里胡哨的动画效果,并消除了由蒙版带来的页面抖动,现在搜索更好看了!
  • 现在代码复制支持携带版权信息,当复制的字符数大于 count 时会在复制的内容后面添加 content 版权声明。默认关闭
    1
    2
    3
    4
    5
    clipboard:
    copyright:
    enable: false # true | false 是否携带版权信息
    count: 50 # 大于多少字符添加版权声明
    content: 本文版权:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 新增了文章过期提醒功能,默认关闭
    1
    2
    3
    4
    outdate:
    enable: false # true | false 是否开启文章过期提醒
    daysAgo: 180 # 多少天前的文章算过期
    message: 本文最后更新于 {time},请注意文中内容可能已经发生变化。 # 提示信息

修复

  • 修复了灵梦鼠标指针在 firefox 下显示异常的 bug
  • 改变了 live2d 的 cdn 地址,并修复了原 api 无法拉取模型的 bug

v0.2.3

2024.09.01

特性

  • 优化了 gitalk 评论系统,现在可以使用 md5 hash 来解决 gitalk 标签数量限制的问题
    1
    2
    gitalk:
    md5: # true | false 是否使用 md5 hash
  • 新增了 ServiceWorker 更新提示功能,现在在开启了 ServiceWorker 的情况下,当重新生成博客时会弹出弹窗提示用户更新
  • 新增了 ServiceWorker 自动卸载功能,现在在关闭了 ServiceWorker 的情况下,当用户访问博客时会自动卸载旧有的 ServiceWorker
  • 新增了 quicklink 功能,默认开启,打开后可以在用户停留在页面时预加载链接,提高用户体验
    1
    2
    3
    4
    5
    quicklink:
    enable: # true | false
    timeout: 3000 # 预加载超时时间
    priority: true # 是否优先加载
    ignores: [] # 忽略的链接,目前仅仅支持字符串

v0.2.2

2024.08.24

修复

  • 修复了 gitalk 评论系统 admin 字段读取异常的 bug
  • 简化了 css 和 js 代码,减少了文件大小

特性

  • 优化了 TOC 的样式,现在更好看了!

重构

  • 现在 ServiceWorker 默认关闭,需要手动开启

v0.2.1

2024.07.19

修复

  • 修复了使用 npm 安装主题时,显示 no such file or directory, open '...\themes\reimu\source\js\sw.js' 的 bug

特性

v0.2.0

2024-06-09

修复

  • 修复了在使用 hexo-blog-encrypt 时代码块样式显示异常
  • 修复了 pjax 模式下 waline 的内存泄露问题
  • 修复了 config.url 含有 pathname 时静态资源 404 的 bug

特性

  • 新增了文章版权声明的功能,默认关闭
    1
    2
    3
    4
    5
    6
    7
    8
    9
    article_copyright:
    enable: # true | false 是否展示版权卡片?
    content:
    author: # true | false 版权卡片展示作者?
    link: # true | false 版权卡片展示链接?
    title: # true | false 版权卡片展示标题?
    date: # true | false 版权卡片展示创建日期?
    updated: # true | false 版权卡片展示更新日期?
    license: # true | false 版权卡片展示协议?
  • 新增了内链/外链卡片的标签插件
    • postLinkCard
      1
      {% postLinkCard slug [cover]|"auto" [escape] %}
      其中第一个参数为文章的 slug;第二个参数(可选)为卡片展示的封面,如果设置为 auto 则自动使用博客的 banner;第三个参数(可选)表示文章标题是否被转义
    • externalLinkCard
      1
      {% externalLinkCard title link [cover]|"auto" %}
      其中第一个参数为文章的标题;第二个参数为文章的外部链接,第三个参数(可选)为卡片展示的封面,如果设置为 auto 则自动使用缺省封面
  • 友链优化,现在变得更好看了!
  • 代码区域粘贴优化,现在粘贴后会有图标变化,且会弹出对应消息
  • 新增了 banner_srcset 功能,默认关闭
    1
    2
    3
    4
    5
    6
    7
    8
    9
    banner_srcset:
    enable: # true | false
    srcset:
    - src: "/images/banner-600w.webp"
    media: "(max-width: 479px)"
    - src: "/images/banner-800w.webp"
    media: "(max-width: 799px)"
    - src: "/images/banner.webp"
    media: "(min-width: 800px)"

性能

  • banner 和 avatar 改用 webp 格式,降低文件大小
  • Google font 字体优化
    • <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
    • <link rel="preload" as="style" href="https://fonts.googleapis.com/css">
    • <link rel="stylesheet" href="https://fonts.googleapis.com/css" media="print" onload="this.media='all'">
  • mermaid 支持懒加载,但现在需要同时在 config 和 front-matter 中启用 mermaid
    1
    2
    3
    ---
    mermaid: true
    ---

⚠️ 重构 ⚠️

  • 图标改用了 iconfont,但同时也保留了 fontawesome(icon_fontfalse 时默认使用 fontawesome)
    1
    icon_font: # icon_id | false
  • 移除了 JQuery 依赖
  • 移除了 fancybox 依赖,改用 photoswipe
  • 移除了文章分享按钮
  • 移除了部分过时的 css

v0.1.2

2024-04-27

修复

v0.1.1

2024-04-05

特性

  • 新增了可爱灵梦(╹▽╹)鼠标指针,默认开启
    1
    reimu_cursor: # true | false
  • 新增了 clarity 统计
    1
    clarity: # clarity ID
  • 移除了废弃的 gauges 统计,以下配置现在不可用
    1
    gauges_analytics: # gauges ID

修复

  • 修复了 front-matter 中未填写 comment 字段时评论不显示的 bug
  • 修复了 giscus 评论系统宽度显示异常的 bug

性能

  • 提升了 lighthouse 无障碍相关分数
  • 减少了 banner.jpg 的体积

v0.1.0

2024-01-14

🎉🎉🎉 经过了近一年的摸鱼,v0.1.0 终于发布啦 🎉🎉🎉

⚠️ 重构 ⚠️

  • hexo-algolia 替换为了 hexo-algoliasearch
  • 配置中的 vendor 进行了完全重构,现在支持手动切换 CDN:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    vendor:
    cdn_jsdelivr_gh: https://cdn.jsdelivr.net/gh/
    cdn_jsdelivr_npm: https://cdn.jsdelivr.net/npm/
    fastly_jsdelivr_gh: https://fastly.jsdelivr.net/gh/
    fastly_jsdelivr_npm: https://fastly.jsdelivr.net/npm/
    unpkg: https://unpkg.com/
    webcache: https://npm.webcache.cn/
    js:
    jquery: webcache|jquery@3.7.1/dist/jquery.min.js
    目前提供了 jsdelivr/ghjsdelivr/npmfastly.jsdelivr/ghfastly.jsdelivr/npmunpkgwebcache 这几个 CDN 源。所有的依赖地址现在的结构为 CDN源|依赖路径,在生成博客的过程中主题会自动将 CDN 源和后续路径拼接从而形成完整的地址

特性

  • ServiceWorker 增加对部分域名的选择缓存
  • 完善 TOC,目前 TOC 可以随着页面滚动而动态更新,也可以通过点击 TOC 跳转到对应锚点
  • 支持了 waline 的阅读统计功能,启用方式:
    1
    2
    waline:
    pageview: true

修复

  • 修复了 pjax 模式下 mermaid 显示异常的问题
  • 修复了 pjax 模式下 insert_highlight 多次调用的 bug
  • 同步了所有动画的持续时间和缓动函数
  • 修复了配置项未填写 widgets 后空指针的 bug

性能

  • 提升了 LCP 分数
    • google font 采用 rel:preload 的方式加载
    • banner 添加 fetchpriority="high"
    • fontawesome 部分 css 采用 rel:preload 的方式加载

v0.0.11

2024-01-10

特性

  • 新增了 ServiceWorker 功能,默认开启
    1
    2
    service_worker:
    enable: # true | false
  • 新增了 live2d 功能,默认关闭
    1
    2
    live2d:
    enable: # true | false
  • 导航栏优化,现在支持导航栏随着页面滚动的方向而动态显示和隐藏
  • 代码块现在支持了日夜模式,变得更好看了!
  • 日夜模式颜色 token 优化,变得更好看了!

v0.0.10

2024-01-07

修复

  • 修复了 404 页面不能正常搜索的 bug
  • 修复了 TOC 样式异常

特性

  • 现在不仅仅支持 algolia 搜索,也支持使用 hexo-generate-search 进行搜索了
    1
    2
    generator_search:
    enable: # true | false
  • 新增了鼠标烟火效果,默认开启(具体配置可以看 mouse-firework,也是本人写的一个库)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    firework:
    enable: # true | false
    options:
    excludeElements: ["a"]
    particles:
    - shape: circle
    move: ["emit"]
    easing: easeOutExpo
    colors: ["#ff5252", "#ff7c7c", "#ffafaf", "#ffd0d0"]
    number: 20
    duration: [1200, 1800]
    shapeOptions:
    radius: [16, 32]
    alpha: [0.3, 0.5]
    - shape: circle
    move: ["diffuse"]
    easing: easeOutExpo
    colors: ["#ff0000"]
    number: 1
    duration: [1200, 1800]
    shapeOptions:
    radius: 20
    alpha: [0.2, 0.5]
    lineWidth: 6
  • 新增了 pjax 功能,但目前仍然不稳定,会有很多 bug,默认关闭
    1
    2
    pjax:
    enable: # true | false

v0.0.9

2024-01-01

修复

  • 修复了缓存设置异常造成的 TOC 显示不正确的 bug
  • 修复了 valine 评论数显示异常的 bug

特性

  • 回到顶部按钮变得更好看了
  • TOC 新增了切换到首页的按钮
  • 支持了 valine 的阅读统计功能,启用方式:
    1
    2
    valine:
    visitor: true

v0.0.8

2023-12-31

特性

  • 万众期待的 TOC 终于实现了一部分
  • fontawesome 升级到 v6,同时为 social 新增了一堆图标
  • 新增了回到顶部按钮
  • 日夜模式颜色 token 优化,变得更好看了!
  • 适配 hexo v7

v0.0.7

2023-09-09

修复

  • 修复了 lazyload 和 fancybox 冲突的 bug
  • 新增了更多的封面选项

v0.0.6

2023-07-02

修复

  • 修复了移动端分页显示异常

特性

  • 新增了过渡动画功能,默认开启
    1
    2
    animation:
    enable: # true | false
  • 新增了日夜模式功能,可以通过以下配置设置默认模式
    1
    2
    dark_mode:
    enable: # true | false

v0.0.5

2023-06-30

特性

  • 新增了加载动画功能,默认开启
    1
    2
    3
    preloader:
    enable: # true | false
    text: # 加载文本
  • 新增了版本检查功能,如果发现了主题的新版本会在控制台中提示

重构

  • 移除本地 Ubuntu Mono 字体
  • 移除本地 fontawesome 字体

v0.0.4

2023-06-26

特性

  • 新增了百度统计

    1
    baidu_analytics: # baidu ID
  • 新增了 waline 评论系统

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    waline:
    enable: # true | false
    serverURL:
    lang: zh-CN
    locale: {} # https://waline.js.org/guide/features/i18n.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%AD%E8%A8%80
    emoji:
    - https://unpkg.com/@waline/emojis@1.2.0/weibo
    - https://unpkg.com/@waline/emojis@1.2.0/alus
    - https://unpkg.com/@waline/emojis@1.2.0/bilibili
    - https://unpkg.com/@waline/emojis@1.2.0/qq
    - https://unpkg.com/@waline/emojis@1.2.0/tieba
    - https://unpkg.com/@waline/emojis@1.2.0/tw-emoji
    meta:
    - nick
    - mail
    - link
    requiredMeta:
    - nick
    - mail
    wordLimit: 0
    pageSize: 10
  • 新增了 twikoo 评论系统

    1
    2
    3
    4
    twikoo:
    enable: # true | false
    envId: # 腾讯云环境填 envId;Vercel 环境填地址(https://xxx.vercel.app)
    region:
  • 新增了 gitalk 评论系统

    1
    2
    3
    4
    5
    6
    7
    gitalk:
    enable: # true | false
    clientID:
    clientSecret:
    repo:
    owner:
    admin:
  • 新增了 giscus 评论系统

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    giscus:
    enable: # true | false
    repo:
    repoId:
    category:
    categoryId:
    mapping:
    strict:
    reactionsEnabled:
    emitMetadata:
    inputPosition:
    commentTheme:
    lang: