Skip to content

Releases: D-Sketon/hexo-theme-reimu

v1.6.0

16 Mar 11:21
Compare
Choose a tag to compare

特性

  • 新增了 pangu 配置用于开启/关闭中英文间的空格,默认关闭
    pangu:
      enable: false # true | false
  • 新增了 cover 配置用于全局控制 post 的封面,其优先级比 front-matter 低,支持 falseurlrgb 三种类型
    cover: # https://example.com / false / rgb(255,117,117)
  • Front-matter 中新增 toc 字段用于控制 post 的 TOC,其优先级比全局配置高。
    ---
    toc: true # true | false
    ---
  • 新增了 toc 配置用于全局控制 post 的 TOC,其优先级比 front-matter 低。
    toc: true # true | false
  • 新增了 only_show_capsule_in_index 配置用于控制是否只在归档的首页展示所有分类和标签的胶囊列表,默认关闭。当文章含有大量分类和标签时,开启此选项可以大大提升编译速度。
    only_show_capsule_in_index: false # true | false

性能

  • 提升编译速度

27 分类 + 100 标签

500 篇文章 1.6.0 1.5.2 1.5.1
默认 6.3s 9.85s 4.33min
开启 i18n 9.92s 16.97s 9.4min
开启 relative_link 9.12s 11.54s 5.1min
1000 篇文章 1.6.0 1.5.2 1.5.1
默认 11.01s 18.9s 15min
开启 i18n 16.69s 33.95s >15min
开启 relative_link 14.58s 20.89s >15min
2000 篇文章 1.6.0 1.5.2 1.5.1
默认 19.95s 36.66s >30min
开启 i18n 31s 40.76s >30min
开启 relative_link 27.76s 65.99s >30min

500 分类 + 2500 标签

500 篇文章 1.6.0 only_show_capsule_in_index=true 1.6.0 1.5.2 1.5.1
默认 25.57s 55.53s 2.7min >10min
  • @reimujs/hexo-renderer-markdown-it-plus 1.2.1 提升了预处理速度
@reimujs/hexo-renderer-markdown-it-plus 1.2.1 1.2.0
500 篇文章 预处理 2.98s 5.98s
1000 篇文章 预处理 4.96s 11s
2000 篇文章 预处理 7.85s 20s

Features

  • Added pangu configuration to enable/disable spaces between Chinese and English text. Default is false.
    pangu:
      enable: false # true | false
  • Added cover configuration for global control of post covers. It has lower priority than front-matter and supports false, url, and rgb types.
    cover: # https://example.com / false / rgb(255,117,117)
  • Added toc field in front-matter to control the Table of Contents (TOC) for posts. It has higher priority than global configuration.
    ---
    toc: true # true | false
    ---
  • Added toc configuration for global control of post TOC. It has lower priority than front-matter.
    toc: true # true | false
  • Added only_show_capsule_in_index configuration to control whether to display all categories and tags' capsule lists only on the archive index page. Default is false. Enabling this option can significantly improve compilation speed when posts contain a large number of categories and tags.
    only_show_capsule_in_index: false # true | false

Performance

  • Improved compilation speed.

27 categories + 100 tags

500 posts 1.6.0 1.5.2 1.5.1
Default 6.3s 9.85s 4.33min
With i18n 9.92s 16.97s 9.4min
With relative_link 9.12s 11.54s 5.1min
1000 posts 1.6.0 1.5.2 1.5.1
Default 11.01s 18.9s 15min
With i18n 16.69s 33.95s >15min
With relative_link 14.58s 20.89s >15min
2000 posts 1.6.0 1.5.2 1.5.1
Default 19.95s 36.66s >30min
With i18n 31s 40.76s >30min
With relative_link 27.76s 65.99s >30min

500 categories + 2500 tags

500 posts 1.6.0 only_show_capsule_in_index=true 1.6.0 1.5.2 1.5.1
Default 25.57s 55.53s 2.7min >10min
  • @reimujs/hexo-renderer-markdown-it-plus 1.2.1 improved preprocessing speed.
