hexo配置安知鱼音乐页面

用现成的 hexo-anzhiyu-music 适配脚本,样式、布局。

1)安装脚本

# 在博客根目录执行

npm i hexo-anzhiyu-music --save

2)在站点配置或主题配置里加上:

(任选其一:_config.yml_config.butterfly.yml

# 音乐馆
anzhiyu_music:
enable: true
id: "826250135" # 你的网易云歌单ID
server: netease
customJS:
customCSS:
front_matter: |
title: 音乐馆
type: music
aplayer: true
top_img: false
comments: false
aside: false

3)用 Butterfly 的 inject 注入 APlayer 和 Meting2(关键)

打开 themes/butterfly/_config.yml,增加(或合并到你自己的 inject):

inject:
head:
- <link rel="stylesheet" href="https://cdn.cbd.int/anzhiyu-theme-static@1.0.0/aplayer/APlayer.min.css">
bottom:
- <script src="https://cdn.cbd.int/anzhiyu-blog-static@1.0.1/js/APlayer.min.js"></script>
- <script src="https://npm.elemecdn.com/hexo-anzhiyu-music@1.0.1/assets/js/Meting2.min.js"></script>

备用镜像(万一被墙/抽风):

  • https://cdn.jsdelivr.net/npm/hexo-anzhiyu-music@1.0.1/assets/js/Meting2.min.js
  • https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js
  • https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css

4)新建页面(如果还没建):

hexo new page music

source/music/index.md 写成如下这样:

---
title: 音乐馆
type: music
comments: false
aside: false
aplayer: true
top_img: false
# 如果你开了 pjax,强烈建议关掉,否则可能不执行初始化
pjax: false
---

<meting-js
server="netease"
type="playlist"
id="826250135"
fixed="false"
autoplay="false"
order="list"
list-folded="false"
lrc-type="1">
</meting-js>

然后:

hexo clean && hexo g && hexo s

5)问题:发现这样进度条有点高,可以使用下面这样的方案解决

themes/butterfly/_config.yml 里,把之前我让你加的 <style id="music-fix">...</style> 删除;然后在 inject.head 里加入这段极简样式:

inject:
head:
- <style id="music-bar-lower">
/* 仅把控制条整体往下挪一点 */
.aplayer .aplayer-controller{
transform: translateY(12px); /* 数值越大越靠下,自己调 */
}
/* 防止被裁切/挡住,给信息区留一点底部空间 */
.aplayer .aplayer-info{
padding-bottom: 12px;
}
</style>

想再低一点,就把 12px 调成 16px / 20px 试试;不影响歌词样式,也不会改进度条的粗细。

但是还有一个遗留问题,歌词滚动不正常,暂时没有更好的解决方案,就先这样吧,之后有时间再解决一下!!