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;
}也可以通过
codeblock
和include_code
标签插件使用。
-
- 修复了 prismjs 的问题,该问题在某些情况下无法正确删除 hexo 的处理标签
删除配置文件中的插件选项 @stevenjoezhang #4475
# _config.yml
plugins:plugins
选项已于很久之前弃用,现在已完全删除- 插件应保存在
scripts/
文件夹中,或通过 npmpackage.json
安装。
性能
Hexo 5.0.2
变更
Hexo 5.0.1
变更
- fix(helpers): 从 hexo-util 调用 url_for @curbengh #4447
- perf(external_link): 更新正则表达式 @SukkaW #4467
external_link
过滤器现在先匹配外部链接,而不是完全依赖isExternalLink
- perf(injector): 简写优化 @SukkaW #4462
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/“ 的帖子资源。

变为<img src="/2020/01/02/foo/image.jpg">
- 要启用
_config.yml post_asset_folder: true
marked:
prependRoot: true
postAsset: true- 有了这个功能,
feat: 延迟加载 #156
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>- 当
新功能
hexo-util 2.3.0
变更
feat(highlight): 当 wrap 禁用时支持 ‘tab’ & ‘mark’ @curbengh #225
- 以前,
tab
和mark
选项仅在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 %}- 以前,
docs(spawn): 链接到上游文档 @curbengh #223
spawn()
是对child_process.spawn()
的一个很好的封装,所以它支持类似的选项。
hexo-util 2.2.0
新功能
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' ```
日常事务
- 从 CI 中删除 Node 13 @curbengh #219
- refactor(encode/decode_url): 用本地的 querystring.unescape 替换 decodeURI @curbengh #214
依赖项
hexo-util 2.1.0
重大变更
- 删除
HashStream()
函数 @curbengh #198- 在 #45 中弃用,是 v1.0.0 版本的一部分
- 被
createSha1Hash()
替换
重构
hexo-util 2.0.0
重大变更
- 不再支持 Node 8 @SukkaW #191 #193
- 使用子语言需要启用 `autoDetect` 并将 `lang` 设置为未设置状态
highlight()
@curbengh #192 #196
修复
- 修复
CacheStream()
与 Node 14 的兼容性问题 @curbengh #195
其他
- docs(isExternalLink): 添加 JSDoc @YoshinoriN #190
依赖
- chore(deps-dev): 将 rewire 从 4.0.1 升级到 5.0.0 #187