@reimujs/hexo-renderer-markdown-it-plus 1.2.1 1.2.0
500 posts preprocessing 2.98s 5.98s
1000 posts preprocessing 4.96s 11s
2000 posts preprocessing 7.85s 20s

Full Changelog: v1.5.2...v1.6.0

v1.5.2

08 Mar 06:45
Compare
Choose a tag to compare

修复

  • 修复了由于引入多语言而造成的性能回归问题
1.5.1 1.5.2
500 篇文章 关闭多语言 7.15min 9.63s
500 篇文章 开启多语言 10min 16.74s

特性

  • 新增 tag_limitstagcloud_limits 配置用于限制 widget 标签和标签云的数量
    tag_limits: # 标签数量限制
    tagcloud_limits: # 标签云数量限制

Fixes

  • Fixed performance regression caused by the introduction of multilingual support.
1.5.1 1.5.2
500 Articles, i18n Off 7.15min 9.63s
500 Articles, i18n On 10min 16.74s

Features

  • Added tag_limits and tagcloud_limits configurations to limit the number of tags in widgets and tag clouds.
    tag_limits: # Limits the number of tags
    tagcloud_limits: # Limits the number of tags in the tag cloud

Full Changelog: v1.5.1...v1.5.2

v1.5.1

01 Mar 14:39
Compare
Choose a tag to compare

修复

  • 修正 ja 多语言翻译错误
  • 修复多语言模式下 footer 错误缓存的 bug
  • 修复和优化样式,提升文字对比度,优化阴影效果

特性

  • 新增 injector 配置用于注入自定义代码,其效果和 Hexo#Injector 类似,支持 headbodysidebar 注入
    injector:
      head_begin: # Inject code snippet right after <head>
      head_end: # Inject code snippet right before </head>
      body_begin: # Inject code snippet right after <body>
      body_end: # Inject code snippet right before </body>
      sidebar_begin: # Inject code snippet right after <aside>
      sidebar_end: # Inject code snippet right before </aside>

Fixes

  • Fixed incorrect Japanese multilingual translation errors.
  • Resolved footer caching bugs under multilingual mode.
  • Optimized styles: Improved text contrast and enhanced shadow effects.

Features

  • Added injector configuration to inject custom code snippets, with functionality similar to Hexo#Injector. It supports injection into head, body, and sidebar areas:
    injector:  
      head_begin: # Inject code snippet right after <head>  
      head_end: # Inject code snippet right before </head>  
      body_begin: # Inject code snippet right after <body>  
      body_end: # Inject code snippet right before </body>  
      sidebar_begin: # Inject code snippet right after <aside>  
      sidebar_end: # Inject code snippet right before </aside>  

New Contributors

Full Changelog: v1.5.0...v1.5.1

v1.5.0

23 Feb 11:46
Compare
Choose a tag to compare

Tip

多语言使用相关详情请见 如何为Hexo添加多语言支持

修复

  • 修复了 languageen 时菜单跳转链接异常的 bug
  • 修复了首页/归档/分类/标签/最近文章等页面不能正确显示多语言文章的标题和摘要的 bug
  • 修复了文章版权声明在多语言模式下文章链接显示错误的 bug
  • 修复了 pjax 下多语言切换时页面语言不更新的 bug

特性

  • 文章版权现在支持多语言了

重构

  • 发布了 @reimujs/hexo-algoliasearch 插件,用于支持多语言文章的搜索,其使用方式和 hexo-algoliasearch 完全一致
  • 内置了 hexo-generator-search 插件用于支持多语言文章的搜索,所以无需再安装 hexo-generator-search,其配置方式和 hexo-generator-search 基本一致:
    generator_search:
      enable: true # true | false
      field: post
      content: true

Tip

For more information about multiple languages(i18n), please refer to How to add multi-language support to Hexo

Fixes

  • Fixed a bug where menu jump links were abnormal when language was set to en.
  • Fixed a bug where the homepage/archive/category/tag/recent posts pages could not correctly display titles and summaries of multilingual articles.
  • Fixed a bug where the article copyright statement displayed incorrect article links in multilingual mode.
  • Fixed a bug where the page language would not update when switching languages under pjax.

