额外依赖库支持
与第三方支持的区别是,此处大部分功能为安装插件或引入 CDN 实现,并由主题进行简单适配。
字数统计
npm install hexo-wordcount
# or
yarn add hexo-wordcountnpm install hexo-wordcount
# or
yarn add hexo-wordcount在配置文件 _config.async.yml 中:
count: 字数统计time: 阅读时间
wordcount:
enable: true
count: true
time: truewordcount:
enable: true
count: true
time: trueRSS
npm install hexo-generator-feed
# or
yarn add hexo-generator-feednpm install hexo-generator-feed
# or
yarn add hexo-generator-feed可配置在 _config.async.yml 的 social 字段里,如:
sidebar:
social:
- icon: fas fa-rss
url: atom.xmlsidebar:
social:
- icon: fas fa-rss
url: atom.xml更多配置请参见官方文档(在 Hexo 工作目录下的 _config.yml 中进行)。
置顶
确保您的 hexo-generator-index 为
2.0.0或以上
通过设置文章 Front Matter 中 sticky 属性以进行置顶,数值 >0 时越高,越靠前,数值 <0 时,越靠后。
---
title: xxx
sticky: 100
------
title: xxx
sticky: 100
---数学公式
KaTeX
在文章中显示一些简单的数学公式,使用 KaTeX 实现。具体方法请参见官方文档。
其主要采用 CDN 的方式实现。
copy_tex: 复制 KaTeX 文本,默认开启global: 如果您想要在全局页面使用KaTeX,(譬如首页的文章摘要),那么您可以开启它。(当然,这也意味着您的页面每次需要加载更多的资源。)options: 传入 KaTeX 渲染器的选项。具体选项参考这里。
katex:
copy_tex: true
global: false
options: {}katex:
copy_tex: true
global: false
options: {}只有在使用了 katex 的文章或页面才会加载 KaTeX 的库,所以您需要在使用 KaTeX 的文章或头部进行设置。 (当您开启全局加载时,将不再需要设置此选项。)
---
title: xxx
katex: true
------
title: xxx
katex: true
---头部中的 katex 类型可以是 bool | object,如果是 object,那只有 options 选项有效果,具体参数与全局设置一样,并且会与全局设置合并与替换。
您可以使用如下方式包裹公式。
如下包裹,公式将被居中展示。
$$ E = mc^2 $$
\[ E = mc^2 \]$$ E = mc^2 $$
\[ E = mc^2 \]如下包裹,公式将以行内形式展示。
$E = mc^2$
\( E = mc^2 \)$E = mc^2$
\( E = mc^2 \)TIP
注意,在 Markdown 文件中直接书写时,您需要多一个 \ 来转译 \。(或者使用 $E=mc^2$ 的方式)
使用 \\[ E = mc^2 \\] 而不是 \[ E = mc^2 \]。
如果您有过多需要转译的字符,您可以直接使用 HTML 标签包裹它(内部的字符将不会被作为 Markdown 解析),而无需使用多个 \ 来转译。
譬如:
<div>\[ E = mc^2 \]</div><div>\[ E = mc^2 \]</div>live2d
npm install hexo-helper-live2d
# or
yarn add hexo-helper-live2dnpm install hexo-helper-live2d
# or
yarn add hexo-helper-live2d在 Hexo 根目录的 _config.yml 中进行配置:
更多选项含义请参见 hexo-helper-live2d
live2d:
enable: true
# 推荐使用 CDN 来加载
scriptFrom: unpkg
pluginRootPath: live2dw/
pluginJsPath: lib/
pluginModelPath: assets/
tagMode: false
debug: false
model:
# 推荐使用 CDN 来加载模型
use: https://unpkg.com/live2d-widget-model-wanko@1.0.5/assets/wanko.model.json
display:
position: left
width: 150
height: 300
mobile:
show: true
react:
opacity: 0.7live2d:
enable: true
# 推荐使用 CDN 来加载
scriptFrom: unpkg
pluginRootPath: live2dw/
pluginJsPath: lib/
pluginModelPath: assets/
tagMode: false
debug: false
model:
# 推荐使用 CDN 来加载模型
use: https://unpkg.com/live2d-widget-model-wanko@1.0.5/assets/wanko.model.json
display:
position: left
width: 150
height: 300
mobile:
show: true
react:
opacity: 0.7pjax
使用 swup 实现,默认为关闭的。
swup: trueswup: true在使用 swup 插件后,打开新的页面时已经加载的 js 脚本并不会重新执行,如果您在自定义脚本时每次打开新的页面重新执行您的脚本,您可以在 script 标签上添加 data-swup-reload-script 属性标识。
<script src data-swup-reload-script></script><script src data-swup-reload-script></script>您也可以在脚本中监听 swup:contentReplaced 事件,当新的页面替换完成后会触发。
if (window.ASYNC_CONFIG.swup) {
document.addEventListener('swup:contentReplaced', function () {
// 页面替换完成
});
}if (window.ASYNC_CONFIG.swup) {
document.addEventListener('swup:contentReplaced', function () {
// 页面替换完成
});
}
Hexo-Theme-Async