hexo-plugins
音乐(hexo-tag-aplayer)
音乐界面使用了插件 hexo-tag-aplayer
插件文档手册
hexo-tag-aplayer下载
1 | npm install --save hexo-tag-aplayer |
hexo-tag-aplayer说明
aplayer
似乎适用于大多为ejs创造的主题,butterfly主题使用的是pug,使用aplayer
不能显示。解决方法如下:
1.hexo安装目录下执行npm install aplayer
2.主题目录\layout\includes
新建aplayer.pug
文件,内容如下
3.重新生成网站
1 | link(rel="stylesheet" type='text/css', href="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.css") |
hexo-tag-aplayer基本使用
1 | {% aplayer title author url [picture_url narrow autoplay width:xxx lrc:xxx] %} |
示例
1 | {% aplayer "Windy Hill" "羽肿" "https://xxx.mp3" "https://p2.music.126.net/R5wdneWJADdilEDtqBev-w==/109951169463411528.jpg" "autoplay" %} |
其会被插件渲染为1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<div id="aplayer-AouJbvjY" class="aplayer aplayer-tag-marker" style="margin-bottom: 20px;">
<pre class="aplayer-lrc-content"></pre>
</div>
<script>
var ap = new APlayer({
element: document.getElementById("aplayer-AouJbvjY"),
narrow: false,
autoplay: true,
showlrc: false,
music: {
title: "Windy Hill",
author: "羽肿",
url: "https://xxx.mp3",
pic: "https://p2.music.126.net/R5wdneWJADdilEDtqBev-w==/109951169463411528.jpg",
lrc: ""
}
});
window.aplayers || (window.aplayers = []);
window.aplayers.push(ap);
</script>
当开启Hexo
的文章资源文件夹 功能时,可以将图片、音乐文件、歌词文件放入与文章对应的资源文件夹中,然后直接引用。
1 | {% aplayer "title" "author1 author2" "title.mp3" "picture.jpg" "lrc:title.txt" %} |
示例
1 | {% aplayer "城南花已开" "三亩地" "城南花已开.mp3" "/img/avatar003.jpg" "lrc:城南花已开.lrc" %} |
[00:00.00]城南花已开 - 三亩地 [00:01.00]该歌曲为纯音乐请欣赏
Meing JS支持(3.0 新功能)
但是3.0新版本的Aplayer已经支持MeingJS
了,MetingJS是基于Meting API 的 APlayer 衍生播放器,引入 MetingJS 后,播放器将支持对于 QQ音乐、网易云音乐、虾米、酷狗、百度等平台的音乐播放。
修改Hexo配置文件_config.yml
1
2aplayer:
meting: true
接着就可以通过 {% meting ...%}
在文章中使用 MetingJS 播放器了:
1 | {% meting "427606780" "netease" "song" %} |
标签被渲染为
1 |
|
如果不想使用插件,就需要在markdown中用html的格式书写,同时把主题配置文件中的aplayerInject
开启
1 | {% meting "427606780" "netease" "song" "autoplay" "mutex:false" "preload:none" "theme:#00e500"%} |
标签会被渲染为
1 |
|
有关 {% meting %}
的选项列表如下:
选项 | 默认值 | 描述 |
---|---|---|
id | 必须值 | 歌曲 id / 播放列表 id / 相册 id / 搜索关键字 |
server | 必须值 | 音乐平台: netease ,tencent , kugou , xiami , baidu |
type | 必须值 | song , playlist , album , search , artist |
fixed | false |
开启固定模式,加入fixed 开启固定(左下角)用于全局 |
mini | false |
开启迷你模式,加入mini 开启,只有小图标呈现 |
loop | all |
列表循环模式:all , one ,none |
order | list |
列表播放模式: list , random |
volume | 0.7 | 播放器音量 |
lrctype | 0 | 歌词格式类型,好像不为0会没有歌词 |
listfolded | false |
指定音乐播放列表是否折叠 |
storagename | metingjs |
LocalStorage 中存储播放器设定的键名 |
autoplay | true |
自动播放,移动端浏览器暂时不支持此功能,加autoplay 表示自动播放 |
mutex | true |
该选项开启时,如果同页面有其他 aplayer 播放,点击播放,其他播放器会暂停 |
listmaxheight | 340px |
播放列表的最大长度 |
preload | auto |
音乐文件预载入模式(进度条),可选项: none , metadata , auto |
theme | #ad7a86 |
播放器风格色彩设置 |
添加全局吸底Aplayer
简述
如果想使用aplayer,很多人都会推荐安装 hexo-tag-aplayer 这款插件。这款插件通过 Hexo 独有的标签外挂,我们可以很方便的写入一些参数,插件就会帮我们生成对应的 html。如果你只是使用一些简单的功能,其实无需使用到这个插件,只需以 html 格式书写就行,不用插件去转换。
For example:
如果使用插件,在 markdown 中要这样写
1 | {% meting "000PeZCQ1i4XVs" "tencent" "artist" "theme:#3F51B5" "mutex:true" "preload:auto" %} |
会被插件渲染为1
<div id="aplayer-uxAIfEUs" class="aplayer aplayer-tag-marker meting-tag-marker" data-id="000PeZCQ1i4XVs" data-server="tencent" data-type="artist" data-mode="circulation" data-autoplay="false" data-mutex="true" data-listmaxheight="340px" data-preload="auto" data-theme="#3F51B5"></div>
如果我们不想使用插件,就需要在markdown中用html的格式书写,同时把主题配置文件中的aplayerInject
开启
1 | <div class="aplayer" data-id="000PeZCQ1i4XVs" data-server="tencent" data-type="artist" data-mutex="true" data-preload="auto" data-theme="#3F51B5"></div> |
关闭asset_inject
由于需要全局都插入 aplayer 和 meting 资源,为了防止插入重复的资源,需要把 asset_inject 设为 false
修改Hexo配置文件
1
2
3aplayer:
meting: true
asset_inject: false
开启主题的aplayerInject
修改主题配置文件
1
2
3
4# Inject the css and script (aplayer/meting)
aplayerInject:
enable: true
per_page: true
插入 Aplayer html
把 aplayer
代码 插入到主题配置文件的 inject.bottom
去1
2
3
4inject:
head:
bottom:
- <div class="aplayer no-destroy" data-id="8332009741" data-server="tencent" data-type="playlist" data-fixed="true" data-mini="true" data-autoplay="false" > </div>
参数使用同上面aplayer标签参数,只是前面加上data-
即可
运行 Hexo 就可以看到网页左下角出现了 Aplayer
最后,如果你想切换页面时,音乐不会中断。设置主题配置文件
的pjax: true
评论
支持双评论显示,只需要配置两个评论(第一个为默认显示)
1 | comments: |
参数 | 解释 |
---|---|
use | 使用的评论(请注意,最多支持两个,如果不需要请留空) 注意:双评论不能是 Disqus 和 Disqusjs 一起,由于其共用同一个 ID,会出错 |
text | 是否显示评论服务商的名字 |
lazyload | 是否为评论开启lazyload,开启后,只有滚动到评论位置时才会加载评论所需要的资源(开启 lazyload 后,评论数将不显示) |
count | 是否在文章顶部显示评论数 livere、Giscus 和 utterances 不支持评论数显示 |
card_post_count | 是否在首页文章卡片显示评论数 gitalk、livere 、Giscus 和 utterances 不支持评论数显示 |
Twikoo
是一个简洁、安全、无后端的静态网站评论系统,基于腾讯云开发。
具体如何配置评论,请查看Twikoo文档
只需要把获取到的 环境ID (envId)
填写到配置上去就行
修改主题配置文件
1 | twikoo: |
参数 | 解释 |
---|---|
envId | 环境 ID(配置好的评论系统网址)这里我用的是Vercel部署 |
region | 环境地域,默认为 ap-shanghai,如果您的环境地域不是上海,需传此参数 |
visitor | 是否显示文章阅读数 |
option | 可选配置 |
开启 visitor 后,文章页的访问人数将改为Twikoo
提供,而不是 不蒜子
Waline
是一款从 Valine 衍生的带后端评论系统。可以将 Waline 等价成 With backend Valine。
修改主题配置文件
1 | waline: |
开启 visitor 后,文章页的访问人数将改为Waline
提供,而不是 不蒜子
hexo-douban
hexo-douban一个在 Hexo 页面中嵌入豆瓣个人主页的小插件。
安装
node 版本要求 >= v18
1 | npm install hexo-douban --save |
配置
将配置文件写入站点的配置文件 _config.yml
里(不是主题的配置文件)。
精简配置
1 | douban: |
完整配置
1 | douban: |
options | descriptions |
---|---|
id |
豆瓣ID。 |
builtin |
是否将hexo douban 命令默认嵌入进hexo g、hexo s ,使其自动执行hexo douban 命令。默认关闭。 |
dynamic |
豆瓣页面是否在访问时实时请求接口,默认为false ,推送时更新。设置为 true 页面会在访问页面时更新豆瓣信息,接口挂了,页面自然也没有了 |
item_per_page |
每页展示的条目数,默认10。 |
meta_max_line |
每个条目展示的详细信息的最大行数,超过该行数则会以”…”省略,默认4。 |
customize_layout |
自定义布局文件。默认值为page 。无特别需要,留空即可。若配置为abcd ,则表示指定//theme/hexo-theme/layout/abcd.ejs 文件渲染豆瓣页面。 |
path |
生成页面后的路径,默认生成在//blog-root/books/index.html 等下面。如需自定义路径,则可以修改这里。 |
title |
该页面的标题。 |
quote |
写在页面开头的一段话,支持html 语法,可以为空。 |
actions |
一个字符串列表,表示生成的页面中的“已X” “想X” “X过” 的标签配置,默认会自动聚焦在第一个标签。可选项为: do,wish,collect 。 |
option |
该页面额外的Front-matter配置,参考Hexo文档。无特别需要,留空即可。 |
使用
展示帮助文档1
hexo douban -h
主动生成豆瓣页面1
hexo douban
通常大家都喜欢用hexo d
来作为hexo deploy
命令的简化,但是当安装了hexo douban
之后,就不能用hexo d
了,因为hexo douban
跟hexo deploy
的前缀都是hexo d
。
升级
可以用下面的方法来更新:
- 修改
package.json
内hexo-douban
的版本号至最新。(my blog version:2.3.5) - 重新安装最新版本
npm install hexo-douban --save
或者使用npm install hexo-douban --update --save
直接更新。
菜单
配置成功后,即可在相应的path
界面查看结果。
如果上面的显示没有问题就可以在主题的配置文件_config.yml
里添加如下配置来为这些页面添加菜单链接。
1 | menu: |
在线聊天
从3.0开始,Butterfly
主题内置了多种在线聊天工具。可以选择开启一种,方便与访客的交流。
这些工具都提供了一个按钮可以打开/关闭聊天窗口。
主题也提供了一个集合主题特色的按钮来替换这些工具本身的按钮,这个聊天按钮将会出现在右下角里。
只需要把chat_btn
打开就行。
修改主题配置
文件
1 | # Chat Button [recommend] |
为了不影响访客的体验,主题提供一个chat_hide_show
配置。
设为true
后,使用工具提供的按钮时,只有向上滚动才会显示聊天按钮,向下滚动时会隐藏按钮。
修改主题配置
文件
1 | # The origin chat button is displayed when scrolling up, and the button is hidden when scrolling down |
如果使用工具自带的聊天按钮,按钮位置可能会遮挡右下角图标,请配置rightside-bottom
调正右下角图标位置
QQ邮箱不可以
配置chatra,需要知道
Public key
。打开chatra并注册账号。
修改主题配置文件
1 | # chatra |
chatra的样式你可以Chat Widget
自行配置
配置tidio,需要知道Public key
打开tidio并注册账号。【科学上网才可以!】
你可以在设置
> Project data
中找到Public key
修改主题配置文件
1 | # tidio |