Features

  • Article copyright now supports multiple languages.

Refactor

  • Released the @reimujs/hexo-algoliasearch plugin to support searching for multilingual articles. Its usage is identical to hexo-algoliasearch.
  • Built-in hexo-generator-search plugin to support searching for multilingual articles, so there's no need to install hexo-generator-search separately. Its configuration is mostly the same as hexo-generator-search:
    generator_search:
      enable: true # true | false
      field: post
      content: true

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

v1.4.0

16 Feb 14:55
Compare
Choose a tag to compare

修复

  • 修复了 <video></video> 标签不可见的 bug

特性

  • Aplayer 新增了 lrcType 配置用于控制歌词类型

  • dark_mode 新增了 auto 模式,根据用户系统设置自动切换,且现在默认为 auto 模式

    dark_mode:
      enable: auto # true | false | auto
  • 实验性地引入了 hexo-generator-i18n 并提供了多语言切换功能,可以在内层 _config.yml 中配置 i18n 来添加自定义语言,其配置方式可参考 hexo-generator-i18n

    i18n:
      enable: false # false | true
      type: [page, post]
      generator: [archive, category, tag, index]
      languages: [zh-CN, en] # 语言列表,第一个为默认语言

    对于 post 的多语言支持,可以在 Front-matter 中添加 lang 来指定除默认语言外的其他语言(默认语言不需要添加)

    lang: en

    以上会生成 /en/:permalink 的页面

    对于 page 的多语言支持,可直接在 source 文件夹下新建对应语言的文件夹,并将 index.md 放入其中,如 source/en/about/index.md。这会生成 /en/about 的页面

  • 新增了类似 vitepress 的自定义容器功能,使用前需要安装最新的(v1.2.0+) @reimujs/hexo-renderer-markdown-it-plus,并在内层 _config.yml 中将 markdown.container 改为 true

    markdown:
      container: true

    使用方法如下:

    ::: info
    This is an info box.
    :::
    
    ::: tip
    This is a tip.
    :::
    
    ::: warning
    This is a warning.
    :::
    
    ::: danger
    This is a dangerous warning.
    :::
    
    ::: danger 自定义标题
    Danger zone, do not proceed
    :::
    
    ::: details
    This is a details block.
    :::

Fixes

  • Fixed a bug where the <video></video> tag was not visible.

Features

  • Added lrcType configuration to Aplayer for controlling lyric types.

  • Introduced auto mode for dark_mode, which automatically switches based on the user's system settings. The default mode is now auto.

    dark_mode:
      enable: auto # true | false | auto
  • Experimental integration of hexo-generator-i18n with multilingual switching support. You can configure i18n in the inner _config.yml to add custom languages. Refer to hexo-generator-i18n for configuration details:

    i18n:
      enable: false # false | true
      type: [page, post]
      generator: [archive, category, tag, index]
      languages: [zh-CN, en] # List of languages, the first one is the default language

    For multilingual support in posts, add lang in the Front-matter to specify languages other than the default language (the default language does not need to be added).

    lang: en

    This will generate a page at /en/:permalink.

    For multilingual support in pages, create a folder for the corresponding language in the source directory and place an index.md file inside it, such as source/en/about/index.md. This will generate a page at /en/about.

  • Added a custom container feature similar to vitepress. Before using it, install latest(v1.2.0+) @reimujs/hexo-renderer-markdown-it-plus and set markdown.container to true in the inner _config.yml.

    markdown:
      container: true

    Usage is as follows:

    ::: info
    This is an info box.
    :::
    
    ::: tip
    This is a tip.
    :::
    
    ::: warning
    This is a warning.
    :::
    
    ::: danger
    This is a dangerous warning.
    :::
    
    ::: danger Custom Title
    Danger zone, do not proceed.
    :::
    
    ::: details
    This is a details block.
    :::

Full Changelog: v1.3.2...v1.4.0

v1.3.2

09 Feb 06:50
Compare
Choose a tag to compare

