diff --git a/AGENTS.md b/AGENTS.md index 3f8a58b..7824a86 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,18 +14,23 @@ MoePlayer —— 一款中文友好的开源网页视频播放器(MIT 协议 ├── index.html # 演示/测试页(含 API 调用示例) ├── package.json # npm 工程化入口,依赖与构建脚本 ├── rollup.config.js # rollup 配置:src/ 打包为 UMD 产物 + terser 压缩 -├── scripts/copy-libs.js # 构建脚本第二步:从 node_modules 拷贝运行时库 +├── scripts/build-css.js # 构建脚本第二步:base.css + 主题拼接为三个皮肤产物 +├── scripts/copy-libs.js # 构建脚本第三步:从 node_modules 拷贝运行时库 ├── src/ # 播放器源码(ES Module,2026-07 由单文件拆分而来) │ ├── index.js # 入口:export default moeplayerEmbed │ ├── language.js # 默认中文语言包 │ ├── defaults.js # videoObjectDefault 默认配置 │ ├── core/moeplayerEmbed.js # 主函数,【整体搬自旧单文件,内部未拆分,逻辑零改动】 -│ └── utils/ # 工具函数:type/dom/format/net/cookie/path +│ ├── utils/ # 工具函数:type/dom/format/net/cookie/path +│ └── css/ # 皮肤源码(2026-07 皮肤系统现代化:CSS 变量 + SVG mask 图标) +│ ├── base.css # 三皮肤共用结构样式 + 默认主题变量(--moe-* 定义在 .moeplayer 等作用域) +│ └── themes/ # default.css / red.css / ixigua.css,只覆盖 --moe-* 变量值 ├── moeplayer/ # 播放器本体,部署时整个上传到网站 │ ├── js/moeplayer.js # UMD 产物,【由 npm run build 自动生成,勿手改】 │ ├── js/moeplayer.min.js # 压缩版,同上 -│ ├── css/moeplayer.css # 默认皮肤;另有 moeplayer.red.css、moeplayer.ixigua.css -│ ├── css/images/ # 皮肤图片资源 +│ ├── css/moeplayer.css # 默认皮肤,【由 build-css.js 拼接生成,勿手改】 +│ ├── css/moeplayer.red.css # 红色皮肤,同上 +│ ├── css/moeplayer.ixigua.css # 西瓜皮肤(浅色),同上 │ ├── language/ # 语言包:zh.cn.js(默认内嵌)、zh.hk.js、en.js │ ├── hls.js/ # hls.min.js,【由构建从 npm 包拷贝,勿手改】 │ ├── flv.js/ # flv.min.js,同上(flv.js 已停维护,阶段4将移除) @@ -36,10 +41,12 @@ MoePlayer —— 一款中文友好的开源网页视频播放器(MIT 协议 ## 构建与依赖 - 安装:`npm install` -- 构建:`npm run build`(即 `rollup -c && node scripts/copy-libs.js`) —— 做两件事: +- 构建:`npm run build`(即 `rollup -c && node scripts/build-css.js && node scripts/copy-libs.js`) —— 做三件事: 1. rollup 把 `src/` 的 ES Module 打包为 UMD:`moeplayer/js/moeplayer.js`,并经 @rollup/plugin-terser 生成 `moeplayer.min.js`(保留 `软件名称|版权` 头部注释) - 2. `scripts/copy-libs.js` 从 node_modules 拷贝 hls.js / flv.js / mpegts.js 的产物及 LICENSE 到 `moeplayer/` 对应目录 -- **改动 `src/` 后必须执行 `npm run build`** 重新生成两个产物;`moeplayer/js/` 下两个 js 均为生成物,勿手改 + 2. `scripts/build-css.js` 把 `src/css/base.css` 与各主题(`src/css/themes/*.css`)拼接为自包含的 `moeplayer/css/moeplayer[.red|.ixigua].css`(加版权注释头,用户只引一个文件,无 @import) + 3. `scripts/copy-libs.js` 从 node_modules 拷贝 hls.js / flv.js / mpegts.js 的产物及 LICENSE 到 `moeplayer/` 对应目录 +- **改动 `src/` 后必须执行 `npm run build`** 重新生成产物;`moeplayer/js/` 与 `moeplayer/css/` 下的 js、css 均为生成物,勿手改 +- 皮肤机制:全部主题相关值是 CSS 自定义属性(`--moe-*`),定义在 `.moeplayer, .moeplayer-menu, .moeplayer-error` 作用域(菜单/错误框挂在 body 下);按钮图标为 SVG data-URI + CSS mask,颜色跟随 `--moe-icon-color`,不再使用雪碧图 PNG;换肤=覆盖变量,新增主题=在 `src/css/themes/` 加一个变量文件并登记到 `scripts/build-css.js` 的 themes 清单 - 升级依赖:改 `package.json` 版本号后 `npm install && npm run build` - 运行时机制:播放器用 `getPath()` 定位自身所在目录,按需动态 ` - --> - - -
- -以下链接指向原 ckplayer 项目:
- - - -全功能演示:www.ckplayer.com/demo.html
-皮肤切换:
-- - - -
-控制示例:
-- - - - - - - - - - -
- - - -