Hexo 4.2.0、hexo-util 1.8.0 和 eslint-config-hexo 4.1.0 发布

Hexo 4.2.0

功能

  • Cache rendered HTML 默认在 hexo-server 中禁用 #3963

    • 禁用是为了让任何更改(特别是主题布局的更改)能够实时预览。
    • 如果你在生产环境中使用 hexo-server 来提供你的网站,可以通过以下方式启用它:
    _config.yml
    server:
    cache: true
  • toc() 助手添加 min_depth: 选项 #3997

    • 示例用法
    <%- toc(page.content, { min_depth: 2 }) %>
    // table of content would only include <h2>, <h3> and above

修复

  • 合并主配置文件和主题配置文件中的类似主题配置 #3967

    • 例如
    _config.yml
    theme_config:
    a:
    b: 'foo'
    • 另外,
    _config.yml of theme
    a:
    c: 'bar'
    • theme 变量应该包含:
    a: {
    b: 'foo',
    c: 'bar'
    }
  • 修复了一些缓存问题 #3985

  • Open Graph 现在将所有 pretty_urls 选项应用于 og:url 标签 #3983

重构

  • 不再使用 lodash #3969, #3987, #3753

    • Lodash _ 仍然可用作 全局变量,通常在主题布局中使用。
    • 但是,我们计划在即将发布的 Hexo 5.0.0 中完全放弃它。
    • 项目页面 包含所有相关的拉取请求,你可能会发现它们很有用。
  • 完全放弃 cheerio #3850, #3677

    • 这意味着 Hexo 不再将 cheerio 包含在其生产依赖项中(它仍然是开发依赖项)。
    • 要继续使用 cheerio,
    npm install --save cheerio

hexo-util 1.8.0

功能

  • tocObj() 将 html 中的标题(例如 <h1>)转换为 JSON 格式 #137
    • 使标题能够以编程方式解析和操作。
    • 主要用于 toc() 助手(参考 hexojs/hexo#3850)。
  • Cache() 类实用程序 #162
    • 主要用于缓存用户配置,以避免不必要的解析。
    • 我们已经开始在许多实用程序中使用缓存,这使性能提高了 20%。

修复

  • htmlTag() 中,<meta> 标签(在 Facebook Open Graph 和 Twitter Card 中)中的 url 现在使用百分号编码,而不是 html 编码。 #159
    • 现在,srcset 属性中的 url 使用 encodeURL() 编码,该函数支持更多 url 类型,而不是 encodeURI。 #160

eslint-config-hexo 4.1.0

  • async 和箭头函数之间必须有一个空格 #28

    const foo = async(a) => await a
    • 正确
    const foo = async (a) => await a