修复

  • 修复了 KaTeX 客户端渲染在 PJAX 模式下 Waline 等评论报错的 bug
  • 修复了 ValineGitalkTwikoo 评论系统在 PJAX 模式下抛出异常的 bug
  • 优化了 WalineGitalk 评论系统的样式
  • 优化了 sticky Tag 的样式
  • 优化了 PJAX 模式下 script 标签的执行逻辑

特性

  • vendor 现在支持使用链接,现在以下配置均合法
    vendor:
      js:
        katex: webcache|[email protected]/dist/katex.min.css # 使用指定 CDN
        katex: https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css # 使用链接
        katex: /vendor/katex.min.css # 使用本地文件

Fixes

  • Fixed a bug where KaTeX client-side rendering caused errors with Waline and other comments in PJAX mode.
  • Fixed bugs where Valine, Gitalk, and Twikoo comment systems threw exceptions in PJAX mode.
  • Optimized the styles for the Waline and Gitalk comment systems.
  • Optimized the styles for the sticky tag.
  • Optimized the script tag execution logic in PJAX mode.

Features

  • Vendor now supports using links, and the following configurations are valid:
    vendor:
      js:
        katex: webcache|[email protected]/dist/katex.min.css # Use a specified CDN
        katex: https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css # Use an absolute URL
        katex: /vendor/katex.min.css # Use a local file

Full Changelog: v1.3.1...v1.3.2

v1.3.1

02 Feb 08:14
Compare
Choose a tag to compare

修复

  • 修复了代码块存在横向滚动条时行号和代码块不对齐的 bug
  • 修复了侧边栏溢出时无法滚动的 bug

特性

  • 添加了 theme_version_check 配置用于检查主题版本,当主题版本过低时会在控制台输出警告
    theme_version_check: true # true | false
  • 添加了 theme_config_check 配置用于检查主题配置,当主题配置存在冲突时会在控制台输出警告
    theme_config_check: true # true | false
  • 渐进支持了 interpolate-size,现在 Chrome 129+ 的代码块折叠和 TOC 锚点会有动画效果

杂项

  • 升级了 mouse-firework 依赖,减少内存占用

Fixes

  • Fixed bug where line numbers and code blocks were misaligned when horizontal scrollbars were present.
  • Fixed bug where sidebar couldn't scroll when overflowing.

Features

  • Added theme_version_check configuration to check the theme version. A warning will be displayed in the console when the theme version is outdated.
    theme_version_check: true # true | false
  • Added theme_config_check configuration to check for theme configuration conflicts. A warning will be displayed in the console if there are any conflicts.
    theme_config_check: true # true | false
  • Progressive support for interpolate-size, now code block collapsing and TOC anchor points will have animation effects in Chrome 129+.

Miscs

  • Upgraded the mouse-firework dependency to reduce memory usage.

Full Changelog: v1.3.0...v1.3.1

v1.3.0

05 Jan 04:17
Compare
Choose a tag to compare

修复

  • 修复了自定义封面时 pjax 失效的 bug
  • 修复了点击侧边栏按钮进行跳转时 pjax 失效的 bug
  • 修复了当标题以数字开头时 TOC 无法正常显示的 bug
  • 修正样式

特性

  • 新增了 share 配置用于开启分享功能,目前支持 facebooktwitterlinkedinredditweiboqqweixin
    share:
      - facebook
      - twitter
      - linkedin
      - reddit
      - weibo
      - qq
      - weixin
    weixin 状态下会生成带有二维码的分享卡片,可保存到本地后分享到微信朋友圈(注意,当文章封面存在跨域问题时无法使用 html-to-image 正确生成含图片的卡片!)
  • 支持在文章 front-matter 中配置 sidebar 字段,用于控制文章是否显示侧边栏,优先级高于全局配置
    ---
    sidebar: left # left | right | false
    ---
  • reimu_cursor 配置结构发生变化,新增 cursor 配置用于自定义鼠标路径。(仍然兼容老配置)
    reimu_cursor:
      enable: true
      cursor:
        default: ../images/cursor/reimu-cursor-default.png
        pointer: ../images/cursor/reimu-cursor-pointer.png
        text: ../images/cursor/reimu-cursor-text.png

