重大变更
- 需要 Node 8.10 或更高版本 #3778- Node 8 将在 不到一个月 内被弃用,我们强烈建议升级到 Node 10 或更高版本
 
- 如果 language:(在配置文件、文章/页面 front-matter 或open_graph()帮助函数中)不是language-TERRITORY格式,则不会插入og:localeOpen Graph 标签 #3808- en无效
- en-GB有效
- 并非所有语言环境都受支持(例如 en-AU无效),请参阅 官方列表
- 为了支持多语言,必须使用连字符(例如“en-GB”),连字符会在 og:locale中自动转换为下划线(例如“en_GB”)
- 在更改 language:配置之前,请验证安装主题的languages/文件夹中是否存在相应的语言文件
 
特性
- 支持在文章永久链接中添加小时和分钟 #3629 - 示例用法
 - _config.yml 
 permalink: :year/:month/:day/:hour/:minute/:title/- 结果为 https://example.com/2019/12/09/23/59/a-post/
 
- 插入 - article:published_time#3674- article:author#3805 Open Graph 标签
- 在 iframe 相关标签插件中启用 - lazyload#3798
- meta_generator帮助函数用于插入 元数据 元素标签 #3782- 示例用法
- 在主题布局的 <head>元素中插入以下代码片段(如果使用 EJS),
 - <%- meta_generator() %> - 将输出 <meta name="generator" content="Hexo 4.1.0">
- Hexo 3.9.0+ 会自动插入该标签;为了获得性能优势(meta_generator帮助函数的优势),meta_generator:选项应禁用,
 - _config.yml 
 meta_generator: false
- 支持在 - js()#3681 和- css()#3690 帮助函数中使用自定义属性- 示例用法
 - <%- js({ src: 'script.js', integrity: 'foo', async: true }) %> 
 // <script src="/script.js" async></script>
 <%- css({ href: 'style.css', integrity: 'foo' }) %>
 // <link rel="stylesheet" href="/style.css">
- 支持 - wrap:选项以启用/禁用将反引号代码块包装在- <table>元素中 #3827- 默认情况下启用,启用 line_number也会启用它
- 在 highlight:中配置
 - _config.yml 
 highlight:
 line_number: false # must be disabled to disable wrap:
 wrap: false- 该选项也可以传递给 codeblock()标签插件 #3848
 - {% codeblock lang:js wrap:false %} 
 const foo = (bar) => {
 return bar;
 };
 {% endcodeblock %}- 输出结果为,const foo = (bar) => { 
 return bar;
 };
 
- 默认情况下启用,启用 
修复
- 保留附加在块引用中的代码块中的空白行 #3770 
- 将已弃用的 - og_updated_timeOpen Graph 标签替换为- article:modified_time#3674
- 将已弃用的 - keywordsOpen Graph 标签替换为- article:tag#3805
- meta_generator 标签应插入到跨越多行的 - <head>中 #3778
- 运行 - hexo new或- hexo --help时不再清除数据库- db.json#3793
- 完全忽略在 - ignore:选项中指定的 文件/文件夹 #3797- 如果您在主题中使用 Webpack 或相关工具,node_modules文件夹可能会导致一些问题
- 一个临时的解决方法是配置 Hexo 忽略该文件夹,
 - _config.yml 
 ignore: '**/themes/*/node_modules/**'- 该解决方法在未来版本中将不再需要
 
- 如果您在主题中使用 Webpack 或相关工具,
- jsfiddle、vimeo 和 youtube 标签插件现在仅使用 https #3806 
- external_link过滤器不应处理数据 URL(例如- mailto:和- javascript:)[#3812] 和- <article>元素 #3895
- 防止在 Hexo CLI 中使用别名时不必要地插入 front-matter #3830 - -p是- --path的别名
- -s是- --slug的别名
- -r是- --replace的别名
 
- ignore:选项应适用于文件,除了文件夹 [#3878]