Hexo 5.1.0、hexo-renderer-marked 3.1.0、hexo-math 4.0.0 和 hexo-util 2.4.0 发布

Hexo 5.1.0

新功能

  • feat(highlight): 为 prismHighlight 解析 ‘caption’ 选项 @curbengh #4476

    • caption 现在可以在 prismjs 中使用
    _config.yml
    highlight:
    enable: false
    prismjs:
    enable: true
    • 它可以在三个反引号的代码块中使用
    ``` js caption
    console.log('foo')
    ```
    • 上面的代码块将被渲染成
      (为了简洁起见,省略了类属性)

      <pre><div class="caption"><span>caption</span></div><code>console...</code></pre>
    • 你可以通过以下方式设置标题样式

      pre div.caption {
      font-size: 0.9em;
      color: #888;
      }

      pre div.caption a {
      float: right;
      }
    • 也可以通过 codeblockinclude_code 标签插件使用。

  • fix: 重构帖子转义 @SukkaW #4472

    • 修复了 prismjs 的问题,该问题在某些情况下无法正确删除 hexo 的处理标签
  • 删除配置文件中的插件选项 @stevenjoezhang #4475

    # _config.yml
    plugins:
    • plugins 选项已于很久之前弃用,现在已完全删除
    • 插件应保存在 scripts/ 文件夹中,或通过 npm package.json 安装。

性能


Hexo 5.0.2

变更

  • 恢复 “perf: 避免在 ‘clean’ 命令中运行插件” #4386 @curbengh #4470
    • 这修复了 hexo clean 中的错误。

Hexo 5.0.1

变更


hexo-renderer-marked 3.1.0

新功能

  • feat: postAsset 为每个帖子的相对路径添加前缀 #159

    • 有了这个功能,asset_img 标签插件不再需要。
    • 仅适用于 post_asset_folder
    • 例如,“image.jpg” 位于 “/2020/01/02/foo/image.jpg” 中,这是 “/2020/01/02/foo/“ 的帖子资源。
      • ![](image.jpg) 变为 <img src="/2020/01/02/foo/image.jpg">
    • 要启用
    _config.yml
    post_asset_folder: true
    marked:
    prependRoot: true
    postAsset: true
  • feat: 延迟加载 #156

    • 仅当图像进入视窗时才加载图像。 说明
    • loading="lazy" 将被注入到每个嵌入的 <img> 中。
    • 仅在 支持的浏览器 中有效。
    • 要启用
    marked:
    lazyload: true

依赖项

  • chore(deps-dev): 将 hexo 从 4.2.1 升级到 5.0.0 #158

hexo-math 4.0.0

重大变更

  • 语法已更改为标签插件语法 {% %} #130

    • 示例
    {% katex %}
    c = \pm\sqrt{a^2 + b^2}
    {% endkatex %}
    {% mathjax %}
    \frac{1}{x^2-1}
    {% endmathjax %}
    • 渲染器选项高度可定制,它可以在不同帖子之间以及同一帖子内不同。有关使用指南,请参考 文档
    • 如果你更喜欢使用 $...$ 语法,我们建议使用 hexo-filter-mathjax,它也是由 Hexo 开发人员 @stevenjoezhang 开发的。

杂项

  • 删除 Travis CI #134

hexo-util 2.4.0

重大变更

  • fix(highlight): 当 wrap 禁用时使用 <div> @curbengh #229

    • wrap 禁用时
    _config.yml
    highlight:
    wrap: false # defaults to true
    • 以前,标题被渲染成
    <pre>
    <figcaption>caption</figcaption>
    <code></code>
    </pre>
    • 现在它被渲染成
    <pre>
    <div class="caption">caption</div>
    <code></code>
    </pre>

新功能

  • feat(prism): 标题 @curbengh #227

    • 标题被渲染成
    <pre>
    <div class="caption">caption</div>
    <code></code>
    </pre>

hexo-util 2.3.0

变更

  • feat(highlight): 当 wrap 禁用时支持 ‘tab’ & ‘mark’ @curbengh #225

    • 以前,tabmark 选项仅在 wrap 启用时可用,现在即使 wrap 禁用,它们也可以使用。
    • 示例
    _config.yml
    highlight:
    tab_replace: ' '
    wrap: false
    {% codeblock lang:js mark:2,5 %}
    const input = [
    { name: 'lorem', item: 'ipsum' },
    { name: 'per', item: 'doming' },
    { name: 'dolor', item: 'lorem' },
    { name: 'usu', item: 'pericula' }
    ]
    {% endcodeblock %}
  • ci: 删除 appveyor @curbengh #224

  • docs(spawn): 链接到上游文档 @curbengh #223

hexo-util 2.2.0

新功能

  • perf(cache): 使用更快的 Map 而不是 Object。 @SukkaW #209

  • feat(cache): cache#dump & cache#size @SukkaW #209

    // Output number of key-value pairs
    cache.size();
    // 3

    // Outputs everything in cache
    cache.dump();
    /*
    {
    foo: 'bar',
    baz: 123,
    qux: 456
    }
    */

修复

  • spawn() 中支持字符串参数 @curbengh #220

    • 以前 spawn() 仅支持数组参数
    spawn('cat', ['test.txt']).then((content) => {
    console.log(content);
    });
    • 现在字符串参数也有效
    spawn('cat', 'test.txt').then((content) => {
    console.log(content);
    });
  • fix(highlight): 当 wrap 禁用时支持 标题 @curbengh #210

    _config.yml
    highlight:
    wrap: false
    ```js caption
    const hi = 'bob'
    ```

日常事务

依赖项

  • chore(deps-dev): 将 mocha 从 7.2.0 升级到 8.0.1 #211
  • chore(deps-dev): 将 eslint 从 6.8.0 升级到 7.0.0 #207

hexo-util 2.1.0

重大变更

重构


hexo-util 2.0.0

重大变更

修复

其他

依赖

  • chore(deps-dev): 将 rewire 从 4.0.1 升级到 5.0.0 #187