Fixes

  • Fixed bug where PJAX failed when using a custom cover.
  • Fixed bug where PJAX failed when clicking sidebar buttons for navigation.
  • Fixed bug where TOC didn't display correctly when the title started with a number.
  • Fixed styles.

Features

  • Added share configuration to enable sharing functionality. Currently supports facebook, twitter, linkedin, reddit, weibo, qq, and weixin.

    share:
      - facebook
      - twitter
      - linkedin
      - reddit
      - weibo
      - qq
      - weixin

    When weixin is enabled, a share card with a QR code will be generated, which can be saved locally and shared to WeChat Moments. (Note: If the article cover has cross-origin issues, the HTML-to-image process might fail to generate the card with an image!)

  • Added support for sidebar field in article front-matter to control whether the sidebar is displayed for that article. This overrides global configuration.

    ---
    sidebar: left # left | right | false
    ---
  • The reimu_cursor configuration structure has changed. A new cursor field allows for custom mouse paths. (Old configuration is still supported.)

    reimu_cursor:
      enable: true
      cursor:
        default: ../images/cursor/reimu-cursor-default.png
        pointer: ../images/cursor/reimu-cursor-pointer.png
        text: ../images/cursor/reimu-cursor-text.png

Full Changelog: v1.2.0...v1.3.0

V1.2.0

28 Dec 13:08
Compare
Choose a tag to compare

修复

  • 修复 home_categories 只能填写一个以上分类的 bug

特性

  • 新增了 live2d_widgets 配置用于开启/关闭 live2d-widgets

    live2d_widgets:
      enable: true # true | false
      position: left # left | right
  • toplive2d 新增 position 配置,用于控制其位置

    top:
      enable: true # true | false
      position: right # left | right
    
    live2d:
      enable: true # true | false
      position: left # left | right
  • 新增 player 配置用于配置 Aplayer / Meting 音乐播放器,使用前建议打开 pjax

    player:
      aplayer:
        enable: false
        options:
          audio: []
          fixed:
          autoplay:
          loop:
          order:
          preload: 
          volume:
          mutex:
          listFolded:
      meting:
        enable: false
        meting_api: # custom api
        options:
          id: 
          server: 
          type: 
          auto:

Fixes

  • Fixed bug where home_categories could only contain one category.

Features

  • Added live2d_widgets configuration to enable/disable live2d-widgets.

    live2d_widgets:
      enable: true # true | false
      position: left # left | right
  • Added position configuration for top and live2d to control their position.

    top:
      enable: true # true | false
      position: right # left | right
    
    live2d:
      enable: true # true | false
      position: left # left | right
  • Added player configuration to configure Aplayer / Meting music players. It is recommended to enable PJAX before using.

    player:
      aplayer:
        enable: false
        options:
          audio: []
          fixed:
          autoplay:
          loop:
          order:
          preload: 
          volume:
          mutex:
          listFolded:
      meting:
        enable: false
        meting_api: # custom api
        options:
          id: 
          server: 
          type: 
          auto:

Full Changelog: v1.1.1...v1.2.0

v1.1.1

15 Dec 08:12
Compare
Choose a tag to compare

修复

  • 修复了客户端渲染下 KaTeX 内链公式无法显示的 bug

特性/优化

现在数学公式不论客户端渲染还是服务端渲染均需安装 @reimujs/hexo-renderer-markdown-it-plus

不论 KaTeX 还是 MathJax3 的客户端渲染,都强烈建议在外层 _config.yml 中添加如下配置

markdown_it_plus:
  rawLaTeX: true # for client render

这样便无需添加 raw 标签即可直接使用原生 LaTeX 多行块公式


Fixes

  • Fixed bug where inline KaTeX formulas were not displaying correctly in client-side rendering.

Features/Optimizations

Now, for both client-side and server-side rendering of mathematical formulas, you need to install @reimujs/hexo-renderer-markdown-it-plus.

For both KaTeX and MathJax3 client-side rendering, it is strongly recommended to add the following configuration in the outer _config.yml:

markdown_it_plus:
  rawLaTeX: true # for client render

With this configuration, you can use native LaTeX block formulas without needing to add the raw tag.


Full Changelog: v1.1.0...v1.1.1