惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
S
Security Affairs
Hacker News: Ask HN
Hacker News: Ask HN
Attack and Defense Labs
Attack and Defense Labs
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
G
Google Developers Blog
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
N
Netflix TechBlog - Medium
博客园_首页
Recorded Future
Recorded Future
罗磊的独立博客
I
InfoQ
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
雷峰网
雷峰网
博客园 - Franky
Project Zero
Project Zero
T
Tailwind CSS Blog
Microsoft Azure Blog
Microsoft Azure Blog
V2EX - 技术
V2EX - 技术
MyScale Blog
MyScale Blog
C
Check Point Blog
博客园 - 【当耐特】
D
Docker
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
小众软件
小众软件
Microsoft Security Blog
Microsoft Security Blog
P
Privacy & Cybersecurity Law Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cyber Attacks, Cyber Crime and Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Jina AI
Jina AI
N
News | PayPal Newsroom
Cisco Talos Blog
Cisco Talos Blog
L
Lohrmann on Cybersecurity
T
Tenable Blog
Forbes - Security
Forbes - Security
V
Vulnerabilities – Threatpost
阮一峰的网络日志
阮一峰的网络日志
H
Heimdal Security Blog
Google Online Security Blog
Google Online Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
量子位
I
Intezer
H
Hacker News: Front Page
博客园 - 司徒正美
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

涵哲子居

针对于Win用户与Linux用户的战争问题 - 涵哲子居 夏雨自读 - 涵哲子居 初中最后的地生 - 涵哲子居 凌侮行径的本质探讨 - 涵哲子居 我对开源软件与自由软件的看法 - 涵哲子居 如何分类现代编程方法?我对当代编程的理解 - 涵哲子居 我们必须正确认识AI在开发中的作用 - 涵哲子居 浅显利益论 - 涵哲子居 稳定性与价格——深思如何选择“大厂”与“小厂”服务 - 涵哲子居 何为学,为何学 - 涵哲子居 无聊的人和无趣的人 - 涵哲子居 丙午杂言 - 涵哲子居 Termux在Proot内播放音频文件的问题 - 涵哲子居 LeanCloud 停服: 一次关于服务选择的思考 - 涵哲子居 记一次使用Zellij的体验 - 涵哲子居 [过时] Termux:通用基础包 - 涵哲子居 Hexo博客搭建之从入门到入土 - 涵哲子居 乙巳杂言 - 涵哲子居
给fuwari添加NMP播放器 - 涵哲子居
涵哲子 · 2025-11-16 · via 涵哲子居

上周在逛 Bilibili 的时候,偶然刷到了这个项目,UI 尚可,便尝试一下。 官网:https://nmp.hypcvgm.top

准备工具#

  • 一个善良、友好的 AI,在报错时先问问它
  • 一个优良的、已经配置好的环境,Windows 建议使用 Git BashWSL(文章使用 TermuxProot-distro Archlinux 环境),应有:
    • 已经配置好的 Git 环境
    • nodejs + pnpmnpm
    • 一个符合自己使用习惯的 IDE(文章使用自己配置的 Neovim
  • NMP 文档:https://docs.nmp.hypcvgm.top
TIP
  1. NMP 仅支持网易云歌曲,若有需求可以寻找其它播放器

  2. 若想要播放 VIP 歌曲,请在 NMP文档 自行配置 api

Let us go!#

TIP

本文只介绍 浮动模式, 这是最常用的模式,会出现在博客四角处,可以缩小/放大


下载 css 与 js 文件(使用 CDN 可以略过)#

下载链接: Github

下载后解压,拿出 netease-mini-player-v2.cssnetease-mini-player-v2.js,放到博客根目录下的该位置:

  • public/NMP/

配置 Components#

新建文件 NMP.astro

---

---

<!-- NeteaseMiniPlayer -->

<div

class="netease-mini-player"

data-playlist-id="${yourOwnPlaylistId}"

data-embed="false"

data-position="bottom-left"

data-lyric="true"

data-theme="auto">

</div>

<link

rel="stylesheet"

href="/NMP/netease-mini-player-v2.css" />

<script is:inline

src="/NMP/netease-mini-player-v2.js">

</script>

请将 ${yourOwnPlaylistId} 替换为自己的 歌单id

NOTE

如果使用 CDN,请对文件后半部分进行替换:

<link

rel="stylesheet"

href="/NMP/netease-mini-player-v2.css" />

<script is:inline

src="/NMP/netease-mini-player-v2.js">

</script>

<link

rel="stylesheet"

href="https://api.hypcvgm.top/NeteaseMiniPlayer/netease-mini-player-v2.css" />

<script is:inline

src="https://api.hypcvgm.top/NeteaseMiniPlayer/netease-mini-player-v2.js">

</script>

配置 Layout#

更改文件 Layout.astro:

---

import NMP from "@components/NMP.astro";

import "@fontsource/roboto/400.css";

import "@fontsource/roboto/500.css";

import "@fontsource/roboto/700.css";

import ConfigCarrier from "@components/ConfigCarrier.astro";

import { profileConfig, siteConfig } from "@/config";---

import NMP from "@components/NMP.astro";

import "@fontsource/roboto/400.css";

import "@fontsource/roboto/500.css";

import "@fontsource/roboto/700.css";

import ConfigCarrier from "@components/ConfigCarrier.astro";

import { profileConfig, siteConfig } from "@/config";

...

if (window.swup) {

setup()

} else {

document.addEventListener("swup:enable", setup)

}

</script>

<NMP />

上线测试#

已经成功配置!