Compare commits

...

887 Commits

Author SHA1 Message Date
Michael Lip bc43cc0ac2
docs: upgrade HTTP image link to HTTPS in README (#1370)
Updates the imgur screenshot link from http:// to https:// for secure
loading. The image renders identically over HTTPS.
2026-03-04 11:04:09 +08:00
koszzz c07900cb8d
修复了切换清晰度时 hls 等实例不被销毁导致内存泄漏的问题 (#1369)
* 修复了切换清晰度时 hls 等实例不被销毁导致内存泄漏的问题

* 在文档中增加了销毁实例以防内存泄漏的提示,并移除了过时内容
2026-02-21 20:14:48 +08:00
EzraRT 3fd7896375
Merge pull request #1365 from EzraRT/patch-1
更改dashjs调用方式
2025-05-16 10:50:11 +08:00
DIYgod f00e304ca3
chore: tea 2024-02-24 00:55:12 +08:00
DIYgod 445388037d
Merge pull request #1357 from wdssmq/for-pr
fix(danmaku). animation-name 属性的标准值不应该加引号;
2024-01-21 01:15:44 +08:00
DIYgod 44d35f6acc
Merge pull request #1359 from codersclub/russian_lang
Russian translation added
2024-01-21 01:15:18 +08:00
Valery Votintsev 0a026a4002 Russian translation added 2023-12-20 19:31:07 +03:00
DIYgod c05bd08afa
Merge pull request #1358 from dinoue/feature/JapaneseTranslation
Japanese translation added
2023-12-07 20:43:31 +08:00
INOUE Daisuke 3cf3e4be36 Japanese translation added 2023-12-04 16:10:24 +09:00
wdssmq 2e9b87f019 fix(danmaku). animation-name 属性的标准值不应该加引号;
animation-name - CSS:层叠样式表 | MDN
https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation-name
2023-10-10 12:52:04 +08:00
DIYgod 7977068e35
Merge pull request #1355 from huangyan321/fix-isMobile
fix: expand user-agent check for mobile devices
2023-09-23 13:14:30 +08:00
huangyan321 80b9b01a16 fix: expand user-agent check for mobile devices 2023-09-21 17:19:27 +08:00
DIYgod a415527038
docs: add umami 2023-08-15 22:32:04 +01:00
DIYgod 3e799a02c4
chore: update dependencies and remove eslint 2023-08-13 18:52:44 +01:00
DIYgod b0ba40b90e
Merge pull request #1335 from DusuWen/master 2023-08-13 17:51:20 +01:00
DusuWen 9ca1c1ebd4 Prevent the control bar from changing when a touchstart or mousedown event is emitted on it 2023-05-17 17:43:19 +08:00
DIYgod cb1cadbc79
docs: update who use 2023-02-24 23:20:11 +00:00
DIYgod 6c1336448b
chore: release v1.27.1 2023-01-22 17:36:19 +00:00
DIYgod 4f6109192a
fix: typo 2023-01-22 15:40:58 +00:00
DIYgod cb6408a943
feat: trigger with original event 2023-01-22 15:37:46 +00:00
DIYgod 255bbac7a4
fix: error notice not disappear 2023-01-22 15:23:38 +00:00
DIYgod 6e780e048d
fix: unfinished switching quality notice 2023-01-22 15:21:08 +00:00
DIYgod ef90da3254
chore: update dependencies 2023-01-22 15:15:03 +00:00
DIYgod 46722004d6
fix: repeated volume notice 2023-01-22 15:14:52 +00:00
DIYgod 602f8fdca9
Merge pull request #1313 from antnesswcm/doc_error 2023-01-22 15:13:43 +00:00
antnesswcm 1dc5acf755
Modify the link to the error 修改链接指向错误
中文文档的guide应该指向zh/guide
The guide of Chinese documents should point to zh/guide
https://github.com/DIYgod/DPlayer/issues/1312
2022-12-14 13:47:52 +08:00
antnesswcm b83195db10
Modify the link to the error 修改链接指向错误
中文文档的guide应该指向zh/guide
The guide of Chinese documents should point to zh/guide
2022-12-14 13:46:51 +08:00
DIYgod 1b1b6da6e3
docs: update image 2022-11-10 23:57:38 +00:00
DIYgod 81bd218e58
Merge pull request #1303 from SukkaW/remove-rxjs 2022-09-06 00:44:09 +01:00
SukkaW bdb16d9bb3 chore: remove unnecessary rxjs 2022-09-04 18:29:00 +08:00
DIYgod d833e2c835
chore: release v1.27.0 2022-08-16 01:17:50 +01:00
DIYgod a0424ca303
docs: fix vue dom work 2022-08-16 01:11:14 +01:00
DIYgod d905e0ed4b
docs: migration 2022-08-16 01:00:43 +01:00
DIYgod 4357a7d780
docs: use docs dir 2022-08-16 00:32:54 +01:00
DIYgod 20517bd5f0
docs: use docs dir 2022-08-16 00:29:36 +01:00
DIYgod 5e54f83d79 Revert "docs: upgrade vuepress"
This reverts commit 7808f5c424.
2022-08-16 00:20:21 +01:00
DIYgod 7808f5c424
docs: upgrade vuepress 2022-08-15 23:45:21 +01:00
DIYgod 99c880f436
chore: remove eslint loader 2022-08-15 22:51:07 +01:00
DIYgod d9b7c1934f
chore: github actions use npm 2022-08-15 22:38:11 +01:00
DIYgod e80b99de5a
chore: fix github actions missing pnpm 2022-08-15 22:35:47 +01:00
DIYgod dc679fee6d
chore: fix github actions missing pnpm 2022-08-15 22:33:55 +01:00
DIYgod 360a35f1c4
chore: fix github actions missing pnpm 2022-08-15 22:30:32 +01:00
DIYgod 064dccdff3
chore: add github workflow 2022-08-15 22:28:28 +01:00
DIYgod d1c32f66db
feat: missing tran undefined 2022-08-15 22:14:06 +01:00
DIYgod 2b6b46e5f6 Merge branch 'multisubtitle' of github.com:jiliangsoft/DPlayer into jiliangsoft-multisubtitle 2022-08-15 22:11:03 +01:00
DIYgod ef273ec42a
feat: added german translation and in the process a new translation system, close #1221, credit @Totto16 2022-08-15 21:38:52 +01:00
DIYgod b429b9a5b7
feat: add preventClickToggle option, close #1221 2022-08-15 21:15:14 +01:00
DIYgod 52e962736b Merge branch 'master' of github.com:Mitsuha/DPlayer into Mitsuha-master 2022-08-15 21:04:37 +01:00
DIYgod 32c389a8b5
Merge pull request #1175 from PanHywel/master 2022-08-15 21:01:32 +01:00
DIYgod ad4a1a78be
feat: revert contextmenuHandler 2022-08-15 21:00:57 +01:00
DIYgod 455af3385f
Merge pull request #1138 from zd-x/xzd-merge 2022-08-15 20:59:42 +01:00
DIYgod b16e54049b
Merge pull request #1112 from wdssmq/for-pr 2022-08-15 20:04:46 +01:00
DIYgod 414a035cef
Merge branch 'master' into for-pr 2022-08-15 20:04:30 +01:00
DIYgod 0634b3df99
docs: update options 2022-08-15 19:57:43 +01:00
siegaii 6d7d9f34f1 feature: issues:#161 Add danmaku speed control 2022-08-15 19:03:28 +01:00
DIYgod c162fcc045
Merge pull request #1101 from chussum/feat/i18n-kokr 2022-08-15 18:54:39 +01:00
DIYgod 69dfac4fc0
Merge pull request #1008 from OldTaoge/master 2022-08-15 18:54:05 +01:00
DIYgod 14fdd9353c Merge branch 'pr/iAladdin/988' 2022-08-15 18:51:28 +01:00
DIYgod be9bb1f064
Merge pull request #980 from b-ye/patch-1 2022-08-15 18:38:20 +01:00
DIYgod 04b000206f
feat: set default chromecast option to false 2022-08-15 18:31:37 +01:00
DIYgod fccdda6d47 Merge branch 'pr/dpgiakatos/943' 2022-08-15 18:22:09 +01:00
DIYgod 501525cc7c
chore: use pnpm 2022-08-15 18:10:45 +01:00
DIYgod af4efc3182
chore: update dependencies and use less 2022-08-15 18:09:13 +01:00
DIYgod 6864587010
docs: update Related Projects 2022-08-15 17:29:00 +01:00
DIYgod 2143a266d9
docs: update Related Projects 2022-07-20 01:05:27 +01:00
DIYgod 14afb2a366
docs: update Related Projects 2022-07-20 01:04:48 +01:00
ngyyuusora 367c1c818c fix(proj): update dist 2022-06-13 08:20:50 +00:00
ngyyuusora 91da373e58 feat(subtitles): adaptive subtitles box height 2022-06-13 08:20:12 +00:00
ngyyuusora b974065ea4 fix(subtitles): improve multisubtitle change operation 2022-06-13 04:18:33 +00:00
yuusora b6560870eb feat(i18n): more lang code 2022-05-17 14:34:05 +08:00
yuusora 1f512ef616 fix(subtitles): use key 'url' for vtt url instead of 'subtitle' 2022-05-13 12:22:14 +08:00
yuusora fa4835d750 fix(subtitle): a cue's endTime qeual next cues's startTime,track.activeCues prob 2022-05-13 12:21:31 +08:00
DIYgod ba61ce3dfb
docs: add carbon ads 2022-04-29 11:03:47 +01:00
yuusora a25d7d4da9 fix(subtitles): default search use this.options.lang; use lowercase langcode 2022-01-25 14:41:11 +08:00
yuusora 3fb5f1b152 fix(sub): init miss detect undefiend subtitle 2022-01-13 14:56:40 +08:00
yuusora 8c56146fef feat(sub): i18n for sub lang(todo) 2022-01-13 09:29:35 +08:00
yuusora d7846e5fbe feat(sub): demo to subtitles 2022-01-13 09:25:55 +08:00
yuusora d18ea10e1f feat(sub): init subtitles options 2022-01-13 09:25:42 +08:00
yuusora e7798e8d15 feat(sub): subtitles module 2022-01-13 09:25:23 +08:00
yuusora c1159a5448 feat(sub): init old subtitle btn only url string 2022-01-13 09:24:28 +08:00
yuusora 0dc16c5360 feat(sub): add selector for subtitles 2022-01-13 09:23:46 +08:00
yuusora 39992e640b feat(sub): player css 2022-01-13 09:23:26 +08:00
yuusora 103373f0db feat(sub): video arttemp 2022-01-13 09:23:14 +08:00
yuusora d2fc4768fb feat(sub): player arttemp 2022-01-13 09:23:06 +08:00
Mitsuha 281334b7d9 support multiple notices 2021-07-14 15:52:13 +08:00
hywel f76834fb4b Fix the problem of getting highlight exception after perload is enabled in multiple instances 2021-05-03 22:07:38 +08:00
xiaozhengdong 5be01ad19f fix: 销毁播放器时移除绑定的事件,避免内存泄漏;video标签contextmenu原生事件阻止有漏掉的情况; 2021-01-12 10:33:13 +08:00
DIYgod 808dd623d6
Merge pull request #1122 from cdnbye/master 2020-12-02 01:09:13 +08:00
snowinszu a00480ef07
Update guide.md 2020-12-01 15:38:10 +08:00
snowinszu e14cd11417 Update guide.md 2020-12-01 15:36:56 +08:00
snowinszu 59699fc3bb
Update guide.md 2020-12-01 15:34:41 +08:00
snowinszu 17568bd426
Add cdnbye demo 2020-12-01 15:32:14 +08:00
snowinszu 1b3be7749a
Add CBPlayer 2020-12-01 15:22:22 +08:00
wdssmq fcd95905d8 fix #1099 #876 2020-11-13 12:33:16 +08:00
wdssmq 9ca151eebf demo 中options属性写错成了option 2020-11-13 11:19:36 +08:00
dependabot-preview[bot] c52037d937
Merge pull request #1109 from MoePlayer/dependabot/npm_and_yarn/babel-loader-8.2.1 2020-11-11 09:30:07 +00:00
dependabot-preview[bot] 68a4e8165b
chore(deps-dev): bump babel-loader from 8.1.0 to 8.2.1
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.1.0 to 8.2.1.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.1.0...v8.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-11 08:50:55 +00:00
dependabot-preview[bot] a4a4fc77e0
Merge pull request #1100 from MoePlayer/dependabot/npm_and_yarn/node-sass-5.0.0 2020-11-09 10:37:44 +00:00
dependabot-preview[bot] 74855ceffc
chore(deps-dev): bump node-sass from 4.14.1 to 5.0.0
Bumps [node-sass](https://github.com/sass/node-sass) from 4.14.1 to 5.0.0.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v4.14.1...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 10:14:15 +00:00
dependabot-preview[bot] 420811cf2d
Merge pull request #1108 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.3.0 2020-11-09 10:11:29 +00:00
dependabot-preview[bot] 15724a01ca
Merge pull request #1107 from MoePlayer/dependabot/npm_and_yarn/eslint-7.13.0 2020-11-09 10:10:44 +00:00
dependabot-preview[bot] 75e399a9fb
chore(deps-dev): bump mini-css-extract-plugin from 1.2.1 to 1.3.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.2.1...v1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 10:00:13 +00:00
dependabot-preview[bot] 8208f1aeaa
chore(deps-dev): bump eslint from 7.12.1 to 7.13.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.12.1 to 7.13.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.12.1...v7.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 09:59:47 +00:00
dependabot-preview[bot] a19d910ef7
Merge pull request #1105 from MoePlayer/dependabot/npm_and_yarn/css-loader-5.0.1 2020-11-05 09:18:04 +00:00
dependabot-preview[bot] 0218c244d0
chore(deps-dev): bump css-loader from 5.0.0 to 5.0.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v5.0.0...v5.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-05 09:02:13 +00:00
dependabot-preview[bot] 0f2dd07152
Merge pull request #1102 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.5 2020-11-03 09:23:56 +00:00
dependabot-preview[bot] e1956d1b5a
chore(deps-dev): bump sass-loader from 10.0.4 to 10.0.5
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.4 to 10.0.5.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.4...v10.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 09:04:18 +00:00
Churros 085921d155 feat: added translate in korean. 2020-11-02 22:53:06 +09:00
dependabot-preview[bot] 75b3d183ec
Merge pull request #1096 from MoePlayer/dependabot/npm_and_yarn/file-loader-6.2.0 2020-10-29 19:06:25 +00:00
dependabot-preview[bot] 6711778106
chore(deps-dev): bump file-loader from 6.1.1 to 6.2.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 6.1.1 to 6.2.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v6.1.1...v6.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-29 17:50:41 +00:00
dependabot-preview[bot] 1487355914
Merge pull request #1098 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.2.1 2020-10-28 22:35:46 +00:00
dependabot-preview[bot] 9b4ada165c
Merge pull request #1097 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.15.0 2020-10-28 21:22:45 +00:00
dependabot-preview[bot] 35cf822849
chore(deps-dev): bump mini-css-extract-plugin from 1.2.0 to 1.2.1
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.2.0...v1.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 17:32:14 +00:00
dependabot-preview[bot] f5208a31d7
chore(deps-dev): bump eslint-config-prettier from 6.14.0 to 6.15.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.14.0...v6.15.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 17:31:35 +00:00
dependabot-preview[bot] f5022545a1
Merge pull request #1095 from MoePlayer/dependabot/npm_and_yarn/eslint-7.12.1 2020-10-27 04:38:17 +00:00
dependabot-preview[bot] 08aea6d4f0
chore(deps-dev): bump eslint from 7.12.0 to 7.12.1
Bumps [eslint](https://github.com/eslint/eslint) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.12.0...v7.12.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-27 03:58:26 +00:00
dependabot-preview[bot] d811afff37
Merge pull request #1093 from MoePlayer/dependabot/npm_and_yarn/axios-0.21.0 2020-10-25 02:54:43 +00:00
dependabot-preview[bot] 2e0eb6fae8
chore(deps): bump axios from 0.20.0 to 0.21.0
Bumps [axios](https://github.com/axios/axios) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.20.0...v0.21.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-25 02:52:16 +00:00
dependabot-preview[bot] 6fca6886a0
Merge pull request #1092 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.2.0 2020-10-24 05:26:33 +00:00
dependabot-preview[bot] 7b7579f8d4
Merge pull request #1091 from MoePlayer/dependabot/npm_and_yarn/promise-polyfill-8.2.0 2020-10-24 05:25:11 +00:00
dependabot-preview[bot] 6f65413e4c
Merge pull request #1090 from MoePlayer/dependabot/npm_and_yarn/eslint-7.12.0 2020-10-24 05:21:32 +00:00
dependabot-preview[bot] af284ea2a0
Merge pull request #1089 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.4 2020-10-24 05:20:20 +00:00
dependabot-preview[bot] e1aafea865
chore(deps-dev): bump mini-css-extract-plugin from 1.1.1 to 1.2.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.1.1...v1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 05:15:15 +00:00
dependabot-preview[bot] 7195618ae2
chore(deps): bump promise-polyfill from 8.1.3 to 8.2.0
Bumps [promise-polyfill](https://github.com/taylorhakes/promise-polyfill) from 8.1.3 to 8.2.0.
- [Release notes](https://github.com/taylorhakes/promise-polyfill/releases)
- [Changelog](https://github.com/taylorhakes/promise-polyfill/blob/master/CHANGELOG.md)
- [Commits](https://github.com/taylorhakes/promise-polyfill/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 05:14:48 +00:00
dependabot-preview[bot] 82c7f622ee
chore(deps-dev): bump eslint from 7.11.0 to 7.12.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.11.0 to 7.12.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.11.0...v7.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 05:14:39 +00:00
dependabot-preview[bot] 4fcec9e7d5
chore(deps-dev): bump sass-loader from 10.0.3 to 10.0.4
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.3 to 10.0.4.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.3...v10.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 05:13:38 +00:00
dependabot-preview[bot] 37661934e9
Merge pull request #1087 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.14.0 2020-10-22 07:51:58 +00:00
dependabot-preview[bot] 1a6745b60b
chore(deps-dev): bump eslint-config-prettier from 6.13.0 to 6.14.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.13.0 to 6.14.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.13.0...v6.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-22 07:49:22 +00:00
dependabot-preview[bot] c291359b76
Merge pull request #1086 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.1.1 2020-10-21 14:53:45 +00:00
dependabot-preview[bot] e2e68269b5
chore(deps-dev): bump mini-css-extract-plugin from 1.1.0 to 1.1.1
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.1.0...v1.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-21 14:35:13 +00:00
dependabot-preview[bot] 909482474a
Merge pull request #1084 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.1.0 2020-10-19 22:52:57 +00:00
dependabot-preview[bot] bc18d3e7a6
chore(deps-dev): bump mini-css-extract-plugin from 1.0.0 to 1.1.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.0.0...v1.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-19 22:50:07 +00:00
dependabot-preview[bot] cafdf5c7ef
Merge pull request #1078 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.12.1 2020-10-18 06:51:27 +00:00
dependabot-preview[bot] a12f2e6c5c
chore(deps-dev): bump @babel/preset-env from 7.12.0 to 7.12.1
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.1/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-18 06:48:08 +00:00
dependabot-preview[bot] 196cfda526
Merge pull request #1080 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.7.1 2020-10-17 10:22:49 +00:00
dependabot-preview[bot] 2bc77eaaac
chore(deps-dev): bump @vuepress/plugin-pwa from 1.7.0 to 1.7.1
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.1/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 10:19:22 +00:00
dependabot-preview[bot] 0f311927be
Merge pull request #1079 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.7.1 2020-10-17 10:04:39 +00:00
dependabot-preview[bot] c6ec37a8ab
Merge pull request #1075 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.12.3 2020-10-17 10:02:53 +00:00
dependabot-preview[bot] 03e1ce657f
chore(deps-dev): bump vuepress from 1.7.0 to 1.7.1
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.1/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 10:02:10 +00:00
dependabot-preview[bot] 033e3c7b66
chore(deps-dev): bump @babel/core from 7.12.0 to 7.12.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.0 to 7.12.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 10:00:14 +00:00
dependabot-preview[bot] 3c1272fd81
Merge pull request #1077 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.7.1 2020-10-17 09:29:06 +00:00
dependabot-preview[bot] 08fcd8d501
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.1/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 09:26:36 +00:00
dependabot-preview[bot] 1c57d732b5
Merge pull request #1076 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.13.0 2020-10-16 21:35:01 +00:00
dependabot-preview[bot] 27c4ceafd1
Merge pull request #1074 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.7.1 2020-10-16 21:31:24 +00:00
dependabot-preview[bot] d1e973e38c
chore(deps-dev): bump eslint-config-prettier from 6.12.0 to 6.13.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.12.0 to 6.13.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.12.0...v6.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-16 21:27:42 +00:00
dependabot-preview[bot] 8dfdb62e8a
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.7.0 to 1.7.1
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.1/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-16 21:26:51 +00:00
dependabot-preview[bot] 5846b9f075
Merge pull request #1072 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.12.0 2020-10-15 21:27:32 +00:00
dependabot-preview[bot] 1c0608e7f0
chore(deps-dev): bump @babel/core from 7.11.6 to 7.12.0
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.6 to 7.12.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.0/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 21:25:01 +00:00
dependabot-preview[bot] 2502f47028
Merge pull request #1071 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.12.0 2020-10-15 13:50:57 +00:00
dependabot-preview[bot] 15eb261c70
chore(deps-dev): bump @babel/preset-env from 7.11.5 to 7.12.0
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.5 to 7.12.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.0/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 13:44:12 +00:00
dependabot-preview[bot] 6c98e09f84
Merge pull request #1067 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.7.0 2020-10-14 07:56:38 +00:00
dependabot-preview[bot] a7baa022fb
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.0/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:51:17 +00:00
dependabot-preview[bot] 6da3cf9d6d
Merge pull request #1069 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.7.0 2020-10-14 07:34:15 +00:00
dependabot-preview[bot] 3b235dcdfe
chore(deps-dev): bump @vuepress/plugin-pwa from 1.6.0 to 1.7.0
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.0/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:26:58 +00:00
dependabot-preview[bot] efd0bd3a2e
Merge pull request #1070 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.7.0 2020-10-14 07:22:29 +00:00
dependabot-preview[bot] 3cee54bab1
Merge pull request #1068 from MoePlayer/dependabot/npm_and_yarn/css-loader-5.0.0 2020-10-14 07:20:26 +00:00
dependabot-preview[bot] 528a2bf01d
Merge pull request #1066 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.7.0 2020-10-14 07:18:17 +00:00
dependabot-preview[bot] 4c948699ee
Merge pull request #1065 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-3.1.0 2020-10-14 07:18:02 +00:00
dependabot-preview[bot] 2f553d2316
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.6.0 to 1.7.0
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.0/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:17:32 +00:00
dependabot-preview[bot] fd887d9893
chore(deps-dev): bump css-loader from 4.3.0 to 5.0.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.3.0 to 5.0.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.3.0...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:16:12 +00:00
dependabot-preview[bot] 42c422b17d
chore(deps-dev): bump vuepress from 1.6.0 to 1.7.0
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.0/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:15:22 +00:00
dependabot-preview[bot] c9a0d70658
chore(deps-dev): bump pretty-quick from 3.0.2 to 3.1.0
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v3.0.2...v3.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:14:47 +00:00
dependabot-preview[bot] 3317ddf93b
Merge pull request #1062 from MoePlayer/dependabot/npm_and_yarn/prismjs-1.22.0 2020-10-11 02:01:05 +00:00
dependabot-preview[bot] dc4297bfd5
chore(deps): [security] bump prismjs from 1.16.0 to 1.22.0
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.16.0 to 1.22.0. **This update includes a security fix.**
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.16.0...v1.22.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-11 01:57:54 +00:00
dependabot-preview[bot] 1a2b37bc00
Merge pull request #1057 from MoePlayer/dependabot/npm_and_yarn/url-loader-4.1.1 2020-10-10 09:49:21 +00:00
dependabot-preview[bot] a256b40122
chore(deps-dev): bump url-loader from 4.1.0 to 4.1.1
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v4.1.0...v4.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-10 09:46:31 +00:00
dependabot-preview[bot] 2fee037428
Merge pull request #1056 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.0.0 2020-10-09 22:25:33 +00:00
dependabot-preview[bot] 79a393155c
Merge pull request #1054 from MoePlayer/dependabot/npm_and_yarn/exports-loader-1.1.1 2020-10-09 22:24:54 +00:00
dependabot-preview[bot] 503a5a2e22
Merge pull request #1059 from MoePlayer/dependabot/npm_and_yarn/style-loader-2.0.0 2020-10-09 22:20:22 +00:00
dependabot-preview[bot] 07baf516e4
Merge pull request #1058 from MoePlayer/dependabot/npm_and_yarn/file-loader-6.1.1 2020-10-09 22:19:54 +00:00
dependabot-preview[bot] 8f23d225ba
Merge pull request #1060 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.3 2020-10-09 22:18:09 +00:00
dependabot-preview[bot] 2141d6789c
Merge pull request #1055 from MoePlayer/dependabot/npm_and_yarn/eslint-7.11.0 2020-10-09 22:13:49 +00:00
dependabot-preview[bot] d03692a61b
chore(deps-dev): bump sass-loader from 10.0.2 to 10.0.3
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.2 to 10.0.3.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.2...v10.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:50:55 +00:00
dependabot-preview[bot] 21ba2d905a
chore(deps-dev): bump style-loader from 1.3.0 to 2.0.0
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.3.0 to 2.0.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.3.0...v2.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:50:46 +00:00
dependabot-preview[bot] 2ec8274b7e
chore(deps-dev): bump file-loader from 6.1.0 to 6.1.1
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v6.1.0...v6.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:49:52 +00:00
dependabot-preview[bot] 4bee9ff634
chore(deps-dev): bump mini-css-extract-plugin from 0.12.0 to 1.0.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.12.0 to 1.0.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.12.0...v1.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:48:50 +00:00
dependabot-preview[bot] 4ddacfd622
chore(deps-dev): bump eslint from 7.10.0 to 7.11.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.10.0 to 7.11.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.10.0...v7.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:48:28 +00:00
dependabot-preview[bot] 45b84bd0e1
chore(deps-dev): bump exports-loader from 1.1.0 to 1.1.1
Bumps [exports-loader](https://github.com/webpack-contrib/exports-loader) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/webpack-contrib/exports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/exports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/exports-loader/compare/v1.1.0...v1.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:47:57 +00:00
dependabot-preview[bot] 36793d80b3
Merge pull request #1050 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.12.0 2020-10-08 18:34:12 +00:00
dependabot-preview[bot] 5307f7ed58
chore(deps-dev): bump mini-css-extract-plugin from 0.11.3 to 0.12.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.11.3 to 0.12.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.11.3...v0.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-08 18:31:18 +00:00
dependabot-preview[bot] f09099e23f
Merge pull request #1049 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.3.0 2020-10-05 22:32:10 +00:00
dependabot-preview[bot] c9b90da7a9
chore(deps-dev): bump style-loader from 1.2.1 to 1.3.0
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.2.1...v1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 22:29:20 +00:00
dependabot-preview[bot] 49439b612a
Merge pull request #1046 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.11.3 2020-10-03 06:28:37 +00:00
dependabot-preview[bot] be44e7cc3f
chore(deps-dev): bump mini-css-extract-plugin from 0.11.2 to 0.11.3
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.11.2 to 0.11.3.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.11.2...v0.11.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-03 06:26:08 +00:00
dependabot-preview[bot] 9ca7a0244e
Merge pull request #1045 from MoePlayer/dependabot/npm_and_yarn/eslint-7.10.0 2020-09-28 22:03:52 +00:00
dependabot-preview[bot] 9036004d87
chore(deps-dev): bump eslint from 7.9.0 to 7.10.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.9.0 to 7.10.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.9.0...v7.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 22:01:22 +00:00
dependabot-preview[bot] 64cebdc615
Merge pull request #1042 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.6.0 2020-09-26 01:10:23 +00:00
dependabot-preview[bot] 1f02c756b5
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.4 to 1.6.0
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 01:03:48 +00:00
dependabot-preview[bot] b9c74bb6f8
Merge pull request #1039 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.6.0 2020-09-26 01:01:36 +00:00
dependabot-preview[bot] 7253d0d4dd
Merge pull request #1040 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.6.0 2020-09-26 01:00:46 +00:00
dependabot-preview[bot] e19fe543bb
Merge pull request #1041 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.12.0 2020-09-26 00:56:51 +00:00
dependabot-preview[bot] 29eb5a7e49
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.4 to 1.6.0
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 00:56:39 +00:00
dependabot-preview[bot] de083cda54
chore(deps-dev): bump vuepress from 1.5.3 to 1.6.0
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 00:56:33 +00:00
dependabot-preview[bot] c54e3a01d1
Merge pull request #1038 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.6.0 2020-09-26 00:54:25 +00:00
dependabot-preview[bot] 04fec4dac9
chore(deps-dev): bump eslint-config-prettier from 6.11.0 to 6.12.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.11.0 to 6.12.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.11.0...v6.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 00:52:46 +00:00
dependabot-preview[bot] c844cf2844
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 00:51:17 +00:00
dependabot-preview[bot] 89b2a4a040
Merge pull request #1037 from MoePlayer/dependabot/npm_and_yarn/webpack-4.44.2 2020-09-18 06:13:35 +00:00
dependabot-preview[bot] 2e5b4f2c28
chore(deps-dev): bump webpack from 4.44.1 to 4.44.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.1 to 4.44.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.1...v4.44.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-18 06:10:50 +00:00
dependabot-preview[bot] 836ddcac38
Merge pull request #1036 from MoePlayer/dependabot/npm_and_yarn/prettier-2.1.2 2020-09-16 06:34:04 +00:00
dependabot-preview[bot] a4f7dbbacb
chore(deps-dev): bump prettier from 2.1.1 to 2.1.2
Bumps [prettier](https://github.com/prettier/prettier) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.1.1...2.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-16 06:31:07 +00:00
dependabot-preview[bot] 5fac3769cc
Merge pull request #1034 from MoePlayer/dependabot/npm_and_yarn/eslint-7.9.0 2020-09-14 22:08:11 +00:00
dependabot-preview[bot] e329078e3e
Merge pull request #1033 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.11.2 2020-09-14 22:03:42 +00:00
dependabot-preview[bot] a504f42fba
chore(deps-dev): bump eslint from 7.8.1 to 7.9.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.8.1 to 7.9.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.8.1...v7.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 22:01:59 +00:00
dependabot-preview[bot] 6654289904
chore(deps-dev): bump mini-css-extract-plugin from 0.11.1 to 0.11.2
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.11.1 to 0.11.2.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.11.1...v0.11.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 22:01:13 +00:00
dependabot-preview[bot] 8d29caf5e5
Merge pull request #1031 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-3.0.2 2020-09-11 06:16:00 +00:00
dependabot-preview[bot] 4d6f51ecac
chore(deps-dev): bump pretty-quick from 3.0.1 to 3.0.2
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v3.0.1...v3.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-11 06:11:48 +00:00
dependabot-preview[bot] b927fc4cf5
Merge pull request #1029 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-3.0.1 2020-09-10 06:14:47 +00:00
dependabot-preview[bot] 1aa15920dd
chore(deps-dev): bump pretty-quick from 3.0.0 to 3.0.1
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v3.0.0...v3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-10 06:11:44 +00:00
dependabot-preview[bot] a688b3d5dc
Merge pull request #1028 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.11.1 2020-09-09 06:38:11 +00:00
dependabot-preview[bot] 2c0233e81d
Merge pull request #1027 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.3.0 2020-09-09 06:37:23 +00:00
dependabot-preview[bot] f169adb0e4
chore(deps-dev): bump mini-css-extract-plugin from 0.11.0 to 0.11.1
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.11.0 to 0.11.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.11.0...v0.11.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 06:35:06 +00:00
dependabot-preview[bot] 709ef55984
chore(deps-dev): bump css-loader from 4.2.2 to 4.3.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.2.2 to 4.3.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.2.2...v4.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 06:34:27 +00:00
dependabot-preview[bot] 7434f84603
Merge pull request #1024 from MoePlayer/dependabot/npm_and_yarn/http-proxy-1.18.1 2020-09-05 06:25:43 +00:00
dependabot-preview[bot] 4f0ab275d9
chore(deps): [security] bump http-proxy from 1.17.0 to 1.18.1
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.17.0 to 1.18.1. **This update includes a security fix.**
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.17.0...1.18.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-05 06:22:58 +00:00
dependabot-preview[bot] 7bbfe712bf
Merge pull request #1022 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.2 2020-09-04 06:16:30 +00:00
dependabot-preview[bot] a0de38ece9
Merge pull request #1021 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.6 2020-09-04 06:16:17 +00:00
dependabot-preview[bot] e8121329bd
Merge pull request #1020 from MoePlayer/dependabot/npm_and_yarn/clean-css-4.1.11 2020-09-04 06:14:32 +00:00
dependabot-preview[bot] 3eb9f73177
chore(deps-dev): bump sass-loader from 10.0.1 to 10.0.2
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.1 to 10.0.2.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.1...v10.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 06:14:05 +00:00
dependabot-preview[bot] f446be76f3
chore(deps-dev): bump @babel/core from 7.11.5 to 7.11.6
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.5 to 7.11.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.6/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 06:13:39 +00:00
dependabot-preview[bot] 7e2044a262
chore(deps): [security] bump clean-css from 4.1.9 to 4.1.11
Bumps [clean-css](https://github.com/jakubpawlowicz/clean-css) from 4.1.9 to 4.1.11. **This update includes a security fix.**
- [Release notes](https://github.com/jakubpawlowicz/clean-css/releases)
- [Changelog](https://github.com/jakubpawlowicz/clean-css/blob/master/History.md)
- [Commits](https://github.com/jakubpawlowicz/clean-css/compare/v4.1.9...v4.1.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 06:11:01 +00:00
dependabot-preview[bot] f12f3bda9b
Merge pull request #1016 from MoePlayer/dependabot/npm_and_yarn/eslint-7.8.1 2020-09-02 06:41:08 +00:00
dependabot-preview[bot] 7822f531dd
chore(deps-dev): bump eslint from 7.8.0 to 7.8.1
Bumps [eslint](https://github.com/eslint/eslint) from 7.8.0 to 7.8.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.8.0...v7.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-02 06:38:18 +00:00
dependabot-preview[bot] de075a1040
Merge pull request #1013 from MoePlayer/dependabot/npm_and_yarn/file-loader-6.1.0 2020-08-31 22:31:30 +00:00
dependabot-preview[bot] 050c11f41f
chore(deps-dev): bump file-loader from 6.0.0 to 6.1.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v6.0.0...v6.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 22:27:30 +00:00
dependabot-preview[bot] 641afe66f8
Merge pull request #1012 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.5 2020-08-31 22:26:49 +00:00
dependabot-preview[bot] cb904275ad
Merge pull request #1011 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.11.5 2020-08-31 22:26:41 +00:00
dependabot-preview[bot] bc3cabff81
Merge pull request #1010 from MoePlayer/dependabot/npm_and_yarn/eslint-7.8.0 2020-08-31 22:25:20 +00:00
dependabot-preview[bot] f80ecb7ee0
chore(deps-dev): bump @babel/core from 7.11.4 to 7.11.5
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.4 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 22:23:42 +00:00
dependabot-preview[bot] e84c5bebed
chore(deps-dev): bump @babel/preset-env from 7.11.0 to 7.11.5
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.0 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 22:23:21 +00:00
dependabot-preview[bot] 2eeaf34c14
chore(deps-dev): bump eslint from 7.7.0 to 7.8.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.7.0 to 7.8.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.7.0...v7.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 22:22:44 +00:00
OldTaoge c49b1c310f 适配commit #cd6afd7f optimize danmaku request 2020-08-30 10:17:28 +08:00
dependabot-preview[bot] b99ec5c0a9
Merge pull request #1005 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.11.0 2020-08-28 06:32:21 +00:00
dependabot-preview[bot] 357c914c14
chore(deps-dev): bump mini-css-extract-plugin from 0.10.0 to 0.11.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.10.0...v0.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-28 06:29:43 +00:00
dependabot-preview[bot] 57b2439c3e
Merge pull request #1003 from MoePlayer/dependabot/npm_and_yarn/prettier-2.1.1 2020-08-26 06:40:35 +00:00
dependabot-preview[bot] f5b02ec35b
Merge pull request #1002 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.1 2020-08-26 06:39:40 +00:00
dependabot-preview[bot] aad75d5c8f
chore(deps-dev): bump prettier from 2.1.0 to 2.1.1
Bumps [prettier](https://github.com/prettier/prettier) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.1.0...2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-26 06:37:25 +00:00
dependabot-preview[bot] b5bbb6f8e5
chore(deps-dev): bump sass-loader from 10.0.0 to 10.0.1
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.0 to 10.0.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.0...v10.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-26 06:36:42 +00:00
dependabot-preview[bot] 82047a7f14
Merge pull request #1001 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.5.4 2020-08-24 22:59:54 +00:00
dependabot-preview[bot] 27f257cb87
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.3 to 1.5.4
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.4/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:56:19 +00:00
dependabot-preview[bot] 92fc0543c8
Merge pull request #999 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.5.4 2020-08-24 22:54:23 +00:00
dependabot-preview[bot] 4c64820020
Merge pull request #998 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.0 2020-08-24 22:49:04 +00:00
dependabot-preview[bot] dfaa8568cc
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.3 to 1.5.4
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.4/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:47:50 +00:00
dependabot-preview[bot] 70669f5764
Merge pull request #997 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.2.2 2020-08-24 22:47:34 +00:00
dependabot-preview[bot] fa391322d7
Merge pull request #996 from MoePlayer/dependabot/npm_and_yarn/prettier-2.1.0 2020-08-24 22:46:32 +00:00
dependabot-preview[bot] ab0fdc3831
Merge pull request #995 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.5.4 2020-08-24 22:45:51 +00:00
dependabot-preview[bot] 9816e6769a
chore(deps-dev): bump sass-loader from 9.0.3 to 10.0.0
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 9.0.3 to 10.0.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v9.0.3...v10.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:42:52 +00:00
dependabot-preview[bot] 875a15f889
chore(deps-dev): bump css-loader from 4.2.1 to 4.2.2
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.2.1...v4.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:42:27 +00:00
dependabot-preview[bot] 463f4663d3
chore(deps-dev): bump prettier from 2.0.5 to 2.1.0
Bumps [prettier](https://github.com/prettier/prettier) from 2.0.5 to 2.1.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.0.5...2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:41:58 +00:00
dependabot-preview[bot] 2c83d1f68f
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.4/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:41:49 +00:00
dependabot-preview[bot] 8eeffd67b6
Merge pull request #992 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.4 2020-08-21 19:16:41 +00:00
dependabot-preview[bot] 635af96e3a
Merge pull request #991 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-3.0.0 2020-08-21 19:15:30 +00:00
dependabot-preview[bot] 73d2ce93d6
Merge pull request #990 from MoePlayer/dependabot/npm_and_yarn/axios-0.20.0 2020-08-21 19:14:57 +00:00
dependabot-preview[bot] e7143ca139
chore(deps-dev): bump @babel/core from 7.11.1 to 7.11.4
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.1 to 7.11.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.4/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 19:12:02 +00:00
dependabot-preview[bot] 02bdefa411
chore(deps-dev): bump pretty-quick from 2.0.1 to 3.0.0
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 2.0.1 to 3.0.0.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v2.0.1...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 19:11:31 +00:00
dependabot-preview[bot] 6c268945b5
chore(deps): bump axios from 0.19.2 to 0.20.0
Bumps [axios](https://github.com/axios/axios) from 0.19.2 to 0.20.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.2...v0.20.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 19:11:04 +00:00
iAladdin f1c84b3680 Fixed chrome will fake safe user-agent 2020-08-21 19:46:20 +08:00
iAladdin 93890fb94e Fixed the issue of not being able to Airplay in some scenarios. 2020-08-21 17:29:00 +08:00
dependabot-preview[bot] 2581f56502
Merge pull request #986 from MoePlayer/dependabot/npm_and_yarn/dot-prop-4.2.1 2020-08-18 18:25:47 +00:00
dependabot-preview[bot] d9caf88869
chore(deps): [security] bump dot-prop from 4.2.0 to 4.2.1
Bumps [dot-prop](https://github.com/sindresorhus/dot-prop) from 4.2.0 to 4.2.1. **This update includes a security fix.**
- [Release notes](https://github.com/sindresorhus/dot-prop/releases)
- [Commits](https://github.com/sindresorhus/dot-prop/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-18 18:23:04 +00:00
dependabot-preview[bot] c91119cad2
Merge pull request #985 from MoePlayer/dependabot/npm_and_yarn/eslint-7.7.0 2020-08-17 15:35:27 +00:00
dependabot-preview[bot] 7e76076702
chore(deps-dev): bump eslint from 7.6.0 to 7.7.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.6.0 to 7.7.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.6.0...v7.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-17 15:32:28 +00:00
咸鱼大暴走 3c6f3c2469
fix: screenshot 无法获取 dataURL
`dataURL` 的获取在 `toBlob` 的回调方法中,原始方法触发 `screenshot` 时,传递的 `dataURL ` 始终为 `undefined`
2020-08-13 10:56:08 +08:00
dependabot-preview[bot] 5308445c93
Merge pull request #976 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.10.0 2020-08-10 15:55:59 +00:00
dependabot-preview[bot] eb266daa98
chore(deps-dev): bump mini-css-extract-plugin from 0.9.0 to 0.10.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.9.0...v0.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-10 15:53:18 +00:00
dependabot-preview[bot] 0f87088618
Merge pull request #973 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.2.1 2020-08-07 12:46:41 +00:00
dependabot-preview[bot] 71e196e623
chore(deps-dev): bump css-loader from 4.2.0 to 4.2.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.2.0...v4.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-07 12:43:31 +00:00
dependabot-preview[bot] f59599e991
Merge pull request #969 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.5.3 2020-08-06 12:49:34 +00:00
dependabot-preview[bot] 07f2052a23
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.2 to 1.5.3
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:47:09 +00:00
dependabot-preview[bot] e283c38359
Merge pull request #971 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.5.3 2020-08-06 12:44:59 +00:00
dependabot-preview[bot] 313225c3d6
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:42:36 +00:00
dependabot-preview[bot] c3979f77a5
Merge pull request #970 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.5.3 2020-08-06 12:40:24 +00:00
dependabot-preview[bot] 3a9d799f76
Merge pull request #968 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.5.3 2020-08-06 12:37:43 +00:00
dependabot-preview[bot] ef817273bf
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.2 to 1.5.3
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:35:51 +00:00
dependabot-preview[bot] abb5a719a9
chore(deps-dev): bump vuepress from 1.5.2 to 1.5.3
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:34:55 +00:00
dependabot-preview[bot] 49b3b73b10
Merge pull request #966 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.1 2020-08-05 13:49:50 +00:00
dependabot-preview[bot] a11d86e3b7
Merge pull request #965 from MoePlayer/dependabot/npm_and_yarn/sass-loader-9.0.3 2020-08-05 13:49:20 +00:00
dependabot-preview[bot] 265179f6da
chore(deps-dev): bump @babel/core from 7.11.0 to 7.11.1
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.0 to 7.11.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.1/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-05 13:46:49 +00:00
dependabot-preview[bot] fc70fd6191
chore(deps-dev): bump sass-loader from 9.0.1 to 9.0.3
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 9.0.1 to 9.0.3.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v9.0.1...v9.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-05 13:46:26 +00:00
dependabot-preview[bot] d45474a3b0
Merge pull request #964 from MoePlayer/dependabot/npm_and_yarn/eslint-7.6.0 2020-08-03 17:38:28 +00:00
dependabot-preview[bot] e673a670ac
chore(deps-dev): bump eslint from 7.5.0 to 7.6.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.5.0 to 7.6.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.5.0...v7.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 17:35:52 +00:00
dependabot-preview[bot] 50c41b58d1
Merge pull request #960 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.11.0 2020-07-31 22:16:06 +00:00
dependabot-preview[bot] cdb6a97154
Merge pull request #961 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.6 2020-07-31 22:13:27 +00:00
dependabot-preview[bot] 7cf344e441
chore(deps-dev): bump @babel/preset-env from 7.10.4 to 7.11.0
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.4 to 7.11.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:13:20 +00:00
dependabot-preview[bot] 6f81bf379e
Merge pull request #959 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.2.0 2020-07-31 22:11:33 +00:00
dependabot-preview[bot] b3d41bd4e3
Merge pull request #958 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.0 2020-07-31 22:11:08 +00:00
dependabot-preview[bot] c67bed8b8a
chore(deps-dev): bump autoprefixer from 9.8.5 to 9.8.6
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.5 to 9.8.6.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.5...9.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:08:38 +00:00
dependabot-preview[bot] 84b46673d1
chore(deps-dev): bump css-loader from 4.1.1 to 4.2.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.1.1...v4.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:07:36 +00:00
dependabot-preview[bot] 9a6dc9387b
chore(deps-dev): bump @babel/core from 7.10.5 to 7.11.0
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.5 to 7.11.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:07:15 +00:00
dependabot-preview[bot] fb3cae236a
Merge pull request #953 from MoePlayer/dependabot/npm_and_yarn/webpack-4.44.1 2020-07-30 14:06:20 +00:00
dependabot-preview[bot] 48155a7703
Merge pull request #954 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.1.1 2020-07-30 14:05:50 +00:00
dependabot-preview[bot] dad0f0dd0d
chore(deps-dev): bump css-loader from 4.0.0 to 4.1.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.0.0...v4.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 14:03:05 +00:00
dependabot-preview[bot] 30d89093f0
chore(deps-dev): bump webpack from 4.44.0 to 4.44.1
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.0 to 4.44.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.0...v4.44.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 14:02:41 +00:00
dependabot-preview[bot] b63566320c
Merge pull request #952 from MoePlayer/dependabot/npm_and_yarn/elliptic-6.5.3 2020-07-29 21:29:04 +00:00
dependabot-preview[bot] 8a61b7d7f4
chore(deps): [security] bump elliptic from 6.4.0 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.0 to 6.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.4.0...v6.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-29 21:25:57 +00:00
dependabot-preview[bot] fa57ac9213
Merge pull request #950 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.0.0 2020-07-27 14:17:47 +00:00
dependabot-preview[bot] bddfc518e1
Merge pull request #949 from MoePlayer/dependabot/npm_and_yarn/webpack-4.44.0 2020-07-27 14:16:16 +00:00
dependabot-preview[bot] 5b3cfa5751
chore(deps-dev): bump css-loader from 3.6.0 to 4.0.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.6.0...v4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 14:13:42 +00:00
dependabot-preview[bot] 2fabbaa077
chore(deps-dev): bump webpack from 4.43.0 to 4.44.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.43.0 to 4.44.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.43.0...v4.44.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 14:13:09 +00:00
Dimitrios Panteleimon Giakatos ee984dd3e6 fix commit 2020-07-24 12:09:08 +03:00
Dimitrios Panteleimon Giakatos 4be850db09 Merge remote-tracking branch 'origin/master' 2020-07-24 11:49:26 +03:00
Dimitrios Panteleimon Giakatos 5a32061c1e fix chromecast button 2020-07-24 11:49:12 +03:00
Dimitrios Panteleimon Giakatos 7da6113c8f fix chromecast button 2020-07-24 11:37:27 +03:00
Dimitrios Panteleimon Giakatos 44a3cd923d added chromecast support 2020-07-23 21:51:03 +03:00
dependabot-preview[bot] cb155ab8ae
Merge pull request #940 from MoePlayer/dependabot/npm_and_yarn/eslint-7.5.0 2020-07-20 14:50:55 +00:00
dependabot-preview[bot] fedbc69805
chore(deps-dev): bump eslint from 7.4.0 to 7.5.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.4.0...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 14:47:51 +00:00
dependabot-preview[bot] e7775b3d93
Merge pull request #936 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.10.5 2020-07-15 12:45:03 +00:00
dependabot-preview[bot] 8ffd67753a
chore(deps-dev): bump @babel/core from 7.10.4 to 7.10.5
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.4 to 7.10.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.5/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-15 12:41:50 +00:00
dependabot-preview[bot] a9ebfebc17
Merge pull request #932 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.5 2020-07-13 14:12:11 +00:00
dependabot-preview[bot] c6404c96c3
chore(deps-dev): bump autoprefixer from 9.8.4 to 9.8.5
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.4 to 9.8.5.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.4...9.8.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-13 14:08:40 +00:00
dependabot-preview[bot] 0751a1b73d
Merge pull request #929 from MoePlayer/dependabot/npm_and_yarn/eslint-7.4.0 2020-07-06 14:12:35 +00:00
dependabot-preview[bot] a6f09ca00f
Merge pull request #928 from MoePlayer/dependabot/npm_and_yarn/sass-loader-9.0.1 2020-07-06 14:12:10 +00:00
dependabot-preview[bot] 59e3e77e34
chore(deps-dev): bump eslint from 7.3.1 to 7.4.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.3.1 to 7.4.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.3.1...v7.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-06 14:08:59 +00:00
dependabot-preview[bot] 840512b553
chore(deps-dev): bump sass-loader from 9.0.0 to 9.0.1
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v9.0.0...v9.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-06 14:08:29 +00:00
dependabot-preview[bot] 1e27d82a52
Merge pull request #920 from MoePlayer/dependabot/npm_and_yarn/sass-loader-9.0.0 2020-07-03 12:24:37 +00:00
dependabot-preview[bot] d975e56b80
chore(deps-dev): bump sass-loader from 8.0.2 to 9.0.0
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.2 to 9.0.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.2...v9.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-03 12:22:14 +00:00
dependabot-preview[bot] 3120e0216a
Merge pull request #918 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.10.4 2020-07-01 15:49:09 +00:00
dependabot-preview[bot] e3f9a8c514
chore(deps-dev): bump @babel/core from 7.10.3 to 7.10.4
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 15:46:10 +00:00
dependabot-preview[bot] 01d9ff6b54
Merge pull request #917 from MoePlayer/dependabot/npm_and_yarn/balloon-css-1.2.0 2020-07-01 15:43:48 +00:00
dependabot-preview[bot] 245d0aaed7
Merge pull request #916 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.10.4 2020-07-01 15:43:35 +00:00
dependabot-preview[bot] e4ed906551
chore(deps): bump balloon-css from 1.1.0 to 1.2.0
Bumps [balloon-css](https://github.com/kazzkiq/balloon.css) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/kazzkiq/balloon.css/releases)
- [Commits](https://github.com/kazzkiq/balloon.css/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 15:40:17 +00:00
dependabot-preview[bot] 5d6e58361d
chore(deps-dev): bump @babel/preset-env from 7.10.3 to 7.10.4
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 15:39:54 +00:00
DIYgod 284c30c1f8
style: format 2020-06-26 00:22:46 +08:00
DIYgod 0029e0b851
Merge pull request #905 from Evilran/patch-1
Update live option control in player.js
2020-06-26 00:22:21 +08:00
DIYgod b64d1e8e4d
Merge pull request #904 from laozhoubuluo/fix/airplay-btn 2020-06-26 00:19:38 +08:00
dependabot-preview[bot] 56534400f8
Merge pull request #912 from MoePlayer/dependabot/npm_and_yarn/exports-loader-1.1.0 2020-06-25 09:02:01 +00:00
dependabot-preview[bot] 1307de48dc
chore(deps-dev): bump exports-loader from 1.0.1 to 1.1.0
Bumps [exports-loader](https://github.com/webpack-contrib/exports-loader) from 1.0.1 to 1.1.0.
- [Release notes](https://github.com/webpack-contrib/exports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/exports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/exports-loader/compare/v1.0.1...v1.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-25 08:59:24 +00:00
dependabot-preview[bot] 56a4e1d2d9
Merge pull request #911 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.4 2020-06-24 09:34:35 +00:00
dependabot-preview[bot] 3c5bab88c0
chore(deps-dev): bump autoprefixer from 9.8.2 to 9.8.4
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.2 to 9.8.4.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.2...9.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-24 09:32:03 +00:00
dependabot-preview[bot] ae11c1233f
Merge pull request #910 from MoePlayer/dependabot/npm_and_yarn/eslint-7.3.1 2020-06-23 09:33:24 +00:00
dependabot-preview[bot] 22073107ab
chore(deps-dev): bump eslint from 7.3.0 to 7.3.1
Bumps [eslint](https://github.com/eslint/eslint) from 7.3.0 to 7.3.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.3.0...v7.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 09:30:57 +00:00
dependabot-preview[bot] 3236057389
Merge pull request #908 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.10.3 2020-06-22 10:32:26 +00:00
dependabot-preview[bot] c3c7d05496
chore(deps-dev): bump @babel/preset-env from 7.10.2 to 7.10.3
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:29:51 +00:00
dependabot-preview[bot] 1e6e9cae21
Merge pull request #909 from MoePlayer/dependabot/npm_and_yarn/eslint-7.3.0 2020-06-22 10:29:26 +00:00
dependabot-preview[bot] b54e625841
Merge pull request #907 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.10.3 2020-06-22 10:27:48 +00:00
dependabot-preview[bot] 0d746c206c
Merge pull request #906 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.2 2020-06-22 10:27:21 +00:00
dependabot-preview[bot] bfcf9104c8
chore(deps-dev): bump eslint from 7.2.0 to 7.3.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.2.0...v7.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:25:46 +00:00
dependabot-preview[bot] 50431e6a9a
chore(deps-dev): bump @babel/core from 7.10.2 to 7.10.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:24:58 +00:00
dependabot-preview[bot] c23b43e222
chore(deps-dev): bump autoprefixer from 9.8.0 to 9.8.2
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.0 to 9.8.2.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.0...9.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:24:19 +00:00
Evilran 5c4b20847b
Update player.js 2020-06-22 00:18:32 +02:00
老周部落 452ef186d9
Fix AirPlay Button Display on Firefox Windows Ver. 2020-06-20 21:57:20 +08:00
dependabot-preview[bot] 7368ee38c0
Merge pull request #902 from MoePlayer/dependabot/npm_and_yarn/webpack-cli-3.3.12 2020-06-19 08:54:05 +00:00
dependabot-preview[bot] aaeaff86d9
chore(deps-dev): bump webpack-cli from 3.3.11 to 3.3.12
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.11 to 3.3.12.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/v3.3.12/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.11...v3.3.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-19 08:51:02 +00:00
dependabot-preview[bot] af681e6188
Merge pull request #898 from MoePlayer/dependabot/npm_and_yarn/exports-loader-1.0.1 2020-06-18 08:50:52 +00:00
dependabot-preview[bot] 060923d416
chore(deps-dev): bump exports-loader from 1.0.0 to 1.0.1
Bumps [exports-loader](https://github.com/webpack-contrib/exports-loader) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/webpack-contrib/exports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/exports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/exports-loader/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-18 08:47:01 +00:00
dependabot-preview[bot] 1627587387
Merge pull request #893 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.5.2 2020-06-15 11:28:02 +00:00
dependabot-preview[bot] f57b96b4bf
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.2/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 11:23:44 +00:00
dependabot-preview[bot] d05e77b271
Merge pull request #895 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.5.2 2020-06-15 11:21:42 +00:00
dependabot-preview[bot] d018a5ecd0
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.1 to 1.5.2
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.2/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 11:16:26 +00:00
dependabot-preview[bot] a410918e8e
Merge pull request #896 from MoePlayer/dependabot/npm_and_yarn/eslint-plugin-prettier-3.1.4 2020-06-15 11:00:22 +00:00
dependabot-preview[bot] 2bb61d0cf8
Merge pull request #894 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.6.0 2020-06-15 10:50:02 +00:00
dependabot-preview[bot] 93f02f85be
Merge pull request #891 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.5.2 2020-06-15 10:38:38 +00:00
dependabot-preview[bot] 4c5567cd6c
Merge pull request #892 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.5.2 2020-06-15 10:35:50 +00:00
dependabot-preview[bot] 3d707712a1
chore(deps-dev): bump eslint-plugin-prettier from 3.1.3 to 3.1.4
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v3.1.3...v3.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:24:27 +00:00
dependabot-preview[bot] d2bb210af4
chore(deps-dev): bump css-loader from 3.5.3 to 3.6.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.5.3...v3.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:23:17 +00:00
dependabot-preview[bot] 4c00d73742
chore(deps-dev): bump vuepress from 1.5.1 to 1.5.2
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.2/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:22:06 +00:00
dependabot-preview[bot] adb57dd5a7
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.1 to 1.5.2
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.2/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:21:41 +00:00
dependabot-preview[bot] 0bb2b6916c
Merge pull request #888 from MoePlayer/dependabot/npm_and_yarn/exports-loader-1.0.0 2020-06-11 09:11:40 +00:00
dependabot-preview[bot] 1c42649b11
chore(deps-dev): bump exports-loader from 0.7.0 to 1.0.0
Bumps [exports-loader](https://github.com/webpack-contrib/exports-loader) from 0.7.0 to 1.0.0.
- [Release notes](https://github.com/webpack-contrib/exports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/exports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/exports-loader/compare/v0.7.0...v1.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-11 09:09:01 +00:00
DIYgod d6a815f2d5
chore: release v1.26.0 2020-06-11 12:25:44 +08:00
dependabot-preview[bot] 63275c847d
Merge pull request #886 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.5.1 2020-06-10 09:36:35 +00:00
dependabot-preview[bot] a154c82e65
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.1/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 09:33:10 +00:00
dependabot-preview[bot] c6a0ccf4b0
Merge pull request #884 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.5.1 2020-06-10 09:30:33 +00:00
dependabot-preview[bot] 8de050cb29
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.0 to 1.5.1
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.1/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 09:25:10 +00:00
dependabot-preview[bot] ec095e52de
Merge pull request #885 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.5.1 2020-06-10 09:24:39 +00:00
dependabot-preview[bot] 8e6f6b8141
Merge pull request #883 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.5.1 2020-06-10 09:22:15 +00:00
dependabot-preview[bot] 208e5aec0d
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.0 to 1.5.1
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.1/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 09:19:44 +00:00
dependabot-preview[bot] c780197145
chore(deps-dev): bump vuepress from 1.5.0 to 1.5.1
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.1/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 09:19:05 +00:00
dependabot-preview[bot] 0739e969d1
Merge pull request #880 from MoePlayer/dependabot/npm_and_yarn/eslint-7.2.0 2020-06-08 10:07:58 +00:00
dependabot-preview[bot] 4c108e0e1c
chore(deps-dev): bump eslint from 7.1.0 to 7.2.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.1.0...v7.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 10:05:21 +00:00
dependabot-preview[bot] c6d09204fc
Merge pull request #878 from MoePlayer/dependabot/npm_and_yarn/websocket-extensions-0.1.4 2020-06-05 16:44:14 +00:00
dependabot-preview[bot] 3a743ef020
chore(deps): [security] bump websocket-extensions from 0.1.3 to 0.1.4
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4. **This update includes a security fix.**
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 16:40:56 +00:00
dependabot-preview[bot] 25a537f05b
Merge pull request #877 from MoePlayer/dependabot/npm_and_yarn/balloon-css-1.1.0 2020-06-05 09:09:58 +00:00
dependabot-preview[bot] 153d6de13f
chore(deps): bump balloon-css from 1.0.4 to 1.1.0
Bumps [balloon-css](https://github.com/kazzkiq/balloon.css) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/kazzkiq/balloon.css/releases)
- [Commits](https://github.com/kazzkiq/balloon.css/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 09:07:00 +00:00
dependabot-preview[bot] d8ef06580f
Merge pull request #871 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.10.2 2020-06-01 10:49:04 +00:00
dependabot-preview[bot] 873f509fb2
chore(deps-dev): bump @babel/preset-env from 7.10.0 to 7.10.2
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.0 to 7.10.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 10:45:29 +00:00
dependabot-preview[bot] 2ae20a1e85
Merge pull request #870 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.10.2 2020-06-01 10:43:19 +00:00
dependabot-preview[bot] 1b85db0b58
chore(deps-dev): bump @babel/core from 7.10.0 to 7.10.2
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.0 to 7.10.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 10:40:36 +00:00
dependabot-preview[bot] 2c94595890
Merge pull request #867 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.10.0 2020-05-27 09:02:09 +00:00
dependabot-preview[bot] 8cee191846
Merge pull request #866 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.10.0 2020-05-27 09:01:31 +00:00
dependabot-preview[bot] a6900901c1
chore(deps-dev): bump @babel/core from 7.9.6 to 7.10.0
Bumps [@babel/core](https://github.com/babel/babel) from 7.9.6 to 7.10.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.6...v7.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-27 08:59:26 +00:00
dependabot-preview[bot] 8ad96f11bf chore(deps-dev): bump @babel/preset-env from 7.9.6 to 7.10.0
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.9.6 to 7.10.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.6...v7.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-27 08:58:48 +00:00
dependabot-preview[bot] a987065f8a
Merge pull request #865 from MoePlayer/dependabot/npm_and_yarn/eslint-7.1.0 2020-05-25 10:17:56 +00:00
dependabot-preview[bot] b562d1e8e3
chore(deps-dev): bump eslint from 7.0.0 to 7.1.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.0.0...v7.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-25 10:15:16 +00:00
DIYgod be567b2b0c
fix: typo, close #839 2020-05-23 11:27:15 +08:00
DIYgod 66a6835553
Merge pull request #828 from OldTaoge/patch-1 2020-05-23 11:25:15 +08:00
DIYgod 54b3e9234a
feat: set airplay default to true 2020-05-23 11:24:25 +08:00
dependabot-preview[bot] ded2efeeba
Merge pull request #773 from MoePlayer/dependabot/npm_and_yarn/file-loader-6.0.0 2020-05-23 03:21:42 +00:00
DIYgod 288bd72d8b
Merge pull request #834 from iAladdin/master 2020-05-23 11:19:48 +08:00
DIYgod 55e22c1591
docs: update 2020-05-23 11:14:35 +08:00
DIYgod b31977927c
Merge pull request #764 from jikkai/feat/playback-speed 2020-05-23 11:13:28 +08:00
DIYgod af4d697b19
feat: pluginOptions flv mediaDataSource and config 2020-05-23 11:09:49 +08:00
DIYgod 2ed6ef8912
Merge pull request #697 from laozhoubuluo/PR_Fix_Web_FullScreen 2020-05-23 10:48:33 +08:00
DIYgod 5ffdf141d6
Merge pull request #639 from tutugreen/patch_20191121_1 2020-05-23 10:47:49 +08:00
DIYgod d7efe27bff
docs: remove DPlayer.min.css 2020-05-22 01:07:46 +08:00
DIYgod da06effd2c
docs: fix docs component 2020-05-22 00:59:53 +08:00
DIYgod 878d17855b
Merge pull request #818 from zhangciwu/master 2020-05-22 00:29:18 +08:00
dependabot-preview[bot] 04b35d5c0c
Merge pull request #858 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.0 2020-05-18 09:56:30 +00:00
dependabot-preview[bot] 88a8c0232b
chore(deps-dev): bump autoprefixer from 9.7.6 to 9.8.0
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.7.6 to 9.8.0.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.7.6...9.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 09:53:56 +00:00
dependabot-preview[bot] d6160eb7be
Merge pull request #851 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.5.0 2020-05-12 09:18:56 +00:00
dependabot-preview[bot] 582cb03adf
chore(deps-dev): bump vuepress from 1.4.1 to 1.5.0
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.0/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 09:16:22 +00:00
dependabot-preview[bot] 4810c43b4b
Merge pull request #853 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.5.0 2020-05-12 09:14:26 +00:00
dependabot-preview[bot] 3ed1d86d66
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.0/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 09:12:07 +00:00
dependabot-preview[bot] b7e04e30c8
Merge pull request #852 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.5.0 2020-05-12 09:10:03 +00:00
dependabot-preview[bot] 752529e284
chore(deps-dev): bump @vuepress/plugin-pwa from 1.4.1 to 1.5.0
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.0/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 09:05:06 +00:00
dependabot-preview[bot] f31780e468
Merge pull request #850 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.5.0 2020-05-12 09:03:01 +00:00
dependabot-preview[bot] a86a0f2c37
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.4.1 to 1.5.0
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.0/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 08:59:51 +00:00
dependabot-preview[bot] 6ae4186287
Merge pull request #765 from MoePlayer/dependabot/npm_and_yarn/cross-env-7.0.2 2020-05-11 10:20:36 +00:00
dependabot-preview[bot] 7f0903afa7
chore(deps-dev): bump cross-env from 7.0.0 to 7.0.2
Bumps [cross-env](https://github.com/kentcdodds/cross-env) from 7.0.0 to 7.0.2.
- [Release notes](https://github.com/kentcdodds/cross-env/releases)
- [Changelog](https://github.com/kentcdodds/cross-env/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kentcdodds/cross-env/compare/v7.0.0...v7.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 10:17:50 +00:00
dependabot-preview[bot] d44e8eb5fb
Merge pull request #846 from MoePlayer/dependabot/npm_and_yarn/webpack-dev-server-3.11.0 2020-05-11 10:16:11 +00:00
dependabot-preview[bot] 9fb42e3360
Merge pull request #845 from MoePlayer/dependabot/npm_and_yarn/eslint-7.0.0 2020-05-11 10:15:44 +00:00
dependabot-preview[bot] fa43a6bae0
chore(deps-dev): bump webpack-dev-server from 3.10.3 to 3.11.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.10.3 to 3.11.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.3...v3.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 10:13:36 +00:00
dependabot-preview[bot] 90ad1bfd7b
chore(deps-dev): bump eslint from 6.8.0 to 7.0.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.8.0 to 7.0.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.8.0...v7.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 10:13:17 +00:00
DIYgod b7b1620c02
docs: update 2020-05-07 01:13:57 +08:00
DIYgod 50ea31b4e9
docs: update 2020-05-06 18:55:50 +08:00
dependabot-preview[bot] 3bf19f956b
Merge pull request #835 from MoePlayer/dependabot/npm_and_yarn/node-sass-4.14.1 2020-05-05 08:44:56 +00:00
dependabot-preview[bot] b042310e88
chore(deps-dev): bump node-sass from 4.14.0 to 4.14.1
Bumps [node-sass](https://github.com/sass/node-sass) from 4.14.0 to 4.14.1.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v4.14.0...v4.14.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 08:41:57 +00:00
Aladdin 583b1c9771 Add AirPlay Support on iOS / Mac Safari 2020-05-05 05:04:58 +08:00
dependabot-preview[bot] fa5eac8bf2
Merge pull request #831 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.9.6 2020-04-30 08:50:45 +00:00
dependabot-preview[bot] 9dcb77492f
Merge pull request #830 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.9.6 2020-04-30 08:50:14 +00:00
dependabot-preview[bot] 0aa1dfdfbe
chore(deps-dev): bump @babel/preset-env from 7.9.5 to 7.9.6
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.9.5 to 7.9.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.9.5...v7.9.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-30 08:47:02 +00:00
dependabot-preview[bot] 30cdaafe40
chore(deps-dev): bump @babel/core from 7.8.6 to 7.9.6
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.6 to 7.9.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.6...v7.9.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-30 08:46:36 +00:00
dependabot-preview[bot] 2a3738f081
Merge pull request #829 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.2.1 2020-04-29 08:54:39 +00:00
dependabot-preview[bot] 55e00da005
chore(deps-dev): bump style-loader from 1.2.0 to 1.2.1
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.2.0...v1.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-29 08:51:53 +00:00
Taoge Old 308e31dcb5
Update hotkey.js
修复在直播状态下可以前进后退的Bug
2020-04-27 19:22:14 +08:00
dependabot-preview[bot] 06fbf9b6d6
Merge pull request #827 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.2.0 2020-04-27 10:19:34 +00:00
dependabot-preview[bot] b339170023
Merge pull request #826 from MoePlayer/dependabot/npm_and_yarn/eslint-loader-4.0.2 2020-04-27 10:18:29 +00:00
dependabot-preview[bot] bb7026f783
Merge pull request #825 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.5.3 2020-04-27 10:17:41 +00:00
dependabot-preview[bot] 6367a1389c
chore(deps-dev): bump style-loader from 1.1.4 to 1.2.0
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.1.4 to 1.2.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.1.4...v1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-27 10:15:20 +00:00
dependabot-preview[bot] df8e9a65b0
chore(deps-dev): bump eslint-loader from 4.0.0 to 4.0.2
Bumps [eslint-loader](https://github.com/webpack-contrib/eslint-loader) from 4.0.0 to 4.0.2.
- [Release notes](https://github.com/webpack-contrib/eslint-loader/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-loader/compare/v4.0.0...v4.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-27 10:14:52 +00:00
dependabot-preview[bot] 33e6bcde80
chore(deps-dev): bump css-loader from 3.5.2 to 3.5.3
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.5.2...v3.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-27 10:14:30 +00:00
dependabot-preview[bot] b309a44b06
Merge pull request #823 from MoePlayer/dependabot/npm_and_yarn/node-sass-4.14.0 2020-04-24 08:46:50 +00:00
dependabot-preview[bot] a55f3e6c6c
chore(deps-dev): bump node-sass from 4.13.1 to 4.14.0
Bumps [node-sass](https://github.com/sass/node-sass) from 4.13.1 to 4.14.0.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v4.13.1...v4.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-24 08:44:00 +00:00
dependabot-preview[bot] fbdd54d7a7
Merge pull request #822 from MoePlayer/dependabot/npm_and_yarn/prettier-2.0.5 2020-04-22 09:02:33 +00:00
dependabot-preview[bot] 15b3e5629f
chore(deps-dev): bump prettier from 2.0.4 to 2.0.5
Bumps [prettier](https://github.com/prettier/prettier) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.0.4...2.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-22 08:59:31 +00:00
dependabot-preview[bot] cb9573ce23
Merge pull request #821 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.11.0 2020-04-22 08:57:29 +00:00
dependabot-preview[bot] d8ef0e7439
Merge pull request #820 from MoePlayer/dependabot/npm_and_yarn/webpack-4.43.0 2020-04-22 08:56:35 +00:00
dependabot-preview[bot] 30ab9b2d1c
chore(deps-dev): bump eslint-config-prettier from 6.10.1 to 6.11.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.10.1 to 6.11.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.10.1...v6.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-22 08:53:28 +00:00
dependabot-preview[bot] 6087ddd4a0
chore(deps-dev): bump webpack from 4.41.6 to 4.43.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.6 to 4.43.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.6...v4.43.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-22 08:53:09 +00:00
zhangciwu a77599f4ec
docs: remove css tags 2020-04-20 18:46:53 +08:00
zhangciwu 70985aefa5
docs: remove css tags 2020-04-20 18:46:28 +08:00
DIYgod 682714a442 Merge commit '8d1008482aeca288d180368ea30573dd6e454b48' 2020-04-19 23:37:46 +08:00
DIYgod 0c1bdd5751
chore: release v1.25.1 2020-04-19 23:37:07 +08:00
DIYgod e3a4631695
fix: infinite play and pause 2020-04-19 23:34:17 +08:00
DIYgod 7dcd64ecbb
docs: change cdn 2020-04-19 23:33:53 +08:00
dependabot-preview[bot] 8d1008482a
Merge pull request #812 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.1.4 2020-04-16 08:39:48 +00:00
dependabot-preview[bot] 5441bffe6b
chore(deps-dev): bump style-loader from 1.1.3 to 1.1.4
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.1.3...v1.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-16 08:37:26 +00:00
dependabot-preview[bot] 16181ac647
Merge pull request #808 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.4.1 2020-04-15 09:04:48 +00:00
dependabot-preview[bot] 0f813a306a
chore(deps-dev): bump vuepress from 1.3.1 to 1.4.1
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.3.1 to 1.4.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.4.1/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-15 09:01:39 +00:00
dependabot-preview[bot] de7da117cd
Merge pull request #810 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.4.1 2020-04-15 08:59:13 +00:00
dependabot-preview[bot] fad05099d5
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.3.1 to 1.4.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.4.1/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-15 08:56:46 +00:00
dependabot-preview[bot] bf79c2009b
Merge pull request #809 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.4.1 2020-04-15 08:54:01 +00:00
dependabot-preview[bot] b8334c2d57
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.3.1 to 1.4.1
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.3.1 to 1.4.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.4.1/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-15 08:48:04 +00:00
dependabot-preview[bot] e65db1b334
Merge pull request #807 from MoePlayer/dependabot/npm_and_yarn/git-revision-webpack-plugin-3.0.6 2020-04-15 08:46:56 +00:00
dependabot-preview[bot] 0a25347bb5
Merge pull request #805 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.4.1 2020-04-15 08:45:48 +00:00
dependabot-preview[bot] 154aba16b1
Merge pull request #806 from MoePlayer/dependabot/npm_and_yarn/eslint-plugin-prettier-3.1.3 2020-04-15 08:45:44 +00:00
dependabot-preview[bot] 9237d026b9
chore(deps-dev): bump git-revision-webpack-plugin from 3.0.4 to 3.0.6
Bumps [git-revision-webpack-plugin](https://github.com/pirelenito/git-revision-webpack-plugin) from 3.0.4 to 3.0.6.
- [Release notes](https://github.com/pirelenito/git-revision-webpack-plugin/releases)
- [Commits](https://github.com/pirelenito/git-revision-webpack-plugin/compare/v3.0.4...v3.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-15 08:43:00 +00:00
dependabot-preview[bot] 11608eb0e9
chore(deps-dev): bump eslint-plugin-prettier from 3.1.2 to 3.1.3
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v3.1.2...v3.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-15 08:42:27 +00:00
dependabot-preview[bot] cadb892984
chore(deps-dev): bump @vuepress/plugin-pwa from 1.3.1 to 1.4.1
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.3.1 to 1.4.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.4.1/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-15 08:41:31 +00:00
dependabot-preview[bot] 788fd274c1
Merge pull request #803 from MoePlayer/dependabot/npm_and_yarn/prettier-2.0.4 2020-04-14 08:43:48 +00:00
dependabot-preview[bot] b64894e196
Merge pull request #804 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.5.2 2020-04-14 08:43:02 +00:00
dependabot-preview[bot] 09a1864cb3
chore(deps-dev): bump css-loader from 3.4.2 to 3.5.2
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.4.2 to 3.5.2.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.4.2...v3.5.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-14 08:40:35 +00:00
dependabot-preview[bot] d59a541e96
chore(deps-dev): bump prettier from 1.19.1 to 2.0.4
Bumps [prettier](https://github.com/prettier/prettier) from 1.19.1 to 2.0.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/1.19.1...2.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-14 08:40:28 +00:00
dependabot-preview[bot] 7e20675a13
Merge pull request #800 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.7.6 2020-04-13 09:18:50 +00:00
dependabot-preview[bot] 0d79403292
Merge pull request #799 from MoePlayer/dependabot/npm_and_yarn/minimist-1.2.5 2020-04-13 09:17:51 +00:00
dependabot-preview[bot] dc379a566e
chore(deps-dev): bump autoprefixer from 9.7.4 to 9.7.6
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.7.4 to 9.7.6.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.7.4...9.7.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 09:16:09 +00:00
dependabot-preview[bot] 9b39a7c860
chore(deps): [security] bump minimist from 1.2.0 to 1.2.5
Bumps [minimist](https://github.com/substack/minimist) from 1.2.0 to 1.2.5. **This update includes security fixes.**
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.0...1.2.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 09:14:34 +00:00
dependabot-preview[bot] 7f9bc38d85
Merge pull request #796 from MoePlayer/dependabot/npm_and_yarn/babel-loader-8.1.0 2020-04-11 01:33:20 +00:00
dependabot-preview[bot] 2563e60882
Merge pull request #797 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.10.1 2020-04-10 08:55:20 +00:00
dependabot-preview[bot] 9df872a612
chore(deps-dev): bump eslint-config-prettier from 6.10.0 to 6.10.1
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.10.0 to 6.10.1.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.10.0...v6.10.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-10 08:52:36 +00:00
dependabot-preview[bot] b8eadfa2be
chore(deps-dev): bump babel-loader from 8.0.6 to 8.1.0
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.0.6 to 8.1.0.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.0.6...v8.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-10 08:52:04 +00:00
dependabot-preview[bot] 8f2abf8cb1
chore(deps-dev): bump file-loader from 5.1.0 to 6.0.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 5.1.0 to 6.0.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v5.1.0...v6.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-09 08:51:15 +00:00
dependabot-preview[bot] f3bc2298a1
Merge pull request #794 from MoePlayer/dependabot/npm_and_yarn/url-loader-4.1.0 2020-04-09 08:49:13 +00:00
dependabot-preview[bot] 3126a5e6d6
Merge pull request #793 from MoePlayer/dependabot/npm_and_yarn/eslint-loader-4.0.0 2020-04-09 08:48:38 +00:00
dependabot-preview[bot] 80690d258e
chore(deps-dev): bump url-loader from 3.0.0 to 4.1.0
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 3.0.0 to 4.1.0.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v3.0.0...v4.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-09 08:46:36 +00:00
dependabot-preview[bot] a51a8eb0db
chore(deps-dev): bump eslint-loader from 3.0.3 to 4.0.0
Bumps [eslint-loader](https://github.com/webpack-contrib/eslint-loader) from 3.0.3 to 4.0.0.
- [Release notes](https://github.com/webpack-contrib/eslint-loader/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-loader/compare/v3.0.3...v4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-09 08:45:12 +00:00
dependabot-preview[bot] f9cb478e24
Merge pull request #792 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.9.5 2020-04-08 08:39:53 +00:00
dependabot-preview[bot] d95344f320
chore(deps-dev): bump @babel/preset-env from 7.8.6 to 7.9.5
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.6 to 7.9.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.6...v7.9.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-08 08:35:25 +00:00
Jikkai Xiao 811e530329 feat: support custom playback speed 2020-03-06 16:03:51 +08:00
dependabot-preview[bot] bd5248abdb
Merge pull request #750 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.3.1 2020-02-28 08:25:38 +00:00
dependabot-preview[bot] 10da8e24f1
chore(deps-dev): bump vuepress from 1.3.0 to 1.3.1
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.3.1/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-28 08:22:40 +00:00
dependabot-preview[bot] 3fef8e91dd
Merge pull request #756 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.8.6 2020-02-28 08:20:09 +00:00
dependabot-preview[bot] e1aeda64a9
chore(deps-dev): bump @babel/preset-env from 7.8.4 to 7.8.6
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.4 to 7.8.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.4...v7.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-28 08:17:54 +00:00
dependabot-preview[bot] a166713cf5
Merge pull request #755 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.8.6 2020-02-28 08:15:27 +00:00
dependabot-preview[bot] d990140fa1
chore(deps-dev): bump @babel/core from 7.8.4 to 7.8.6
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.4 to 7.8.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.4...v7.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-28 08:12:13 +00:00
dependabot-preview[bot] ee582f105d
Merge pull request #748 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.3.1 2020-02-21 08:21:02 +00:00
dependabot-preview[bot] 85d352b98d
chore(deps-dev): bump @vuepress/plugin-pwa from 1.3.0 to 1.3.1
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.3.1/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-21 08:16:08 +00:00
dependabot-preview[bot] 7780ef3e51
Merge pull request #749 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.3.1 2020-02-21 08:13:15 +00:00
dependabot-preview[bot] 4c5516bb29
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.3.1/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-21 08:08:08 +00:00
dependabot-preview[bot] 150b920c29
Merge pull request #747 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.3.1 2020-02-21 08:05:38 +00:00
dependabot-preview[bot] 3dbe51ca5a
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.3.0 to 1.3.1
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.3.1/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-21 08:02:51 +00:00
dependabot-preview[bot] 6cd521b062
Merge pull request #746 from MoePlayer/dependabot/npm_and_yarn/file-loader-5.1.0 2020-02-20 08:10:54 +00:00
dependabot-preview[bot] 8898f89895
chore(deps-dev): bump file-loader from 5.0.2 to 5.1.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v5.0.2...v5.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-20 08:07:26 +00:00
dependabot-preview[bot] d6c7a62445
Merge pull request #742 from MoePlayer/dependabot/npm_and_yarn/svg-inline-loader-0.8.2 2020-02-18 08:06:10 +00:00
dependabot-preview[bot] 06c0fb94fa
chore(deps-dev): bump svg-inline-loader from 0.8.0 to 0.8.2
Bumps [svg-inline-loader](https://github.com/sairion/svg-inline-loader) from 0.8.0 to 0.8.2.
- [Release notes](https://github.com/sairion/svg-inline-loader/releases)
- [Changelog](https://github.com/webpack-contrib/svg-inline-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sairion/svg-inline-loader/compare/v0.8.0...v0.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-18 08:03:42 +00:00
DIYgod 01b1c6b5ca
feat: mobile play button 2020-02-15 18:36:54 +08:00
dependabot-preview[bot] 146cb9ecb8
Merge pull request #740 from MoePlayer/dependabot/npm_and_yarn/webpack-cli-3.3.11 2020-02-12 08:11:42 +00:00
dependabot-preview[bot] 6d291011a8
Merge pull request #739 from MoePlayer/dependabot/npm_and_yarn/webpack-4.41.6 2020-02-12 08:10:12 +00:00
dependabot-preview[bot] f284852ead
chore(deps-dev): bump webpack-cli from 3.3.10 to 3.3.11
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.10 to 3.3.11.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/next/CHANGELOG_v3.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.10...v3.3.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 08:07:43 +00:00
dependabot-preview[bot] c9525d9506
chore(deps-dev): bump webpack from 4.41.5 to 4.41.6
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.5 to 4.41.6.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.5...v4.41.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 08:07:13 +00:00
dependabot-preview[bot] f89bf46055
Merge pull request #737 from MoePlayer/dependabot/npm_and_yarn/webpack-dev-server-3.10.3 2020-02-06 08:10:55 +00:00
dependabot-preview[bot] a1924da07a
chore(deps-dev): bump webpack-dev-server from 3.10.2 to 3.10.3
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.10.2 to 3.10.3.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.2...v3.10.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-06 08:07:54 +00:00
dependabot-preview[bot] 4d779a60bb
Merge pull request #736 from MoePlayer/dependabot/npm_and_yarn/webpack-dev-server-3.10.2 2020-02-03 08:49:12 +00:00
dependabot-preview[bot] 05070a9651
chore(deps-dev): bump webpack-dev-server from 3.10.1 to 3.10.2
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.10.1 to 3.10.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.1...v3.10.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 08:46:32 +00:00
dependabot-preview[bot] 1db0aac7cb
Merge pull request #734 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.3.0 2020-01-31 08:37:03 +00:00
dependabot-preview[bot] 8f20fc8128
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.3.0/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-31 08:32:41 +00:00
dependabot-preview[bot] e9c51080ef
Merge pull request #735 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.3.0 2020-01-31 08:30:40 +00:00
dependabot-preview[bot] ca85c218bd
Merge pull request #733 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.8.4 2020-01-31 08:27:53 +00:00
dependabot-preview[bot] 0c10adf159
Merge pull request #732 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.8.4 2020-01-31 08:27:10 +00:00
dependabot-preview[bot] 135ffcd10e
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.2.0 to 1.3.0
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.3.0/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-31 08:21:02 +00:00
dependabot-preview[bot] 7b7793124e
chore(deps-dev): bump @babel/preset-env from 7.8.3 to 7.8.4
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.3 to 7.8.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.3...v7.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-31 08:20:21 +00:00
dependabot-preview[bot] fffc7ecbee
chore(deps-dev): bump @babel/core from 7.8.3 to 7.8.4
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.3 to 7.8.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.3...v7.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-31 08:20:08 +00:00
dependabot-preview[bot] 273e3281f3
Merge pull request #731 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.3.0 2020-01-31 08:18:20 +00:00
dependabot-preview[bot] fef4027abf
Merge pull request #730 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.3.0 2020-01-31 08:17:36 +00:00
dependabot-preview[bot] 7093037cbb
chore(deps-dev): bump @vuepress/plugin-pwa from 1.2.0 to 1.3.0
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.3.0/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-31 08:14:51 +00:00
dependabot-preview[bot] 374a68c2b0
chore(deps-dev): bump vuepress from 1.2.0 to 1.3.0
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.3.0/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-31 08:14:24 +00:00
dependabot-preview[bot] f18b4ec5dc
Merge pull request #728 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.10.0 2020-01-28 08:05:11 +00:00
dependabot-preview[bot] 69489a4e65
chore(deps-dev): bump eslint-config-prettier from 6.9.0 to 6.10.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.9.0 to 6.10.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.9.0...v6.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-28 08:02:29 +00:00
dependabot-preview[bot] a6c1cd67fd
Merge pull request #727 from MoePlayer/dependabot/npm_and_yarn/cross-env-7.0.0 2020-01-27 08:24:17 +00:00
dependabot-preview[bot] a1b73d17b9
chore(deps-dev): bump cross-env from 6.0.3 to 7.0.0
Bumps [cross-env](https://github.com/kentcdodds/cross-env) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/kentcdodds/cross-env/releases)
- [Changelog](https://github.com/kentcdodds/cross-env/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kentcdodds/cross-env/compare/v6.0.3...v7.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 08:21:38 +00:00
dependabot-preview[bot] 678a5a4920
Merge pull request #726 from MoePlayer/dependabot/npm_and_yarn/axios-0.19.2 2020-01-22 08:06:24 +00:00
dependabot-preview[bot] ab8e96cfee
chore(deps): bump axios from 0.19.1 to 0.19.2
Bumps [axios](https://github.com/axios/axios) from 0.19.1 to 0.19.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/0.19.1...v0.19.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-22 08:03:40 +00:00
dependabot-preview[bot] 6ed48e306b
Merge pull request #725 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.1.3 2020-01-20 08:28:05 +00:00
dependabot-preview[bot] 141971ebef
chore(deps-dev): bump style-loader from 1.1.2 to 1.1.3
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.1.2...v1.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 08:25:38 +00:00
dependabot-preview[bot] 44f0f1f17f
Merge pull request #722 from MoePlayer/dependabot/npm_and_yarn/node-sass-4.13.1 2020-01-17 08:01:19 +00:00
dependabot-preview[bot] 6626c25091
chore(deps-dev): bump node-sass from 4.13.0 to 4.13.1
Bumps [node-sass](https://github.com/sass/node-sass) from 4.13.0 to 4.13.1.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v4.13.0...v4.13.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-17 07:58:42 +00:00
dependabot-preview[bot] fce59d82dd
Merge pull request #719 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.7.4 2020-01-15 08:02:23 +00:00
dependabot-preview[bot] 764b77b85f
chore(deps-dev): bump autoprefixer from 9.7.3 to 9.7.4
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.7.3 to 9.7.4.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.7.3...9.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-15 07:59:11 +00:00
dependabot-preview[bot] 9883a2d277
Merge pull request #718 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.8.3 2020-01-14 08:10:13 +00:00
dependabot-preview[bot] 25a7fbac3f
chore(deps-dev): bump @babel/preset-env from 7.8.2 to 7.8.3
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.2 to 7.8.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.2...v7.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 08:08:12 +00:00
dependabot-preview[bot] 013061b731
Merge pull request #716 from MoePlayer/dependabot/npm_and_yarn/sass-loader-8.0.2 2020-01-14 08:06:33 +00:00
dependabot-preview[bot] b48e9d5d96
Merge pull request #717 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.8.3 2020-01-14 08:06:09 +00:00
dependabot-preview[bot] 20df452e9a
chore(deps-dev): bump @babel/core from 7.8.0 to 7.8.3
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.0 to 7.8.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.0...v7.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 08:03:50 +00:00
dependabot-preview[bot] 61d99196c4
chore(deps-dev): bump sass-loader from 8.0.1 to 8.0.2
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.1...v8.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 08:03:00 +00:00
dependabot-preview[bot] abfe34d3cf
Merge pull request #715 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.8.0 2020-01-13 08:36:55 +00:00
dependabot-preview[bot] cf7c6d7b06
chore(deps-dev): bump @babel/core from 7.7.7 to 7.8.0
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.7 to 7.8.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.7...v7.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:34:09 +00:00
dependabot-preview[bot] efea57475c
Merge pull request #714 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.4.2 2020-01-13 08:33:37 +00:00
dependabot-preview[bot] e194755f2d
Merge pull request #713 from MoePlayer/dependabot/npm_and_yarn/sass-loader-8.0.1 2020-01-13 08:32:36 +00:00
dependabot-preview[bot] 354d0a15a0
Merge pull request #712 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.8.2 2020-01-13 08:32:00 +00:00
dependabot-preview[bot] 78bb92cce0
chore(deps-dev): bump css-loader from 3.4.1 to 3.4.2
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.4.1...v3.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:30:14 +00:00
dependabot-preview[bot] 1afba49651
chore(deps-dev): bump sass-loader from 8.0.0 to 8.0.1
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:29:53 +00:00
dependabot-preview[bot] aa75665e45
chore(deps-dev): bump @babel/preset-env from 7.7.7 to 7.8.2
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.7 to 7.8.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.7...v7.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:29:34 +00:00
dependabot-preview[bot] cc75ec1668
Merge pull request #707 from MoePlayer/dependabot/npm_and_yarn/axios-0.19.1 2020-01-08 07:55:01 +00:00
dependabot-preview[bot] 201f7d14c4
chore(deps): bump axios from 0.19.0 to 0.19.1
Bumps [axios](https://github.com/axios/axios) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.0...0.19.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-08 07:52:26 +00:00
dependabot-preview[bot] 9de9b05196
Merge pull request #698 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.4.1 2020-01-06 08:09:58 +00:00
dependabot-preview[bot] 2da795c792
chore(deps-dev): bump css-loader from 3.4.0 to 3.4.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.4.0...v3.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 08:07:15 +00:00
老周部落 084e10461c
Fix Web Fullscreen layout error when container set width or height 2020-01-03 21:17:29 +08:00
dependabot-preview[bot] d3817d7e33
Merge pull request #693 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.9.0 2019-12-30 07:44:00 +00:00
dependabot-preview[bot] d3e61d62ca
Merge pull request #692 from MoePlayer/dependabot/npm_and_yarn/webpack-4.41.5 2019-12-30 07:43:27 +00:00
dependabot-preview[bot] c9b3876e19
chore(deps-dev): bump eslint-config-prettier from 6.8.0 to 6.9.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.8.0 to 6.9.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.8.0...v6.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 07:41:32 +00:00
dependabot-preview[bot] da85f591e1
chore(deps-dev): bump webpack from 4.41.4 to 4.41.5
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.4 to 4.41.5.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.4...v4.41.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 07:41:00 +00:00
dependabot-preview[bot] d6e253d39a
Merge pull request #688 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.1.2 2019-12-26 07:44:00 +00:00
dependabot-preview[bot] 187ef2b878
Merge pull request #689 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.8.0 2019-12-26 07:43:29 +00:00
dependabot-preview[bot] 55e6e654f8
chore(deps-dev): bump eslint-config-prettier from 6.7.0 to 6.8.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.7.0 to 6.8.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/commits/v6.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-26 07:40:37 +00:00
dependabot-preview[bot] 824a573ae1
chore(deps-dev): bump style-loader from 1.1.1 to 1.1.2
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.1.1...v1.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-26 07:40:06 +00:00
dependabot-preview[bot] 1bf319c422
Merge pull request #683 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.1.1 2019-12-23 08:08:18 +00:00
dependabot-preview[bot] 255d33bec3
Merge pull request #684 from MoePlayer/dependabot/npm_and_yarn/eslint-6.8.0 2019-12-23 08:07:53 +00:00
dependabot-preview[bot] 7f75e3d1e1
Merge pull request #682 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.9.0 2019-12-23 08:06:52 +00:00
dependabot-preview[bot] e90e9e6e8d
chore(deps-dev): bump eslint from 6.7.2 to 6.8.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.2 to 6.8.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.2...v6.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 08:04:07 +00:00
dependabot-preview[bot] a215ec56e6
chore(deps-dev): bump style-loader from 1.0.2 to 1.1.1
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.0.2 to 1.1.1.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.0.2...v1.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 08:03:38 +00:00
dependabot-preview[bot] b08c79f1c2
chore(deps-dev): bump mini-css-extract-plugin from 0.8.2 to 0.9.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.8.2 to 0.9.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.8.2...v0.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 08:03:19 +00:00
dependabot-preview[bot] 6e17403801
Merge pull request #681 from MoePlayer/dependabot/npm_and_yarn/webpack-dev-server-3.10.1 2019-12-20 07:46:13 +00:00
dependabot-preview[bot] 1f52919166
chore(deps-dev): bump webpack-dev-server from 3.9.0 to 3.10.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.9.0 to 3.10.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v3.10.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.9.0...v3.10.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 07:43:54 +00:00
dependabot-preview[bot] 3e67a4b227
Merge pull request #679 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.7.7 2019-12-19 07:55:36 +00:00
dependabot-preview[bot] 254a3daf16
Merge pull request #678 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.7.7 2019-12-19 07:53:41 +00:00
dependabot-preview[bot] 77ea33a0ab
Merge pull request #676 from MoePlayer/dependabot/npm_and_yarn/webpack-4.41.4 2019-12-19 07:52:27 +00:00
dependabot-preview[bot] e3cf0b2183
chore(deps-dev): bump @babel/core from 7.7.5 to 7.7.7
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.5 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.5...v7.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-19 07:50:12 +00:00
dependabot-preview[bot] 65a56de07c
chore(deps-dev): bump @babel/preset-env from 7.7.6 to 7.7.7
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.6 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.6...v7.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-19 07:49:41 +00:00
dependabot-preview[bot] a560c48d2c
chore(deps-dev): bump webpack from 4.41.3 to 4.41.4
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.3 to 4.41.4.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.3...v4.41.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-19 07:48:41 +00:00
dependabot-preview[bot] bffbea4df3
Merge pull request #673 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.4.0 2019-12-18 07:56:21 +00:00
dependabot-preview[bot] 2d4fc71983
chore(deps-dev): bump css-loader from 3.3.2 to 3.4.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.3.2 to 3.4.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.3.2...v3.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-18 07:52:12 +00:00
dependabot-preview[bot] 64e2dd1bc8
Merge pull request #672 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.8.2 2019-12-18 07:50:20 +00:00
dependabot-preview[bot] 7edc2f3069
Merge pull request #671 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.0.2 2019-12-18 07:49:51 +00:00
dependabot-preview[bot] d64cb2e522
chore(deps-dev): bump mini-css-extract-plugin from 0.8.0 to 0.8.2
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.8.0 to 0.8.2.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.8.0...v0.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-18 07:46:58 +00:00
dependabot-preview[bot] 2c45c6ea10
chore(deps-dev): bump style-loader from 1.0.1 to 1.0.2
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.0.1...v1.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-18 07:46:46 +00:00
dependabot-preview[bot] fb614e9984
Merge pull request #670 from MoePlayer/dependabot/npm_and_yarn/webpack-4.41.3 2019-12-17 07:47:34 +00:00
dependabot-preview[bot] 509d1ad0f7
chore(deps-dev): bump webpack from 4.41.2 to 4.41.3
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.2 to 4.41.3.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.2...v4.41.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-17 07:43:39 +00:00
dependabot-preview[bot] f9686e714f
Merge pull request #666 from MoePlayer/dependabot/npm_and_yarn/eslint-plugin-prettier-3.1.2 2019-12-16 07:50:24 +00:00
dependabot-preview[bot] fc887a6144
chore(deps-dev): bump eslint-plugin-prettier from 3.1.1 to 3.1.2
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v3.1.1...v3.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:47:37 +00:00
dependabot-preview[bot] 4ef1f134e6
Merge pull request #665 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.3.2 2019-12-13 07:42:13 +00:00
dependabot-preview[bot] 02f741b159
chore(deps-dev): bump css-loader from 3.3.0 to 3.3.2
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.3.0 to 3.3.2.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/v3.3.2/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.3.0...v3.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-13 07:39:24 +00:00
dependabot-preview[bot] 5d03aba193
Merge pull request #664 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.3.0 2019-12-10 07:44:04 +00:00
dependabot-preview[bot] 8acbe5e764
chore(deps-dev): bump css-loader from 3.2.1 to 3.3.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.2.1 to 3.3.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.2.1...v3.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 07:41:20 +00:00
dependabot-preview[bot] 92a4e81c41
Merge pull request #662 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.7.6 2019-12-09 07:59:47 +00:00
dependabot-preview[bot] 5c8d731586
Merge pull request #660 from MoePlayer/dependabot/npm_and_yarn/eslint-loader-3.0.3 2019-12-09 07:57:37 +00:00
dependabot-preview[bot] 33bb586de2
Merge pull request #661 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.7.5 2019-12-09 07:57:29 +00:00
dependabot-preview[bot] 0651fc1a84
chore(deps-dev): bump @babel/preset-env from 7.7.4 to 7.7.6
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.4 to 7.7.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.7.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 07:55:16 +00:00
dependabot-preview[bot] 0414840c1d
chore(deps-dev): bump @babel/core from 7.7.4 to 7.7.5
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.4 to 7.7.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.7.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 07:54:45 +00:00
dependabot-preview[bot] fd3b7afe2c
chore(deps-dev): bump eslint-loader from 3.0.2 to 3.0.3
Bumps [eslint-loader](https://github.com/webpack-contrib/eslint-loader) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/webpack-contrib/eslint-loader/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-loader/compare/v3.0.2...v3.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 07:54:12 +00:00
dependabot-preview[bot] 01e192e79b
Merge pull request #658 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.2.1 2019-12-03 07:39:30 +00:00
dependabot-preview[bot] 80d1112142
chore(deps-dev): bump css-loader from 3.2.0 to 3.2.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-03 07:37:00 +00:00
dependabot-preview[bot] 39d4aafd56
Merge pull request #655 from MoePlayer/dependabot/npm_and_yarn/balloon-css-1.0.4 2019-12-02 07:52:45 +00:00
dependabot-preview[bot] 7fd212afdf
Merge pull request #654 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.7.3 2019-12-02 07:50:35 +00:00
dependabot-preview[bot] b25d8199fc
Merge pull request #653 from MoePlayer/dependabot/npm_and_yarn/eslint-6.7.2 2019-12-02 07:50:07 +00:00
dependabot-preview[bot] 3146ce0238
chore(deps): bump balloon-css from 1.0.3 to 1.0.4
Bumps [balloon-css](https://github.com/kazzkiq/balloon.css) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/kazzkiq/balloon.css/releases)
- [Commits](https://github.com/kazzkiq/balloon.css/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:48:13 +00:00
dependabot-preview[bot] 0827c21264
chore(deps-dev): bump autoprefixer from 9.7.2 to 9.7.3
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.7.2 to 9.7.3.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.7.2...9.7.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:47:47 +00:00
dependabot-preview[bot] 07ecb677e1
chore(deps-dev): bump eslint from 6.7.1 to 6.7.2
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.1 to 6.7.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.1...v6.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:47:16 +00:00
dependabot-preview[bot] e7bafe1d44
Merge pull request #650 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.0.1 2019-11-29 07:35:30 +00:00
dependabot-preview[bot] 1c9a09b548
chore(deps-dev): bump style-loader from 1.0.0 to 1.0.1
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-29 07:32:21 +00:00
dependabot-preview[bot] 2a3c6f04bc
Merge pull request #648 from MoePlayer/dependabot/npm_and_yarn/url-loader-3.0.0 2019-11-27 07:40:41 +00:00
dependabot-preview[bot] 5483c1bdaf
chore(deps-dev): bump url-loader from 2.3.0 to 3.0.0
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v2.3.0...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-27 07:38:09 +00:00
dependabot-preview[bot] 6fc7819f3f
Merge pull request #647 from MoePlayer/dependabot/npm_and_yarn/file-loader-5.0.2 2019-11-26 07:37:12 +00:00
dependabot-preview[bot] f5ca408f18
chore(deps-dev): bump file-loader from 4.3.0 to 5.0.2
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 4.3.0 to 5.0.2.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v4.3.0...v5.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-26 07:34:23 +00:00
dependabot-preview[bot] 15e5f9c942
Merge pull request #644 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.7.4 2019-11-25 07:56:04 +00:00
dependabot-preview[bot] 2fe56ff3eb
Merge pull request #645 from MoePlayer/dependabot/npm_and_yarn/eslint-6.7.1 2019-11-25 07:53:50 +00:00
dependabot-preview[bot] be3b348c20
chore(deps-dev): bump @babel/preset-env from 7.7.1 to 7.7.4
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.1 to 7.7.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.1...v7.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 07:53:27 +00:00
dependabot-preview[bot] 9d5eb9b5da
Merge pull request #643 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.7.4 2019-11-25 07:51:21 +00:00
dependabot-preview[bot] 86d9f0a07f
chore(deps-dev): bump eslint from 6.6.0 to 6.7.1
Bumps [eslint](https://github.com/eslint/eslint) from 6.6.0 to 6.7.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.6.0...v6.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 07:49:47 +00:00
dependabot-preview[bot] be2de96bbd
chore(deps-dev): bump @babel/core from 7.7.2 to 7.7.4
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.2 to 7.7.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.2...v7.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 07:48:40 +00:00
dependabot-preview[bot] a98a679e8b
Merge pull request #642 from MoePlayer/dependabot/npm_and_yarn/url-loader-2.3.0 2019-11-22 07:41:06 +00:00
dependabot-preview[bot] 1fdbe16d5d
chore(deps-dev): bump url-loader from 2.2.0 to 2.3.0
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v2.2.0...v2.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 07:38:24 +00:00
dependabot-preview[bot] 35d2bf7d91
Merge pull request #641 from MoePlayer/dependabot/npm_and_yarn/file-loader-4.3.0 2019-11-22 07:36:17 +00:00
dependabot-preview[bot] c06b13e6d0
chore(deps-dev): bump file-loader from 4.2.0 to 4.3.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v4.2.0...v4.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 07:33:31 +00:00
YuanMing bfcb545407
Hide native controls (overlap with Dplayer)
隐藏WebTorrent原生控制条,避免与Dplayer控制条重叠,环境:Chrome 78.0.3904.97, DPlayer.min.js cb95daa, WebTorrent 0.107.17
2019-11-21 22:37:28 +08:00
dependabot-preview[bot] 2a7e04df81
Merge pull request #638 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.7.0 2019-11-19 07:43:21 +00:00
dependabot-preview[bot] 3aa3698c76
Merge pull request #637 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.7.2 2019-11-19 07:42:07 +00:00
dependabot-preview[bot] 6a03374702
chore(deps-dev): bump eslint-config-prettier from 6.6.0 to 6.7.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.6.0 to 6.7.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-19 07:39:41 +00:00
dependabot-preview[bot] f684b264d2
chore(deps-dev): bump autoprefixer from 9.7.1 to 9.7.2
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.7.1 to 9.7.2.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.7.1...9.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-19 07:39:06 +00:00
dependabot-preview[bot] 2ab86202f9
Merge pull request #631 from MoePlayer/dependabot/npm_and_yarn/prettier-1.19.1 2019-11-18 07:52:12 +00:00
dependabot-preview[bot] f96f270d3a
chore(deps-dev): bump prettier from 1.18.2 to 1.19.1
Bumps [prettier](https://github.com/prettier/prettier) from 1.18.2 to 1.19.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/1.18.2...1.19.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 07:49:27 +00:00
dependabot-preview[bot] 7c887848a1
Merge pull request #636 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.6.0 2019-11-18 07:47:19 +00:00
dependabot-preview[bot] 2d439def44
chore(deps-dev): bump eslint-config-prettier from 6.5.0 to 6.6.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.5.0 to 6.6.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.5.0...v6.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 07:44:12 +00:00
dependabot-preview[bot] c628fd7b74
Merge pull request #627 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.7.2 2019-11-07 07:34:49 +00:00
dependabot-preview[bot] 8081da2b67
chore(deps-dev): bump @babel/core from 7.7.0 to 7.7.2
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.0 to 7.7.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.0...v7.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-07 07:31:59 +00:00
dependabot-preview[bot] 046590a2d2
Merge pull request #621 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.7.0 2019-11-06 07:47:17 +00:00
dependabot-preview[bot] a3bc44f3e1
Merge pull request #622 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.7.1 2019-11-06 07:43:56 +00:00
dependabot-preview[bot] bd0ebf6c4f
chore(deps-dev): bump @babel/core from 7.6.4 to 7.7.0
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.4 to 7.7.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.4...v7.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 07:42:24 +00:00
dependabot-preview[bot] 4ea2a4ee60
Merge pull request #620 from MoePlayer/dependabot/npm_and_yarn/webpack-cli-3.3.10 2019-11-06 07:41:13 +00:00
dependabot-preview[bot] aa2709a069
Merge pull request #619 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.7.1 2019-11-06 07:39:45 +00:00
dependabot-preview[bot] dad08cea64
Merge pull request #618 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-2.0.1 2019-11-06 07:37:06 +00:00
dependabot-preview[bot] f224b5bd1f
chore(deps-dev): bump autoprefixer from 9.7.0 to 9.7.1
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.7.0 to 9.7.1.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.7.0...9.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 07:36:12 +00:00
dependabot-preview[bot] 7a173b2ab4
chore(deps-dev): bump webpack-cli from 3.3.9 to 3.3.10
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.9 to 3.3.10.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/v3.3.10/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.9...v3.3.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 07:35:20 +00:00
dependabot-preview[bot] b2e8fcd4e7
chore(deps-dev): bump @babel/preset-env from 7.6.3 to 7.7.1
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.3 to 7.7.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 07:34:57 +00:00
dependabot-preview[bot] 71cd76b839
chore(deps-dev): bump pretty-quick from 2.0.0 to 2.0.1
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v2.0.0...v2.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 07:34:24 +00:00
dependabot-preview[bot] 69c6878b8e
Merge pull request #610 from MoePlayer/dependabot/npm_and_yarn/eslint-6.6.0 2019-10-28 08:20:27 +00:00
dependabot-preview[bot] 6c3ba7895d
chore(deps-dev): bump eslint from 6.5.1 to 6.6.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.5.1 to 6.6.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.5.1...v6.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 08:17:48 +00:00
dependabot-preview[bot] 84b525a9ba
Merge pull request #609 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.5.0 2019-10-28 08:15:25 +00:00
dependabot-preview[bot] 9ff04d6899
chore(deps-dev): bump eslint-config-prettier from 6.4.0 to 6.5.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.4.0...v6.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 08:11:53 +00:00
dependabot-preview[bot] b1badd7fdc
Merge pull request #606 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.7.0 2019-10-25 07:28:37 +00:00
dependabot-preview[bot] 81353010ed
chore(deps-dev): bump autoprefixer from 9.6.5 to 9.7.0
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.6.5 to 9.7.0.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.6.5...9.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-25 07:25:20 +00:00
dependabot-preview[bot] 5e212bee0f
Merge pull request #604 from MoePlayer/dependabot/npm_and_yarn/node-sass-4.13.0 2019-10-24 07:45:46 +00:00
dependabot-preview[bot] 8212cb41c2
chore(deps-dev): bump node-sass from 4.12.0 to 4.13.0
Bumps [node-sass](https://github.com/sass/node-sass) from 4.12.0 to 4.13.0.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v4.12.0...v4.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 07:42:29 +00:00
dependabot-preview[bot] 6e82cc37f8
Merge pull request #602 from MoePlayer/dependabot/npm_and_yarn/webpack-dev-server-3.9.0 2019-10-23 07:36:38 +00:00
dependabot-preview[bot] 66403cff4c
chore(deps-dev): bump webpack-dev-server from 3.8.2 to 3.9.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.8.2 to 3.9.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.8.2...v3.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-23 07:32:22 +00:00
dependabot-preview[bot] cddcbae237
Merge pull request #595 from MoePlayer/dependabot/npm_and_yarn/webpack-4.41.2 2019-10-16 02:12:57 +00:00
dependabot-preview[bot] f80ff9f612
chore(deps-dev): bump webpack from 4.41.1 to 4.41.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.1 to 4.41.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.1...v4.41.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-16 02:08:17 +00:00
dependabot-preview[bot] 3ed750dced
Merge pull request #590 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.2.0 2019-10-14 17:49:40 +00:00
dependabot-preview[bot] b31c4181ec
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.2.0/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 17:46:41 +00:00
dependabot-preview[bot] 59d6c05fca
Merge pull request #591 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.2.0 2019-10-14 17:44:29 +00:00
dependabot-preview[bot] c684dab93d
Merge pull request #594 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.2.0 2019-10-14 17:43:20 +00:00
dependabot-preview[bot] 83501db2e9
Merge pull request #593 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-2.0.0 2019-10-14 17:41:58 +00:00
dependabot-preview[bot] e58f3a273a
Merge pull request #592 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.6.5 2019-10-14 17:40:39 +00:00
dependabot-preview[bot] 55aae6e4b9
chore(deps-dev): bump @vuepress/plugin-pwa from 1.1.0 to 1.2.0
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.2.0/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 17:39:56 +00:00
dependabot-preview[bot] 65d9aad01b
chore(deps-dev): bump vuepress from 1.1.0 to 1.2.0
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.2.0/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 17:38:05 +00:00
dependabot-preview[bot] ecd09c9f25
Merge pull request #589 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.2.0 2019-10-14 17:37:33 +00:00
dependabot-preview[bot] 49a6d19800
chore(deps-dev): bump pretty-quick from 1.11.1 to 2.0.0
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 1.11.1 to 2.0.0.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v1.11.1...v2.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 17:37:26 +00:00
dependabot-preview[bot] 6f70a89fa6
chore(deps-dev): bump autoprefixer from 9.6.4 to 9.6.5
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.6.4 to 9.6.5.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.6.4...9.6.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 17:36:57 +00:00
dependabot-preview[bot] 69c68ced53
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.1.0 to 1.2.0
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.2.0/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-14 17:34:44 +00:00
dependabot-preview[bot] 1f6953e4b2
Merge pull request #584 from MoePlayer/dependabot/npm_and_yarn/webpack-4.41.1 2019-10-11 13:43:46 +00:00
dependabot-preview[bot] a3c52c8364
chore(deps-dev): bump webpack from 4.41.0 to 4.41.1
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.0 to 4.41.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.0...v4.41.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-11 13:40:27 +00:00
dependabot-preview[bot] 9bbe02f1b5
Merge pull request #583 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.6.4 2019-10-10 15:58:15 +00:00
dependabot-preview[bot] c70a2b8588
chore(deps-dev): bump @babel/core from 7.6.3 to 7.6.4
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.3 to 7.6.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.6.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-10 15:55:12 +00:00
dependabot-preview[bot] d64141099a
Merge pull request #582 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.6.3 2019-10-09 14:14:22 +00:00
dependabot-preview[bot] 8603255c15
Merge pull request #581 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.6.3 2019-10-09 14:14:05 +00:00
dependabot-preview[bot] 60f89ece50
chore(deps-dev): bump @babel/core from 7.6.2 to 7.6.3
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.2 to 7.6.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.2...v7.6.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-09 14:11:19 +00:00
dependabot-preview[bot] ac5305effb
chore(deps-dev): bump @babel/preset-env from 7.6.2 to 7.6.3
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.2 to 7.6.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.2...v7.6.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-09 14:10:55 +00:00
dependabot-preview[bot] 7c671ad6b8
Merge pull request #580 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.4.0 2019-10-07 12:45:19 +00:00
dependabot-preview[bot] 0f3bdd1087
Merge pull request #579 from MoePlayer/dependabot/npm_and_yarn/url-loader-2.2.0 2019-10-07 12:43:42 +00:00
dependabot-preview[bot] 4d5b9e633c
Merge pull request #578 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.6.4 2019-10-07 12:43:07 +00:00
dependabot-preview[bot] c567cad606
chore(deps-dev): bump eslint-config-prettier from 6.3.0 to 6.4.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.3.0...v6.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-07 12:41:08 +00:00
dependabot-preview[bot] 90d1b516b3
chore(deps-dev): bump url-loader from 2.1.0 to 2.2.0
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v2.1.0...v2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-07 12:40:37 +00:00
dependabot-preview[bot] 3eac9994ef
chore(deps-dev): bump autoprefixer from 9.6.1 to 9.6.4
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.6.1 to 9.6.4.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.6.1...9.6.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-07 12:40:07 +00:00
dependabot-preview[bot] e11c4eb162
Merge pull request #574 from MoePlayer/dependabot/npm_and_yarn/cross-env-6.0.3 2019-10-02 19:28:56 +00:00
dependabot-preview[bot] 3e65804c34
Merge pull request #573 from MoePlayer/dependabot/npm_and_yarn/webpack-dev-server-3.8.2 2019-10-02 19:28:37 +00:00
dependabot-preview[bot] 5161e5ede2
chore(deps-dev): bump cross-env from 6.0.2 to 6.0.3
Bumps [cross-env](https://github.com/kentcdodds/cross-env) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/kentcdodds/cross-env/releases)
- [Changelog](https://github.com/kentcdodds/cross-env/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kentcdodds/cross-env/compare/v6.0.2...v6.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-02 19:25:47 +00:00
dependabot-preview[bot] fdaae3b935
chore(deps-dev): bump webpack-dev-server from 3.8.1 to 3.8.2
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.8.1...v3.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-02 19:25:13 +00:00
dependabot-preview[bot] cb92fbe18f
Merge pull request #571 from MoePlayer/dependabot/npm_and_yarn/cross-env-6.0.2 2019-10-01 17:56:54 +00:00
dependabot-preview[bot] 811ff5a9da
Merge pull request #572 from MoePlayer/dependabot/npm_and_yarn/eslint-6.5.1 2019-10-01 17:56:48 +00:00
dependabot-preview[bot] aa939bddd5
chore(deps-dev): bump eslint from 6.5.0 to 6.5.1
Bumps [eslint](https://github.com/eslint/eslint) from 6.5.0 to 6.5.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.5.0...v6.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-01 17:51:45 +00:00
dependabot-preview[bot] d7b0413fde
chore(deps-dev): bump cross-env from 6.0.0 to 6.0.2
Bumps [cross-env](https://github.com/kentcdodds/cross-env) from 6.0.0 to 6.0.2.
- [Release notes](https://github.com/kentcdodds/cross-env/releases)
- [Changelog](https://github.com/kentcdodds/cross-env/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kentcdodds/cross-env/compare/v6.0.0...v6.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-01 17:51:04 +00:00
dependabot-preview[bot] 715c6701c8
Merge pull request #570 from MoePlayer/dependabot/npm_and_yarn/eslint-6.5.0 2019-09-30 14:32:03 +00:00
dependabot-preview[bot] 0982d180f9
chore(deps-dev): bump eslint from 6.4.0 to 6.5.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.4.0...v6.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-30 14:28:44 +00:00
dependabot-preview[bot] eae2e51436
Merge pull request #569 from MoePlayer/dependabot/npm_and_yarn/eslint-loader-3.0.2 2019-09-30 14:26:15 +00:00
dependabot-preview[bot] f72c57877a
chore(deps-dev): bump eslint-loader from 3.0.1 to 3.0.2
Bumps [eslint-loader](https://github.com/webpack-contrib/eslint-loader) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/webpack-contrib/eslint-loader/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-loader/compare/v3.0.1...v3.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-30 14:22:23 +00:00
DIYgod e7e3665526
docs: update pluginOptions option, close #446 2019-09-27 18:31:42 +08:00
dependabot-preview[bot] 2d2f8fc96f
Merge pull request #566 from MoePlayer/dependabot/npm_and_yarn/eslint-loader-3.0.1 2019-09-26 11:00:50 +00:00
dependabot-preview[bot] 2b600e8831
chore(deps-dev): bump eslint-loader from 3.0.0 to 3.0.1
Bumps [eslint-loader](https://github.com/webpack-contrib/eslint-loader) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/webpack-contrib/eslint-loader/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-loader/compare/v3.0.0...v3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-26 10:57:36 +00:00
dependabot-preview[bot] 7fec6e490d
Merge pull request #564 from MoePlayer/dependabot/npm_and_yarn/git-revision-webpack-plugin-3.0.4 2019-09-25 10:58:33 +00:00
dependabot-preview[bot] da9d1c8162
Merge pull request #563 from MoePlayer/dependabot/npm_and_yarn/webpack-4.41.0 2019-09-25 10:57:29 +00:00
dependabot-preview[bot] e555946f21
chore(deps-dev): bump git-revision-webpack-plugin from 3.0.3 to 3.0.4
Bumps [git-revision-webpack-plugin](https://github.com/pirelenito/git-revision-webpack-plugin) from 3.0.3 to 3.0.4.
- [Release notes](https://github.com/pirelenito/git-revision-webpack-plugin/releases)
- [Commits](https://github.com/pirelenito/git-revision-webpack-plugin/compare/v3.0.3...v3.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-25 10:54:49 +00:00
dependabot-preview[bot] 38628f5583
chore(deps-dev): bump webpack from 4.40.2 to 4.41.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.40.2 to 4.41.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.40.2...v4.41.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-25 10:54:22 +00:00
dependabot-preview[bot] 6eecf77cfa
Merge pull request #561 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.6.2 2019-09-24 10:47:17 +00:00
dependabot-preview[bot] 2dd4685c9d
Merge pull request #562 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.6.2 2019-09-24 10:47:14 +00:00
dependabot-preview[bot] ae7b844013
chore(deps-dev): bump @babel/core from 7.6.0 to 7.6.2
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.0 to 7.6.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.0...v7.6.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-24 10:44:29 +00:00
dependabot-preview[bot] 47e90f01b6
chore(deps-dev): bump @babel/preset-env from 7.6.0 to 7.6.2
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.0 to 7.6.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.0...v7.6.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-24 10:43:56 +00:00
DIYgod 1ff15c8d5f
refactor: format 2019-09-24 01:44:20 +08:00
DIYgod 112a137cce
fix: thumbnails position 2019-09-24 01:43:22 +08:00
DIYgod cb95daa97d
chore: update workflow 2019-09-24 01:34:03 +08:00
DIYgod 4ddc860317
chore(deps): bump lodash from 4.17.4 to 4.17.15 (#551)
chore(deps): bump lodash from 4.17.4 to 4.17.15

Co-authored-by: null <49699333+dependabot[bot]@users.noreply.github.com>
2019-09-24 01:02:54 +08:00
dependabot-preview[bot] 97f12a642f
Merge pull request #560 from MoePlayer/dependabot/npm_and_yarn/tar-2.2.2 2019-09-23 17:02:00 +00:00
dependabot[bot] 3a5fa76277
chore(deps): bump lodash from 4.17.4 to 4.17.15
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.4 to 4.17.15.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.4...4.17.15)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-23 16:59:04 +00:00
dependabot-preview[bot] 6a630c58b0
chore(deps): [security] bump tar from 2.2.1 to 2.2.2
Bumps [tar](https://github.com/npm/node-tar) from 2.2.1 to 2.2.2. **This update includes a security fix.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Commits](https://github.com/npm/node-tar/compare/v2.2.1...v2.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-23 16:58:58 +00:00
DIYgod 859f0f89bb
chore(deps): bump eslint-utils from 1.3.1 to 1.4.2 (#553)
chore(deps): bump eslint-utils from 1.3.1 to 1.4.2

Co-authored-by: null <49699333+dependabot[bot]@users.noreply.github.com>
2019-09-24 00:58:01 +08:00
DIYgod 90b123d26e
chore(deps): bump fstream from 1.0.11 to 1.0.12 (#552)
chore(deps): bump fstream from 1.0.11 to 1.0.12

Co-authored-by: null <49699333+dependabot[bot]@users.noreply.github.com>
2019-09-24 00:57:41 +08:00
DIYgod 40b6352e09
chore(deps): bump lodash.template from 4.4.0 to 4.5.0 (#554)
chore(deps): bump lodash.template from 4.4.0 to 4.5.0

Co-authored-by: null <49699333+dependabot[bot]@users.noreply.github.com>
2019-09-24 00:57:33 +08:00
DIYgod 4327382b79
chore(deps): bump mixin-deep from 1.3.0 to 1.3.2 (#550)
chore(deps): bump mixin-deep from 1.3.0 to 1.3.2

Co-authored-by: null <49699333+dependabot[bot]@users.noreply.github.com>
2019-09-24 00:57:25 +08:00
DIYgod 327d105ff2
chore(deps): bump atob from 2.0.3 to 2.1.2 (#548)
chore(deps): bump atob from 2.0.3 to 2.1.2

Co-authored-by: null <49699333+dependabot[bot]@users.noreply.github.com>
2019-09-24 00:57:17 +08:00
DIYgod 2f0ac55a17
chore(deps): bump sshpk from 1.13.1 to 1.16.1 (#549)
chore(deps): bump sshpk from 1.13.1 to 1.16.1

Co-authored-by: null <49699333+dependabot[bot]@users.noreply.github.com>
2019-09-24 00:57:00 +08:00
dependabot-preview[bot] 408cd64a01
Merge pull request #559 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.0.0 2019-09-23 11:27:32 +00:00
DIYgod 3f543b782d
feat: pluginOptions option and expose plugin instance (#522)
Co-authored-by: lqzh <lqzhzc@outlook.com>
2019-09-23 19:06:51 +08:00
dependabot-preview[bot] bce74ec131
chore(deps-dev): bump style-loader from 0.23.1 to 1.0.0
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 0.23.1 to 1.0.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v0.23.1...v1.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-23 11:05:03 +00:00
dependabot-preview[bot] 36f5428185
Merge pull request #557 from MoePlayer/dependabot/npm_and_yarn/file-loader-4.2.0 2019-09-23 11:02:38 +00:00
dependabot-preview[bot] e7899a273f
Merge pull request #556 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.6.0 2019-09-23 11:02:28 +00:00
DIYgod 15cbdb779a
fix: Avoid Cannot read property 'left' of undefined (#541)
Avoid Cannot read property 'left' of undefined

Co-authored-by: Chad Liu <chadliu23@happytv.com.tw>
2019-09-23 19:01:34 +08:00
DIYgod 3eea68f2c3
Merge pull request #533 from Copay/master
Fix #531
2019-09-23 19:00:29 +08:00
dependabot-preview[bot] 74fa69c4bb
chore(deps-dev): bump file-loader from 4.0.0 to 4.2.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 4.0.0 to 4.2.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v4.0.0...v4.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-23 10:53:58 +00:00
dependabot-preview[bot] e90395027b
chore(deps-dev): bump @babel/preset-env from 7.4.5 to 7.6.0
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.4.5 to 7.6.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.4.5...v7.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-23 10:53:50 +00:00
DIYgod 8ddca4e84b
fix: progress bar NaN (#532)
Update utils.js
2019-09-23 18:53:47 +08:00
dependabot[bot] 5cc8bbe0e8
chore(deps): bump lodash.template from 4.4.0 to 4.5.0
Bumps [lodash.template](https://github.com/lodash/lodash) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.4.0...4.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-23 10:41:47 +00:00
dependabot[bot] ed3fd1ffac
chore(deps): bump eslint-utils from 1.3.1 to 1.4.2
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.3.1 to 1.4.2.
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.3.1...v1.4.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-23 10:41:45 +00:00
dependabot[bot] 17f1d3230c
chore(deps): bump fstream from 1.0.11 to 1.0.12
Bumps [fstream](https://github.com/npm/fstream) from 1.0.11 to 1.0.12.
- [Release notes](https://github.com/npm/fstream/releases)
- [Commits](https://github.com/npm/fstream/compare/v1.0.11...v1.0.12)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-23 10:41:44 +00:00
dependabot[bot] b556341651
chore(deps): bump mixin-deep from 1.3.0 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.0 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.0...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-23 10:41:44 +00:00
dependabot[bot] 8249da1ca0
chore(deps): bump sshpk from 1.13.1 to 1.16.1
Bumps [sshpk](https://github.com/joyent/node-sshpk) from 1.13.1 to 1.16.1.
- [Release notes](https://github.com/joyent/node-sshpk/releases)
- [Commits](https://github.com/joyent/node-sshpk/compare/v1.13.1...v1.16.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-23 10:41:43 +00:00
dependabot[bot] 5ea78b1aef
chore(deps): bump atob from 2.0.3 to 2.1.2
Bumps [atob](https://github.com/coolaj86/node-browser-compat) from 2.0.3 to 2.1.2.
- [Release notes](https://github.com/coolaj86/node-browser-compat/releases)
- [Commits](https://github.com/coolaj86/node-browser-compat/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-23 10:41:42 +00:00
DIYgod 98e82590ed
docs: fix a typo, close #493 2019-09-23 18:40:16 +08:00
Chad Liu 3d632fa017 Avoid Cannot read property 'left' of undefined at utils.setScrollPosition
function setScrollPosition ({left = 0, top = 0}) { console.log(left, top)};

setScrollPosition(undefined)

This will have TypeError
2019-09-12 10:59:42 +08:00
Corps Zolea 2443cc177f
chore: update dist files 2019-08-26 18:15:55 +08:00
Corps Zolea ee9c4bf99d
chore: fix #531 2019-08-26 18:15:28 +08:00
Corps Zolea 1901e91659
chore: fix lint warnings. 2019-08-26 18:06:32 +08:00
Corps Zolea 7885d207e1
chore: update eslint rule(ecmaversion to 10). 2019-08-26 18:04:16 +08:00
cjp 188fac771b
Update utils.js
当时视频未开始播放时,拖动进度条,会导致播放时间为 ‘NaN:NaN:NaN’
2019-08-22 20:53:37 +08:00
DIYgod 4162f4f7d1
docs: fix 2019-08-17 01:58:46 +08:00
DIYgod 210605ca7a
docs: fix 2019-08-17 01:55:28 +08:00
DIYgod aebae5f9cb
docs: fix 2019-08-17 01:51:01 +08:00
DIYgod 4b3f9c1794
docs: add sponsor 2019-08-17 01:46:57 +08:00
lqzhgood ea1bf33417
Update player.js 2019-07-29 13:09:37 +08:00
lqzh 8dc853de4e pluginsOption -> pluginOptions 2019-07-29 12:44:02 +08:00
lqzh f95c7dce3e add plugins options support 2019-07-29 11:51:25 +08:00
lqzhgood e56e64ee41
挂载 4个 插件实例 2019-07-25 16:22:54 +08:00
lqzhgood ba7ca32439
Update player.js 2019-07-25 16:03:37 +08:00
lqzhgood e5be8fad4d
Update player.js 2019-07-25 16:01:49 +08:00
lqzhgood 183a987921
暴露 Hls 实例
https://github.com/MoePlayer/DPlayer/issues/446

暴露 Hls 实例 用来绑定事件等操作
2019-07-25 15:45:21 +08:00
DIYgod ecc241115b
fix: destroy logic for MSE
fix destroy logic (For #501)
2019-07-02 10:59:27 +08:00
Karl Chen 23d7d41e9f
fix destroy logic 2019-07-01 19:24:10 +08:00
DIYgod d2a7c8d17a
docs: danmaku display 2019-06-25 01:19:02 +08:00
DIYgod 3e73d71266
docs: player load 2019-06-16 20:26:46 +08:00
DIYgod edb242c0cb
docs: github funding 2019-06-16 20:23:22 +08:00
DIYgod 038b9437a4
docs: home page 2019-06-16 20:21:48 +08:00
DIYgod b8874eb956
docs: fix build failed 2019-06-16 19:20:41 +08:00
DIYgod 084ab53008
docs: move to vuepress 2019-06-16 19:05:09 +08:00
DIYgod 4adab30fcb
docs: update 2019-06-06 16:41:20 +08:00
DIYgod de9b88609a
docs: 在文档中增加使用谷歌 Shaka 播放 DASH 的说明。 (#474)
在文档中增加使用谷歌 Shaka 播放 DASH 的说明。
2019-06-06 16:35:35 +08:00
DIYgod 405817404d
feat: support line break for subtitle (#396)
Fix subtitle bug
2019-06-06 16:34:26 +08:00
DIYgod 7cab972297
Merge branch 'master' into master 2019-06-06 16:32:01 +08:00
DIYgod 590f89e972
docs: fix links 2019-06-06 16:23:10 +08:00
DIYgod 71e5678265
chore: fix css minimize 2019-06-06 16:20:14 +08:00
DIYgod 8eb2fdd26e
fix: broken links 2019-06-06 15:59:49 +08:00
DIYgod 320bd24423
chore: update dependencies 2019-06-06 15:49:25 +08:00
DIYgod fa159655da
docs: update 2019-06-06 15:15:53 +08:00
DIYgod 3a727d5590
docs: update who use 2019-06-06 15:14:10 +08:00
DIYgod de4ee80960
docs 2019-06-03 01:09:29 +08:00
bleatingsheep 8d5d4959fc
在文档中增加使用谷歌 Shaka 播放 DASH 的说明。 2019-04-16 13:38:40 +08:00
DIYgod f5c53f0826 Merge branch 'master' of github.com:MoePlayer/DPlayer 2019-03-12 22:29:53 +08:00
DIYgod 688563f594
docs 2019-03-12 22:29:38 +08:00
DIYgod 47b1615ef8
Merge pull request #453 from xincmm/seek-time-error
fix safari, edge seek time error
2019-03-12 22:24:51 +08:00
DIYgod 0a4e648655
Merge branch 'master' into seek-time-error 2019-03-12 22:24:39 +08:00
DIYgod 22987ecde9
Merge pull request #385 from A-Circle-Zhang/master
Fix bug that thumbnail appears in the wrong position in fullscreen
2019-03-12 22:23:06 +08:00
DIYgod 53b90cae01
Merge branch 'master' into master 2019-03-12 22:19:40 +08:00
DIYgod 39337640e7
docs: sponsors 2019-03-12 22:19:11 +08:00
DIYgod cbf31fbec0
Merge branch 'master' into master 2019-03-12 22:07:00 +08:00
chenyuming 53660400c2 fix safari, edge seek time error 2019-02-26 20:06:19 +08:00
DIYgod 8cc43f5e25
Merge pull request #452 from JakeLaoyu/master
docs: fix import error
2019-02-26 18:42:34 +08:00
Jake c9e9d81648 docs: fix import error 2019-02-25 17:55:09 +08:00
DIYgod d20b243ec9
docs: link 2019-02-12 11:49:07 +08:00
DIYgod cbdb7d8f27
change links in docs 2019-01-13 03:29:31 +08:00
DIYgod bb655d8cbc
add sponsor 2018-12-27 21:54:16 +08:00
DIYgod e78c57cf93
update sponsors 2018-11-21 00:55:10 +08:00
Harvey Zack 29e4a93d73
Merge branch 'master' into master 2018-11-17 18:36:30 +08:00
DIYgod 2af0b580af
Merge pull request #418 from Stumble/yumin/fix-first-time-switch
First time quality switch to default quality should not fired.
2018-11-15 17:16:58 +08:00
Yumin Xia e9ee177ffb first time qualist switch 2018-11-14 09:41:07 -08:00
Harvey Zack 1f76c4df05
Merge branch 'master' into master 2018-11-11 15:17:19 +08:00
DIYgod ca5404d829
Merge pull request #402 from gaoshijun1993/patch-1
fix dependencies && devDependencies
2018-10-30 21:36:04 +08:00
Serge Gao 7a73209ed0
fix dependencies && devDependencies
move some dependencies items which should be devDependencies  to devDependencies
2018-10-29 18:12:36 +08:00
Harvey Zack 134d4df546
Update subtitle.js 2018-10-17 19:23:03 +08:00
Harvey Zack e25be0c71f
Merge branch 'master' into master 2018-10-17 16:04:19 +08:00
Harvey Zack c09070601a
Fix subtitle bug
Fix display problems with multiple lines of subtitles.

修复字幕存在多行的情况,`cue.getCueAsHTML() `本身并没有`innerHTML`方法,所以处理了一下。
2018-10-17 15:59:58 +08:00
DIYgod f0f75e13d9
Merge pull request #395 from jericopulvera/master
Added webfullscreen event
2018-10-16 17:58:02 +08:00
ECO 158ba5d19f
Added webfullscreen event 2018-10-16 08:37:08 +08:00
A-Circle Zhang 9c43d49e4b
Update player.js 2018-09-29 12:09:54 +08:00
A-Circle Zhang 59f4ce6bc8
Update controller.js 2018-09-29 12:07:59 +08:00
A-Circle Zhang 7dfd75796f
Update thumbnails.js 2018-09-29 12:06:19 +08:00
A-Circle Zhang 892224d6c9
Update thumbnails.js 2018-09-29 10:20:26 +08:00
A-Circle Zhang 156552be97
Update controller.js 2018-09-29 10:18:57 +08:00
A-Circle Zhang fd845e1abf
Merge pull request #4 from MoePlayer/master
Update
2018-09-29 10:17:31 +08:00
DIYgod 9330e45ff8
docs: fix highlight demo 2018-09-29 02:09:13 +08:00
DIYgod 18a94bf6b6
docs: change video cdn 2018-09-29 02:06:35 +08:00
DIYgod 4f4703bad9
change danamku api 2018-09-29 01:45:39 +08:00
DIYgod d0b087c0cb
release dist 2018-09-29 01:45:23 +08:00
DIYgod fdcf45bd73
release v1.25.0 2018-09-27 00:14:49 +08:00
DIYgod 2f6d8378d9
format 2018-09-27 00:14:25 +08:00
DIYgod c091f8e81b
fix broken docs 2018-09-27 00:06:56 +08:00
DIYgod 226593f4db
Merge pull request #378 from david082321/master
更新繁体翻译
2018-09-21 14:52:30 +08:00
david082321 6d09bf93f4
Update i18n.js
更新繁体翻译
2018-09-21 00:15:39 +08:00
DIYgod 01ab283368
Merge pull request #373 from EYHN/master
Right click 2 times to open the browser's native context menu.
2018-09-09 20:59:16 +08:00
eyhn 419fcb9c10 the browser's native context menu close #369 2018-09-09 14:10:20 +08:00
DIYgod 0f3bd5760a
Merge pull request #361 from sdvcrx/master
Fix scss build error and es5 compatibility
2018-08-24 14:29:38 +08:00
sdvcrx 852dae5729
Fix es5 compatibility 2018-08-24 13:22:16 +08:00
sdvcrx 10c3aee319
Travis: build project after test 2018-08-24 12:49:07 +08:00
sdvcrx 5f2d9f042a
Fix scss build error 2018-08-24 12:40:40 +08:00
DIYgod 9f4cfe36ae
Merge pull request #360 from A-Circle-Zhang/master
fix #359 and keep thumbnails within the player
2018-08-23 23:37:17 +08:00
A-Circle Zhang 474eb0e719
Update thumbnails.js 2018-08-23 23:10:53 +08:00
A-Circle Zhang bb0fb95c3c
Update controller.js 2018-08-23 23:08:50 +08:00
A-Circle Zhang 9903b077ac
Update controller.scss 2018-08-23 23:07:45 +08:00
DIYgod f8514ba789
Merge pull request #357 from A-Circle-Zhang/master
fix #307 and #298
2018-08-22 14:23:03 +08:00
A-Circle Zhang 72b09d8b74
Update user.js 2018-08-22 12:41:28 +08:00
A-Circle Zhang 76eed8e570
Update player.js 2018-08-22 12:24:14 +08:00
A-Circle Zhang 7889126c20
Update player.js 2018-08-22 12:22:19 +08:00
DIYgod 115dd35fcd
Merge pull request #354 from A-Circle-Zhang/master
add Highlight (key point markers in progress bar)
2018-08-20 12:03:53 +08:00
A-Circle Zhang e4f25ce8ee
Merge pull request #3 from A-Circle-Zhang/patch-2
Update README.md
2018-08-20 12:00:52 +08:00
A-Circle Zhang c77fd730a1
Merge pull request #2 from A-Circle-Zhang/patch-3
Update README.md
2018-08-20 12:00:16 +08:00
A-Circle Zhang 5f7ee642ce
Update README.md 2018-08-20 11:59:08 +08:00
A-Circle Zhang d2ae6bf4a4
Update README.md 2018-08-20 11:56:20 +08:00
A-Circle Zhang eadc721cd2
Merge branch 'master' into master 2018-08-20 11:37:44 +08:00
DIYgod e1719cca14
Merge pull request #355 from A-Circle-Zhang/patch-1
fullscreen bugfix and syntax change
2018-08-20 11:37:07 +08:00
A-Circle Zhang dac48f1b5a
Update fullscreen.js 2018-08-19 21:13:00 +08:00
A-Circle Zhang 7077da7f0d
Update controller.scss 2018-08-19 19:09:23 +08:00
A-Circle Zhang 28566ca298
Update controller.scss 2018-08-19 18:35:59 +08:00
A-Circle Zhang 520e92b1f7
Update player.js 2018-08-19 18:33:05 +08:00
A-Circle Zhang 1df45adcad
Update controller.js 2018-08-19 18:30:09 +08:00
A-Circle Zhang c5026f071f
Update controller.scss 2018-08-19 18:28:49 +08:00
DIYgod 3778020678
Merge pull request #320 from lino-network/yumin/fix-switch-quality-loop-bug
Fix switch quality video loop bug.
2018-08-18 19:59:34 +08:00
Yumin Xia d7444192c9 fix switch quality loop bug 2018-08-18 01:13:57 -07:00
DIYgod 4ee071a231
Merge pull request #317 from A-Circle-Zhang/master
fix volume button bug that cannot mute in Firefox
2018-08-15 10:47:19 +08:00
A-Circle Zhang 6707e750ae
Update controller.js 2018-08-15 09:32:36 +08:00
A-Circle Zhang 523d5f2699
Update template.js 2018-08-15 09:29:27 +08:00
DIYgod a6f10f35b5
Merge pull request #315 from A-Circle-Zhang/master
add full screen support for IE and fix full screen event bug for Firefox
2018-08-13 15:31:16 +08:00
A-Circle Zhang 001b61da6e
Update fullscreen.js
add Fullscreen support for IE and fix fullscreen event bug for Firefox
2018-08-13 15:21:44 +08:00
A-Circle Zhang e9419c7ebb
Merge pull request #1 from MoePlayer/master
Up-to-date
2018-08-13 15:17:15 +08:00
DIYgod 3744579a41
Merge pull request #314 from sdvcrx/fix-infinity-duration
fix video.duration is Infinity
2018-08-13 15:10:59 +08:00
sdvcrx f4d4f747b1
fix video.duration is Infinity
Fix #282 question 1
2018-08-13 14:59:23 +08:00
DIYgod 3b2943cde8
Merge pull request #301 from chenfaxiang/master
fix progress bar and video playing position function when drag progress bar
2018-07-24 14:19:30 +08:00
1061706520@qq.com 62d9d9f433 fix progress bar and video playing position function 2018-07-19 14:53:26 +08:00
DIYgod 49567a828c
docs: update README 2018-07-19 00:11:37 +08:00
DIYgod b7b9c65781
docs: update danmaku api 2018-07-16 16:24:33 +08:00
DIYgod ce2e8da5eb
release v1.24.0 2018-07-14 18:54:19 +08:00
DIYgod cd6afd7fb5
optimize danmaku request 2018-07-06 01:19:12 +08:00
DIYgod bad2200611
fix notice not display when error event triggered 2018-07-05 00:14:56 +08:00
DIYgod 046e8ee6b4
work with backend v3 2018-07-04 01:12:46 +08:00
DIYgod d1d068ffb9
docs: fix CORS 2018-06-29 21:01:28 +08:00
DIYgod f3a5f49228
docs: one more cdn 2018-06-29 19:25:41 +08:00
DIYgod 5a19f45b0f
Merge pull request #289 from deepred5/master
去除ie浏览器下input框自带的"X"
2018-06-27 23:01:42 +08:00
deepred5 650e8a9d0d update style for ie input 2018-06-27 20:53:31 +08:00
DIYgod 8cae522c8e
release v1.23.0 2018-06-14 01:07:20 +08:00
DIYgod c3dc104735
fix firefox empty target blank 2018-06-14 01:02:29 +08:00
DIYgod 87e137e2c3
fix Hls is not supported in Safari Mobile 2018-06-14 00:00:19 +08:00
DIYgod 5b9a7f106d
fix empty setting box 2018-06-13 23:31:41 +08:00
DIYgod 44a1058f14
update dependencies 2018-06-13 23:21:33 +08:00
DIYgod 248dc80f40
fix quotes format 2018-06-13 23:10:57 +08:00
DIYgod 0159d92f68
use timeupdate event 2018-06-13 23:09:35 +08:00
DIYgod 5310ad89aa
remove qq group 2018-06-13 22:45:28 +08:00
DIYgod dd2ebcf34d
change default preload to metadata 2018-06-13 22:43:59 +08:00
DIYgod 071c01c224
fix preview size 2018-06-13 22:43:37 +08:00
DIYgod d30fa4e176
time -> timer 2018-06-13 22:43:17 +08:00
DIYgod 18150e310b
update Related Projects 2018-06-12 02:28:48 +08:00
DIYgod e79c854d08
fix typo 2018-06-09 03:29:07 +08:00
DIYgod 75912f3f99
fix mse docs 2018-06-09 03:25:57 +08:00
DIYgod 0faef14fcb
docs 2018-06-09 03:10:22 +08:00
DIYgod 2f4add6fd6
docs 2018-06-09 02:58:01 +08:00
DIYgod 6b5dd86909
docs 2018-06-09 02:55:34 +08:00
DIYgod 415d9ce808
update who use 2018-06-06 22:58:34 +08:00
DIYgod cabee0cbed
update who use 2018-03-23 01:08:16 +08:00
DIYgod f3df204712
Merge pull request #232 from geeeger/fixbug-doc
Docs: fix
2018-03-20 11:14:27 +08:00
geeebro ac278fc2b3 Docs: fix 2018-03-20 11:10:13 +08:00
DIYgod b3be0a82b6
Merge pull request #213 from a-wing/patch-2
Fix name "Danamku" to "Danmaku"
2018-03-03 23:39:47 +08:00
metal A-wing db14967662
Fix name "Danamku" to "Danmaku"
You are wrong, but wrong twice
2018-03-03 11:25:30 +08:00
DIYgod 65ec169235
Docs: fix 2018-03-01 00:01:38 +08:00
DIYgod 76ed94c6e3
Docs: support 2018-02-28 23:57:19 +08:00
DIYgod c6d42c71b5
Chinese docs 2018-02-28 12:01:14 +08:00
DIYgod b3a595943f
fix links in docs 2018-02-28 02:08:24 +08:00
DIYgod b8a8b77386
docs 2018-02-28 01:59:35 +08:00
DIYgod 0cfb2a76d6
release v1.22.2 2018-02-23 23:20:09 +08:00
DIYgod d3847a30a0
generate screenshot by blob and createObjectURL 2018-02-23 22:56:14 +08:00
DIYgod 94f8dea831
fix incorrect quality url 2018-02-23 11:22:07 +08:00
DIYgod f9f322e6e0
release v1.22.1 2018-02-22 12:30:38 +08:00
DIYgod a909ed3e10
update dependencies 2018-02-22 12:29:55 +08:00
DIYgod 360878bcc7
fix broken quality template 2018-02-22 12:28:07 +08:00
DIYgod ee618f7d20
Merge pull request #204 from a-wing/patch-1
Fix POST Content-type: application/json
2018-02-22 12:13:28 +08:00
metal A-wing f72764ab88 Fix POST Content-type: application/json
some RESTful backend unable to parse
2018-02-14 19:39:13 +08:00
84 changed files with 21256 additions and 7247 deletions

View File

@ -1,62 +0,0 @@
{
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"env": {
"browser": true
},
"rules": {
"no-console": 0,
"no-extra-parens": 1,
"block-scoped-var": 1,
"curly": 1,
"eqeqeq": 1,
"no-global-assign": 1,
"no-implicit-globals": 1,
"no-labels": 1,
"no-multi-str": 1,
"comma-spacing": 1,
"comma-style": 1,
"func-call-spacing": 1,
"indent": 1,
"keyword-spacing": 1,
"linebreak-style": 1,
"lines-around-comment": 1,
"no-multiple-empty-lines": 1,
"space-infix-ops": 1,
"arrow-spacing": 1,
"no-var": 1,
"prefer-const": 1,
"no-unsafe-negation": 1,
"array-callback-return": 1,
"dot-location": 1,
"dot-notation": 1,
"no-eval": 1,
"no-extend-native": 1,
"no-extra-label": 1,
"semi": 1,
"space-before-blocks": 1,
"space-before-function-paren": 1,
"space-in-parens": 1,
"space-unary-ops": 1,
"spaced-comment": 1,
"arrow-body-style": 1,
"arrow-parens": 1,
"no-restricted-imports": 1,
"no-duplicate-imports": 1,
"no-useless-computed-key": 1,
"no-useless-rename": 1,
"rest-spread-spacing": 1,
"no-trailing-spaces": 1
},
"globals": {
"require": false,
"module": false,
"Hls": false,
"flvjs": false,
"dashjs": false,
"WebTorrent": false
}
}

3
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,3 @@
# These are supported funding model platforms
patreon: DIYgod

View File

@ -2,9 +2,9 @@
If you want to report a bug, please provide the following information:
- The steps to reproduce.
- A minimal demo of the problem via https://jsfiddle.net or http://codepen.io/pen if possible.
- Which versions of DPlayer, and which browser / OS are affected by this issue?
- The steps to reproduce.
- A minimal demo of the problem via https://jsfiddle.net or http://codepen.io/pen if possible.
- Which versions of DPlayer, and which browser / OS are affected by this issue?
<!-- Love DPlayer? Please consider supporting our project:
👉 https://github.com/MoePlayer/DPlayer#donate -->
👉 https://github.com/MoePlayer/DPlayer#donate -->

6
.gitignore vendored
View File

@ -1,6 +1,10 @@
.idea
node_modules
demo2
docs2
npm-debug.log
DPlayer.log*
wxw
wxw
.vscode
package-lock.json
docs/.vuepress/dist

4
.husky/pre-commit Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
pnpm exec lint-staged

2
.prettierignore Normal file
View File

@ -0,0 +1,2 @@
dist
demo

7
.prettierrc Normal file
View File

@ -0,0 +1,7 @@
{
"printWidth": 233,
"tabWidth": 4,
"singleQuote": true,
"trailingComma": "es5",
"arrowParens": "always"
}

View File

@ -1,9 +1,14 @@
language: node_js
node_js:
- "node"
cache:
yarn: true
directories:
- node_modules
- lts/*
script:
- npm run build
- npm run docs:build
deploy:
provider: pages
skip-cleanup: true
local_dir: docs/.vuepress/dist
github-token: $GITHUB_TOKEN # a token generated on github allowing travis to push code on you repository
keep-history: true
on:
branch: master

254
README.md
View File

@ -1,182 +1,136 @@
<p align="center">
<img src="https://ws4.sinaimg.cn/large/006tKfTcgy1fhu01y9uy7j305k04s3yc.jpg" alt="ADPlayer" width="100">
<img src="https://i.imgur.com/LnPvZvO.png" alt="ADPlayer" width="100">
</p>
<h1 align="center">DPlayer</h1>
> Wow, such a lovely HTML5 danmaku video player
> 🍭 Wow, such a lovely HTML5 danmaku video player
[![npm](https://img.shields.io/npm/v/dplayer.svg?style=flat-square)](https://www.npmjs.com/package/dplayer)
[![npm](https://img.shields.io/npm/l/dplayer.svg?style=flat-square)](https://github.com/MoePlayer/DPlayer/blob/master/LICENSE)
[![npm](https://img.shields.io/npm/dt/dplayer.svg?style=flat-square)](https://www.npmjs.com/package/dplayer)
[![size](https://badge-size.herokuapp.com/MoePlayer/DPlayer/master/dist/DPlayer.min.js?compression=gzip&style=flat-square)](https://github.com/MoePlayer/DPlayer/tree/master/dist)
[![Travis](https://img.shields.io/travis/MoePlayer/DPlayer.svg?style=flat-square)](https://travis-ci.org/MoePlayer/DPlayer)
[![devDependency Status](https://img.shields.io/david/dev/MoePlayer/dplayer.svg?style=flat-square)](https://david-dm.org/MoePlayer/DPlayer#info=devDependencies)
[![donate](https://img.shields.io/badge/$-donate-ff69b4.svg?style=flat-square)](https://github.com/MoePlayer/DPlayer#donate)
[![](https://data.jsdelivr.com/v1/package/npm/dplayer/badge)](https://www.jsdelivr.com/package/npm/dplayer)
## Introduction
![image](http://i.imgur.com/207ch36.jpg)
![image](https://i.imgur.com/207ch36.jpg)
DPlayer is a lovely HTML5 danmaku video player to help people build video and danmaku easily.
**DPlayer supports:**
- Streaming formats
- [HLS](https://github.com/video-dev/hls.js)
- [FLV](https://github.com/Bilibili/flv.js)
- [MPEG DASH](https://github.com/Dash-Industry-Forum/dash.js)
- [WebTorrent](https://github.com/webtorrent/webtorrent)
- Any other custom streaming formats
- Media formats
- MP4 H.264
- WebM
- Ogg Theora Vorbis
- Features
- Danamku
- Screenshot
- Hotkeys
- Quality switching
- Thumbnails
- Subtitle
- Streaming formats
- [HLS](https://github.com/video-dev/hls.js)
- [FLV](https://github.com/Bilibili/flv.js)
- [MPEG DASH](https://github.com/Dash-Industry-Forum/dash.js)
- [WebTorrent](https://github.com/webtorrent/webtorrent)
- Any other custom streaming formats
- Media formats
- MP4 H.264
- WebM
- Ogg Theora Vorbis
- Features
- Danmaku
- Screenshot
- Hotkeys
- Quality switching
- Thumbnails
- Subtitle
Using DPlayer on your project? [Let me know!](https://github.com/DIYgod/DPlayer/issues/31)
**[Demo](http://dplayer.js.org/)**
**[Docs](https://dplayer.diygod.dev/)**
**[Docs](http://dplayer.js.org/docs)**
**[中文文档](https://dplayer.diygod.dev/zh/)**
## Install
## Thanks
```
$ npm install dplayer --save
```
### Sponsors
## Quick Start
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
```html
<link rel="stylesheet" href="dist/DPlayer.min.css">
<div id="player1"></div>
<script src="dist/DPlayer.min.js"></script>
```
```js
var dp = new DPlayer({
element: document.getElementById('player1'),
video: {
url: 'dplayer.mp4',
pic: 'dplayer.png'
},
danmaku: {
id: 'testid',
api: 'https://api.prprpr.me/dplayer/'
}
});
```
## Usage
[Read the Docs](http://dplayer.js.org/docs)
## CDN
- [jsDelivr](https://www.jsdelivr.com/package/npm/dplayer)
- [cdnjs](https://cdnjs.com/libraries/dplayer)
- [unpkg](https://unpkg.com/dplayer/)
## FAQ
<details><summary>Why can't some videos be full screen?</summary><br>
If player is contained in a iframe, try adding the allowfullscreen attribute to the iframe.
For full browser support it should look like this:
```html
<iframe src="example.com"
allowfullscreen="allowfullscreen"
mozallowfullscreen="mozallowfullscreen"
msallowfullscreen="msallowfullscreen"
oallowfullscreen="oallowfullscreen"
webkitallowfullscreen="webkitallowfullscreen"></iframe>
```
</details>
<details><summary>Why can't player autoplay in some mobile browsers?</summary><br>
Most mobile browsers forbid video autoplay, you wont be able to achieve it without hacks.
</details>
## Join the Discussion
- [Telegram Group](https://t.me/adplayer)
- [QQ Group](https://shang.qq.com/wpa/qunwpa?idkey=bf22213ae0028a82e5adf3f286dfd4f01e0997dc9f1dcd8e831a0a85e799be17): 415835947
## Related Projects
- [DPlayer-backend](https://github.com/MoePlayer/DPlayer-backend)
- [DPlayer-data(weekly backup for api.prprpr.me/dplayer)](https://github.com/MoePlayer/DPlayer-data)
- [DPlayer-thumbnails](https://github.com/MoePlayer/DPlayer-thumbnails)
- [DPlayer-for-typecho](https://github.com/volio/DPlayer-for-typecho)
- [Hexo-tag-dplayer](https://github.com/NextMoe/hexo-tag-dplayer)
- [DPlayer_for_Z-BlogPHP](https://github.com/fghrsh/DPlayer_for_Z-BlogPHP)
- [纸飞机视频区插件(DPlayer for Discuz!)](https://coding.net/u/Click_04/p/video/git)
- [DPlayer for WordPress](https://github.com/BlueCocoa/DPlayer-WordPress)
- [Vue-DPlayer](https://github.com/sinchang/vue-dplayer)
- [react-dplayer](https://github.com/hnsylitao/react-dplayer)
- [DPlayer-Lite](https://github.com/kn007/DPlayer-Lite)
- [DPlayerHandle](https://github.com/kn007/DPlayerHandle)
- [laravel-danmaku](https://github.com/MoePlayer/laravel-danmaku)
- [dplayer-live-backend](https://github.com/Izumi-kun/dplayer-live-backend)
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Who use DPlayer?
- [嘀哩嘀哩](http://www.dilidili.wang/)
- [银弹字幕组](https://www.sbsub.com/)
- [纸飞机南航青年网络社区](http://my.nuaa.edu.cn/video-video.html)
- [otomads](https://otomads.com/)
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Donate
- [Donate via OpenCollective](https://opencollective.com/dplayer)
- [Donate via Paypal](https://www.paypal.me/DIYgod)
- [Donate via WeChat Pay](https://ws4.sinaimg.cn/large/006tKfTcgy1fhu1uowywej307s07st8h.jpg)
- [Donate via Alipay](https://ws4.sinaimg.cn/large/006tKfTcgy1fhu1vf4ih7j307s07sdfm.jpg)
- Donate via Bitcoin: 13CwQLHzPYm2tewNMSJBeArbbRM5NSmCD1
## Sponsors
Thank you to all our sponsors!
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://pear.hk/" target="_blank">
<img width="222px" src="https://i.imgur.com/5qQYmfc.png">
</a>
</td>
<td align="center" valign="middle">
<a href="https://console.upyun.com/register/?invite=BkLZ2Xqob" target="_blank">
<img width="222px" src="https://imgur.com/apG1uKf.png">
</a>
</td>
</tr>
</tbody>
</table>
## Contributors
This project exists thanks to all the people who contribute.
### Contributors
<a href="https://github.com/MoePlayer/DPlayer/graphs/contributors"><img src="https://opencollective.com/DPlayer/contributors.svg?width=890" /></a>
## Backers
## Related Projects
Thank you to all our backers!
Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
<a href="https://opencollective.com/DPlayer#backers" target="_blank"><img src="https://opencollective.com/DPlayer/backers.svg?width=890"></a>
### Tooling
- [DPlayer-thumbnails](https://github.com/MoePlayer/DPlayer-thumbnails): generate video thumbnails
### Danmaku api
- [DPlayer-node](https://github.com/MoePlayer/DPlayer-node): Node.js
- [laravel-danmaku](https://github.com/MoePlayer/laravel-danmaku): PHP
- [dplayer-live-backend](https://github.com/Izumi-kun/dplayer-live-backend): Node.js, WebSocket live backend
- [RailsGun](https://github.com/MoePlayer/RailsGun): Ruby
### Plugins
- [DPlayer-for-typecho](https://github.com/volio/DPlayer-for-typecho): Typecho
- [Hexo-tag-dplayer](https://github.com/NextMoe/hexo-tag-dplayer): Hexo
- [DPlayer_for_Z-BlogPHP](https://github.com/fghrsh/DPlayer_for_Z-BlogPHP): Z-BlogPHP
- [DPlayer for Discuz!](https://coding.net/u/Click_04/p/video/git): Discuz!
- [DPlayer for WordPress](https://github.com/BlueCocoa/DPlayer-WordPress): WordPress
- [DPlayerHandle](https://github.com/kn007/DPlayerHandle): WordPress
- [Selection](https://github.com/GreatSatan79/Selection): WordPress
- [Vue-DPlayer](https://github.com/sinchang/vue-dplayer): Vue
- [react-dplayer](https://github.com/hnsylitao/react-dplayer): React
- [rc-dplayer](https://github.com/tianfeng98/rc-dplayer): React
### Other
- [DPlayer-Lite](https://github.com/kn007/DPlayer-Lite): lite version
- [hlsjs-p2p-engine](https://github.com/cdnbye/hlsjs-p2p-engine): Let your viewers become your unlimitedly scalable CDN
- [CBPlayer](https://github.com/cdnbye/CBPlayer): Dplayer with CDNBye P2P plugin built in, supporting HLS, MP4 and MPEG-DASH P2P streaming.
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Who use DPlayer?
- [学习强国](https://itunes.apple.com/cn/app/%E5%AD%A6%E4%B9%A0%E5%BC%BA%E5%9B%BD/id1426355645?mt=8): “学习强国”学习平台精心打造的手机客户端
- [小红书](https://www.xiaohongshu.com/): 中国最大的生活社区分享平台,同时也是发现全球好物的电商平台
- [极客时间](https://time.geekbang.org/): 极客邦科技出品的一款 IT 内容知识服务 App
- [嘀哩嘀哩](http://www.dilidili.wang/): 兴趣使然的无名小站D 站)
- [银色子弹](https://www.sbsub.com/): 银色子弹,简称银弹,由多数柯南热爱者聚集在一起的组织
- [浙江大学 CC98 论坛](https://zh.wikipedia.org/wiki/CC98%E8%AE%BA%E5%9D%9B): 浙江大学校网内规模最大的论坛,中国各大学中较活跃的 BBS 之一
- [纸飞机南航青年网络社区](http://my.nuaa.edu.cn/video-video.html): 南京航空航天大学门户网站
- [otomads](https://otomads.com/): 专注于音 MAD 的视频弹幕网站
- [Cloudreve](https://github.com/HFO4/Cloudreve): 基于 ThinkPHP 构建的网盘系统
- [oneindex](https://github.com/donwa/oneindex): Onedrive Directory Index
- [arozos](https://github.com/tobychui/arozos): General purposed Web Desktop Operating Platform / OS for Raspberry Pis
- [新东方云教室](https://roombox.xdf.cn/)
- [BBHouse](https://github.com/endcloud/bbhouse-tauri): A Bilibili Cross-Platform Desktop Client Powered By Tauri
- [Tampermonkey 阿里云盘](https://greasyfork.org/zh-CN/scripts/425955-%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98)
- [arozos](https://github.com/tobychui/arozos)
- [GBCLStudio/fof-upload-qcloud](https://github.com/GBCLStudio/FoF-Upload-Qcloud)
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Donate
DPlayer is an MIT licensed open source project and completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing.
You can support DPlayer via donations.
### Recurring Donation
- Become a Sponser on [GitHub](https://github.com/sponsors/DIYgod)
- Become a Sponser on [Patreon](https://www.patreon.com/DIYgod)
- Become a Sponser on [爱发电](https://afdian.net/@diygod)
- Contact us directly: i@diygod.me
### One-time Donation
We accept donations via the following ways:
- [WeChat Pay](https://diygod.me/images/wx.jpg)
- [Alipay](https://diygod.me/images/zfb.jpg)
- [Paypal](https://www.paypal.me/DIYgod)
## Author

View File

@ -2,6 +2,46 @@ body {
max-width: 700px;
margin: 0 auto;
padding: 45px 10px;
position: relative;
}
.show-dialog {
cursor: pointer;
border: 1px solid #f00;
width: 120px;
height: 40px;
line-height: 40px!important;
text-align: center;
border-radius: 4px;
}
.float-dplayer {
display: none;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .3);
position: fixed;
top: 0;
left: 0;
z-index: 99;
}
.dplayer-container {
width: 700px;
height: 358px;
border: 1px solid #f00;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.close-dialog {
position: absolute;
right: 40px;
top: 10px;
font-size: 40px!important;
font-weight: normal!important;
color: #fff;
cursor: pointer;
z-index: 100;
}
.example {

View File

@ -2,7 +2,7 @@
const stats = new Stats();
stats.showPanel(0); // 0: fps, 1: ms, 2: mb, 3+: custom
document.body.appendChild(stats.dom);
function animate () {
function animate() {
stats.begin();
// monitored code goes here
stats.end();
@ -12,24 +12,81 @@ function animate () {
requestAnimationFrame(animate);
initPlayers();
handleEvent();
function initPlayers () {
function handleEvent() {
document.getElementById('dplayer-dialog').addEventListener('click', (e) => {
const $clickDom = e.currentTarget;
const isShowStatus = $clickDom.getAttribute('data-show');
if (isShowStatus) {
document.getElementById('float-dplayer').style.display = 'none';
} else {
$clickDom.setAttribute('data-show', 1);
document.getElementById('float-dplayer').style.display = 'block';
}
});
document.getElementById('close-dialog').addEventListener('click', () => {
const $openDialogBtnDom = document.getElementById('dplayer-dialog');
$openDialogBtnDom.setAttribute('data-show', '');
document.getElementById('float-dplayer').style.display = 'none';
});
}
function initPlayers() {
// dplayer-float
window.dpFloat = new DPlayer({
container: document.getElementById('dplayer-container'),
preload: 'none',
screenshot: true,
video: {
url: 'http://static.smartisanos.cn/common/video/t1-ui.mp4',
pic: 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg',
thumbnails: 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg'
},
subtitle: {
url: 'subtitle test'
},
danmaku: {
id: '9E2E3368B56CDBB4',
api: 'https://api.prprpr.me/dplayer/'
}
});
// dp1
window.dp1 = new DPlayer({
container: document.getElementById('dplayer1'),
preload: 'none',
screenshot: true,
video: {
url: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.mp4',
pic: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.png',
thumbnails: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara_thumbnails.jpg'
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg'
},
subtitle: {
url: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.vtt'
url: [
{
url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.vtt',
lang: 'zh-cn',
name: '光',
},
{
url: 'https://gist.githubusercontent.com/samdutton/ca37f3adaf4e23679957b8083e061177/raw/e19399fbccbc069a2af4266e5120ae6bad62699a/sample.vtt',
lang: 'en-us',
name: 'github',
},
],
defaultSubtitle: 7,
type: 'webvtt',
fontSize: '25px',
bottom: '10%',
color: '#b7daff'
},
danmaku: {
id: '9E2E3368B56CDBB4',
api: 'https://api.prprpr.me/dplayer/'
api: 'https://api.prprpr.me/dplayer/',
addition: ['https://s-sh-17-dplayercdn.oss.dogecdn.com/1678963.json']
}
});
@ -41,18 +98,21 @@ function initPlayers () {
theme: '#FADFA3',
loop: true,
screenshot: true,
airplay: true,
chromecast: true,
hotkey: true,
logo: 'https://moeplayer.b0.upaiyun.com/dplayer/DPlayer.png',
logo: 'https://i.loli.net/2019/06/06/5cf8c5d94521136430.png',
volume: 0.2,
mutex: true,
lang: 'zh-cn',
video: {
url: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.mp4',
pic: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.png',
thumbnails: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara_thumbnails.jpg',
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg',
type: 'auto'
},
subtitle: {
url: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.vtt',
url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.vtt',
type: 'webvtt',
fontSize: '25px',
bottom: '10%',
@ -61,11 +121,13 @@ function initPlayers () {
danmaku: {
id: '9E2E3368B56CDBB4',
api: 'https://api.prprpr.me/dplayer/',
addition: ['https://s-sh-17-dplayercdn.oss.dogecdn.com/1678963.json'],
token: 'tokendemo',
maximum: 3000,
user: 'DIYgod',
bottom: '15%',
unlimited: true
unlimited: true,
speedRate: 0.5,
},
contextmenu: [
{
@ -95,7 +157,7 @@ function initPlayers () {
const eventsEle = document.getElementById('events');
for (let i = 0; i < events.length; i++) {
dp2.on(events[i], (info) => {
eventsEle.innerHTML += '<p>Event: ' + events[i] + '</p>';
eventsEle.innerHTML += `<p>Event: ${events[i]} ${info?`Data: <span>${JSON.stringify(info)}</span>`:''}</p>`;
eventsEle.scrollTop = eventsEle.scrollHeight;
});
}
@ -107,15 +169,15 @@ function initPlayers () {
// video: {
// quality: [{
// name: 'HD',
// url: 'https://moeplayer.b0.upaiyun.com/dplayer/hls/hikarunara.m3u8',
// url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.m3u8',
// type: 'hls'
// }, {
// name: 'SD',
// url: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.mp4',
// url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
// type: 'normal'
// }],
// defaultQuality: 0,
// pic: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.png'
// pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png'
// }
// });
@ -124,7 +186,7 @@ function initPlayers () {
// container: document.getElementById('dplayer4'),
// preload: 'none',
// video: {
// url: 'https://moeplayer.b0.upaiyun.com/dplayer/hls/hikarunara.m3u8',
// url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.m3u8',
// type: 'hls'
// }
// });
@ -172,7 +234,7 @@ function initPlayers () {
// }
// },
// video: {
// url: 'https://moeplayer.b0.upaiyun.com/dplayer/hls/hikarunara.m3u8',
// url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.m3u8',
// type: 'hls'
// }
// });
@ -194,18 +256,18 @@ function initPlayers () {
// });
}
function clearPlayers () {
function clearPlayers() {
for (let i = 0; i < 6; i++) {
window['dp' + (i + 1)].pause();
document.getElementById('dplayer' + (i + 1)).innerHTML = '';
}
}
function switchDPlayer () {
if (dp2.option.danmaku.id !== '5rGf5Y2X55qu6Z2p') {
function switchDPlayer() {
if (dp2.options.danmaku.id !== '5rGf5Y2X55qu6Z2p') {
dp2.switchVideo({
url: 'https://moeplayer.b0.upaiyun.com/dplayer/flowerdance.mp4',
pic: 'https://moeplayer.b0.upaiyun.com/dplayer/flowerdance.jpg',
url: 'http://static.smartisanos.cn/common/video/t1-ui.mp4',
pic: 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg',
type: 'auto',
}, {
id: '5rGf5Y2X55qu6Z2p',
@ -215,9 +277,9 @@ function switchDPlayer () {
});
} else {
dp2.switchVideo({
url: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.mp4',
pic: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.png',
thumbnails: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara_thumbnails.jpg',
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg',
type: 'auto'
}, {
id: '9E2E3368B56CDBB42',

View File

@ -16,6 +16,13 @@
</head>
<body class="markdown-body">
<h2>在 dialog 中承载视频</h2>
<h3 id="dplayer-dialog" class="show-dialog">Show Dialog</h3>
<div id="float-dplayer" class="float-dplayer">
<div id="dplayer-container" class="dplayer-container"></div>
<h3 id="close-dialog" class="close-dialog">X</h3>
</div>
<h2 id="quick-start">Quick Start</h2>
<div class="example">
<div id="dplayer1"></div>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/DPlayer.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,92 @@
<template>
<div class="dplayer-wrap">
<div class="dplayer" ref="dplayer"><button class="load" v-on:click="load">Load demo</button></div>
</div>
</template>
<script>
export default {
props: {
immediate: {
type: Boolean,
default: false,
},
options: {
type: Object,
default: () => ({
autoplay: false,
theme: '#FADFA3',
loop: true,
lang: 'zh-cn',
hotkey: true,
preload: 'auto',
logo: 'https://i.loli.net/2019/06/06/5cf8c5d94521136430.png',
volume: 0.7,
mutex: true,
screenshot: true,
subtitle: {
url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.vtt',
type: 'webvtt',
fontSize: '20px',
bottom: '10%',
color: '#FADFA3'
},
video: {
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg',
type: 'auto'
},
danmaku: {
id: '9E2E3368B56CDBB4',
api: 'https://api.prprpr.me/dplayer/',
token: 'tokendemo',
user: 'DIYgod',
addition: ['https://s-sh-17-dplayercdn.oss.dogecdn.com/1678963.json']
},
contextmenu: [
{
text: 'custom1',
link: 'https://github.com/DIYgod/DPlayer'
},
{
text: 'custom2',
click: (player) => {
console.log(player);
}
}
],
highlight: [
{
time: 20,
text: '这是第 20 秒'
},
{
time: 120,
text: '这是 2 分钟'
}
]
})
},
},
methods: {
load: function () {
this.options.container = this.$refs.dplayer;
setTimeout(() => {
this.dplayer = new window.DPlayer(this.options);
}, 0);
}
},
mounted: function () {
if (this.immediate) {
setTimeout(() => {
this.dplayer = new window.DPlayer(this.options);
}, 0);
}
},
beforeDestroy: function () {
this.dplayer && this.dplayer.destroy();
}
}
</script>
<style>
</style>

79
docs/.vuepress/config.js Normal file
View File

@ -0,0 +1,79 @@
module.exports = {
plugins: {
'@vuepress/back-to-top': true,
umami: {
trackerUrl: 'https://umami.diygod.dev',
siteId: 'f3b469a2-8054-4bbb-8873-4035761aa4e3',
},
},
locales: {
'/zh/': {
lang: 'zh-CN',
title: 'DPlayer',
description: '🍭 Wow, such a lovely HTML5 danmaku video player',
},
'/': {
lang: 'en-US',
title: 'DPlayer',
description: '🍭 Wow, such a lovely HTML5 danmaku video player',
},
},
head: [
['link', { rel: 'icon', href: `/logo.png` }],
['script', { src: 'https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js' }],
['script', { src: 'https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js' }],
['script', { src: 'https://cdn.jsdelivr.net/npm/dashjs/dist/dash.all.min.js' }],
['script', { src: 'https://cdn.jsdelivr.net/webtorrent/latest/webtorrent.min.js' }],
['script', { src: 'https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js' }],
],
theme: 'vuepress-theme-dplayer',
themeConfig: {
repo: 'MoePlayer/DPlayer',
editLinks: true,
docsDir: '.',
locales: {
'/zh/': {
lang: 'zh-CN',
selectText: '选择语言',
label: '简体中文',
editLinkText: '在 GitHub 上编辑此页',
lastUpdated: '上次更新',
nav: [
{
text: '指南',
link: '/zh/guide/',
},
{
text: '生态',
link: '/zh/ecosystem/',
},
{
text: '支持 DPlayer',
link: '/zh/support/',
},
],
},
'/': {
lang: 'en-US',
selectText: 'Languages',
label: 'English',
editLinkText: 'Edit this page on GitHub',
lastUpdated: 'Last Updated',
nav: [
{
text: 'Guide',
link: '/guide/',
},
{
text: 'Ecosystem',
link: '/ecosystem/',
},
{
text: 'Support DPlayer',
link: '/support/',
},
],
},
},
},
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,48 @@
.navbar .home-link .site-name {
color: #F5712C;
}
.page .custom-block.tip {
border-color: #F5712C;
}
.icon.outbound {
display: none;
}
a {
word-break: break-all;
}
# {
display: none;
}
#guide {
display: none;
}
#app .global-ui .sw-update-popup {
border: 1px solid #F5712C;
}
.routes .sidebar-group-items > li > .sidebar-sub-headers > .sidebar-sub-header > a {
color: $accentColor;
}
#dplayer {
margin-top: -1.5rem;
margin-bottom: 1rem;
}
.hero .description {
display: none;
}
.hero .action {
display: none;
}
.hero.custom .action {
display: block;
}

View File

@ -0,0 +1 @@
$accentColor = #F5712C

View File

@ -0,0 +1,65 @@
<script>
export default {
name: 'CarbonAds',
watch: {
'$route' (to, from) {
if (
to.path !== from.path
// Only reload if the ad has been loaded
// otherwise it's possible that the script is appended but
// the ads are not loaded yet. This would result in duplicated ads.
&& this.$el.querySelector('#carbonads')
) {
this.$el.innerHTML = ''
this.load()
}
}
},
mounted () {
this.load()
},
methods: {
load () {
const s = document.createElement('script')
s.id = '_carbonads_js'
s.src = `//cdn.carbonads.com/carbon.js?serve=CEAI6277&placement=dplayerjsorg`
this.$el.appendChild(s)
}
},
render (h) {
return h('div', { class: 'carbon-ads' })
}
}
</script>
<style lang="stylus">
.carbon-ads
min-height 102px
padding 1.5rem 1.5rem 0
margin-bottom -0.5rem
font-size 0.75rem
a
color #444
font-weight normal
display inline
.carbon-img
float left
margin-right 1rem
border 1px solid $borderColor
img
display block
.carbon-poweredby
color #999
display block
margin-top 0.5em
@media (max-width: $MQMobile)
.carbon-ads
.carbon-img img
width 100px
height 77px
</style>

View File

@ -0,0 +1,3 @@
module.exports = {
extend: '@vuepress/theme-default',
};

View File

@ -0,0 +1,21 @@
<template>
<ParentLayout>
<template #sidebar-top>
<CarbonAds />
</template>
</ParentLayout>
</template>
<script>
import ParentLayout from '@parent-theme/layouts/Layout.vue'
import CarbonAds from '@theme/components/CarbonAds.vue'
export default {
name: 'Layout',
components: {
ParentLayout,
CarbonAds,
}
}
</script>

View File

@ -0,0 +1,4 @@
{
"name": "vuepress-theme-dplayer",
"main": "index.js"
}

12
docs/README.md Normal file
View File

@ -0,0 +1,12 @@
---
home: true
actionText: Get Started →
actionLink: /guide/
footer: MIT Licensed | Made with love by DIYgod
---
<div>
<DPlayer :immediate="true"></DPlayer>
</div>
<div class="hero custom"><p class="action"><router-link to="/guide/" class="nav-link action-button">Get Started →</router-link></p></div>

69
docs/ecosystem.md Normal file
View File

@ -0,0 +1,69 @@
---
sidebar: auto
---
# Ecosystem
Let's make DPlayer better, feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Help
### Creating issue
- [MoePlayer/DPlayer/issues](https://github.com/MoePlayer/DPlayer/issues)
## Related Projects
### Tooling
- [DPlayer-thumbnails](https://github.com/MoePlayer/DPlayer-thumbnails): generate video thumbnails
### Danmaku api
- [DPlayer-node](https://github.com/MoePlayer/DPlayer-node): Node.js
- [laravel-danmaku](https://github.com/MoePlayer/laravel-danmaku): PHP
- [dplayer-live-backend](https://github.com/Izumi-kun/dplayer-live-backend): Node.js, WebSocket live backend
- [RailsGun](https://github.com/MoePlayer/RailsGun): Ruby
### Plugins
- [DPlayer-for-typecho](https://github.com/volio/DPlayer-for-typecho): Typecho
- [Hexo-tag-dplayer](https://github.com/NextMoe/hexo-tag-dplayer): Hexo
- [DPlayer_for_Z-BlogPHP](https://github.com/fghrsh/DPlayer_for_Z-BlogPHP): Z-BlogPHP
- [DPlayer for Discuz!](https://coding.net/u/Click_04/p/video/git): Discuz!
- [DPlayer for WordPress](https://github.com/BlueCocoa/DPlayer-WordPress): WordPress
- [DPlayerHandle](https://github.com/kn007/DPlayerHandle): WordPress
- [Selection](https://github.com/GreatSatan79/Selection): WordPress
- [Vue-DPlayer](https://github.com/sinchang/vue-dplayer): Vue
- [react-dplayer](https://github.com/hnsylitao/react-dplayer): React
- [rc-dplayer](https://github.com/tianfeng98/rc-dplayer): React
### Other
- [DPlayer-Lite](https://github.com/kn007/DPlayer-Lite): lite version
- [hlsjs-p2p-engine](https://github.com/cdnbye/hlsjs-p2p-engine)
## Who use DPlayer?
- [学习强国](https://itunes.apple.com/cn/app/%E5%AD%A6%E4%B9%A0%E5%BC%BA%E5%9B%BD/id1426355645?mt=8): “学习强国”学习平台精心打造的手机客户端
- [小红书](https://www.xiaohongshu.com/): 中国最大的生活社区分享平台,同时也是发现全球好物的电商平台
- [极客时间](https://time.geekbang.org/): 极客邦科技出品的一款 IT 内容知识服务 App
- [嘀哩嘀哩](http://www.dilidili.wang/): 兴趣使然的无名小站D 站)
- [银色子弹](https://www.sbsub.com/): 银色子弹,简称银弹,由多数柯南热爱者聚集在一起的组织
- [浙江大学 CC98 论坛](https://zh.wikipedia.org/wiki/CC98%E8%AE%BA%E5%9D%9B): 浙江大学校网内规模最大的论坛,中国各大学中较活跃的 BBS 之一
- [纸飞机南航青年网络社区](http://my.nuaa.edu.cn/video-video.html): 南京航空航天大学门户网站
- [otomads](https://otomads.com/): 专注于音 MAD 的视频弹幕网站
- [Cloudreve](https://github.com/HFO4/Cloudreve): 基于 ThinkPHP 构建的网盘系统
- [arozos](https://github.com/tobychui/arozos): General purposed Web Desktop Operating Platform / OS for Raspberry Pis
- [新东方云教室](https://roombox.xdf.cn/)
- [BBHouse](https://github.com/endcloud/bbhouse-tauri): A Bilibili Cross-Platform Desktop Client Powered By Tauri
- [Tampermonkey 阿里云盘](https://greasyfork.org/zh-CN/scripts/425955-%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98)
- [arozos](https://github.com/tobychui/arozos)
- [GBCLStudio/fof-upload-qcloud](https://github.com/GBCLStudio/FoF-Upload-Qcloud)
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Contributors
This project exists thanks to all the people who contribute.
<a href="https://github.com/MoePlayer/DPlayer/graphs/contributors"><img src="https://opencollective.com/DPlayer/contributors.svg?width=890" /></a>

832
docs/guide.md Normal file
View File

@ -0,0 +1,832 @@
---
sidebar: auto
---
# Guide
# DPlayer
🍭 Wow, such a lovely HTML5 danmaku video player
<DPlayer :immediate="true"></DPlayer>
&nbsp;
## Special Thanks
### Sponsors
&nbsp;
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
## Installation
Using npm:
```
npm install dplayer --save
```
Using Yarn:
```
yarn add dplayer
```
## Quick Start
At first, let's initialize a simplest DPlayer
Load DPlayer files
```html
<div id="dplayer"></div>
<script src="DPlayer.min.js"></script>
```
Or work with module bundler:
```js
import DPlayer from 'dplayer';
const dp = new DPlayer(options);
```
Initialization in js:
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
screenshot: true,
video: {
url: 'demo.mp4',
pic: 'demo.jpg',
thumbnails: 'thumbnails.jpg',
},
subtitle: {
url: 'webvtt.vtt',
},
danmaku: {
id: 'demo',
api: 'https://api.prprpr.me/dplayer/',
},
});
```
## Options
You can custom your player instance by those options
| Name | Default | Description |
| -------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| container | document.querySelector('.dplayer') | player container |
| live | false | enable live mode, see [#live](#live) |
| autoplay | false | video autoplay |
| theme | '#b7daff' | main color |
| loop | false | video loop |
| lang | navigator.language.toLowerCase() | values: 'en', 'zh-cn', 'zh-tw' |
| screenshot | false | enable screenshot, if true, video and video poster must enable Cross-Origin |
| airplay | false | enable airplay in Safari |
| chromecast | false | enable Chromecast |
| hotkey | true | enable hotkey, support FF, FR, volume control, play & pause |
| preload | 'auto' | values: 'none', 'metadata', 'auto' |
| volume | 0.7 | default volume, notice that player will remember user setting, default volume will not work after user set volume themselves |
| playbackSpeed | [0.5, 0.75, 1, 1.25, 1.5, 2] | optional playback speed, or or you can set a custom one |
| logo | - | showing logo in the top left corner, you can adjust its size and position by CSS |
| apiBackend | - | getting and sending danmaku in your way, see [#live](#live) |
| preventClickToggle | false | prevent toggle video play/pause status when click player |
| video | - | video info |
| video.quality | - | see [#Quality switching](#quality-switching) |
| video.defaultQuality | - | see [#Quality switching](#quality-switching) |
| video.url | - | video url |
| video.pic | - | video poster |
| video.thumbnails | - | video thumbnails, generated by [DPlayer-thumbnails](https://github.com/MoePlayer/DPlayer-thumbnails) |
| video.type | 'auto' | values: 'auto', 'hls', 'flv', 'dash', 'webtorrent', 'normal' or other custom type, see [#MSE support](#mse-support) |
| video.customType | - | custom video type, see [#MSE support](#mse-support) |
| subtitle | - | external subtitle |
| subtitle.url | `required` | subtitle url |
| subtitle.type | 'webvtt' | subtitle type, values: 'webvtt', 'ass', but only webvtt is supported for now |
| subtitle.fontSize | '20px' | subtitle font size |
| subtitle.bottom | '40px' | the distance between the subtitle and player bottom, values like: '10px' '10%' |
| subtitle.color | '#fff' | subtitle color |
| danmaku | - | showing danmaku |
| danmaku.id | `required` | danmaku pool id, it must be unique |
| danmaku.api | `required` | see [#Danmaku API](#danmaku-api) |
| danmaku.token | - | back end verification token |
| danmaku.maximum | - | danmaku maximum quantity |
| danmaku.addition | - | additional danmaku, see [#bilibili danmaku](#bilibili-danmaku) |
| danmaku.user | 'DIYgod' | danmaku user name |
| danmaku.bottom | - | values like: '10px' '10%', the distance between the danmaku bottom and player bottom, in order to prevent warding off subtitle |
| danmaku.unlimited | false | display all danmaku even though danmaku overlap, notice that player will remember user setting, default setting will not work after user set it themselves |
| danmaku.speedRate | 1 | danmaku speed multiplier, the larger the faster |
| contextmenu | [] | custom contextmenu |
| highlight | [] | custom time markers upon progress bar |
| mutex | true | prevent to play multiple player at the same time, pause other players when this player start play |
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
autoplay: false,
theme: '#FADFA3',
loop: true,
lang: 'zh-cn',
screenshot: true,
hotkey: true,
preload: 'auto',
logo: 'logo.png',
volume: 0.7,
mutex: true,
video: {
url: 'dplayer.mp4',
pic: 'dplayer.png',
thumbnails: 'thumbnails.jpg',
type: 'auto',
},
subtitle: {
url: 'dplayer.vtt',
type: 'webvtt',
fontSize: '25px',
bottom: '10%',
color: '#b7daff',
},
danmaku: {
id: '9E2E3368B56CDBB4',
api: 'https://api.prprpr.me/dplayer/',
token: 'tokendemo',
maximum: 1000,
addition: ['https://api.prprpr.me/dplayer/v3/bilibili?aid=4157142'],
user: 'DIYgod',
bottom: '15%',
unlimited: true,
speedRate: 0.5,
},
contextmenu: [
{
text: 'custom1',
link: 'https://github.com/DIYgod/DPlayer',
},
{
text: 'custom2',
click: (player) => {
console.log(player);
},
},
],
highlight: [
{
text: 'marker for 20s',
time: 20,
},
{
text: 'marker for 2mins',
time: 120,
},
],
});
```
## API
- `dp.play()`: play video
- `dp.pause()`: pause video
- `dp.seek(time: number)`: seek to specified time
```js
dp.seek(100);
```
- `dp.toggle()`: toggle between play and pause
- `dp.on(event: string, handler: function)`: bind video and player events, [see more details](https://dplayer.diygod.dev/guide.html#event-binding)
- `dp.switchVideo(video, danmaku)`: switch to a new video
```js
dp.switchVideo(
{
url: 'second.mp4',
pic: 'second.png',
thumbnails: 'second.jpg',
},
{
id: 'test',
api: 'https://api.prprpr.me/dplayer/',
maximum: 3000,
user: 'DIYgod',
}
);
```
- `dp.notice(text: string, time: number, opacity: number)`: show message, the unit of time is millisecond, the default of time is 2000, the default of opacity is 0.8
```js
dp.notice('Amazing player', 2000, 0.8);
```
- `dp.switchQuality(index: number)`: switch quality
- `dp.destroy()`: destroy player
- `dp.speed(rate: number)`: set video speed
- `dp.volume(percentage: number, nostorage: boolean, nonotice: boolean)`: set video volume
```js
dp.volume(0.1, true, false);
```
- `dp.video`: native video
- `dp.video.currentTime`: returns the current playback position
- `dp.video.duration`: returns video total time
- `dp.video.paused`: returns whether the video paused
- most [native api](http://www.w3schools.com/tags/ref_av_dom.asp) are supported
- `dp.danmaku`
- `dp.danmaku.send(danmaku, callback: function)`: submit a new danmaku to back end
```js
dp.danmaku.send(
{
text: 'dplayer is amazing',
color: '#b7daff',
type: 'right', // should be `top` `bottom` or `right`
},
function () {
console.log('success');
}
);
```
- `dp.danmaku.draw(danmaku)`: draw a new danmaku to player in real time
```js
dp.danmaku.draw({
text: 'DIYgod is amazing',
color: '#fff',
type: 'top',
});
```
- `dp.danmaku.opacity(percentage: number)`: set danmaku opacity, opacity should between 0 and 1
```js
dp.danmaku.opacity(0.5);
```
- `dp.danmaku.clear()`: clear all danmakus
- `dp.danmaku.hide()`: hide danmaku
- `dp.danmaku.show()`: show danmaku
- `dp.fullScreen`: two type: `web` or `browser`, the default one is `browser`
- `dp.fullScreen.request(type: string)`: request fullscreen
```js
dp.fullScreen.request('web');
```
- `dp.fullScreen.cancel(type: string)`: cancel fullscreen
```js
dp.fullScreen.cancel('web');
```
## Event binding
`dp.on(event, handler)`
```js
dp.on('ended', function () {
console.log('player ended');
});
```
Video events
- abort
- canplay
- canplaythrough
- durationchange
- emptied
- ended
- error
- loadeddata
- loadedmetadata
- loadstart
- mozaudioavailable
- pause
- play
- playing
- progress
- ratechange
- seeked
- seeking
- stalled
- suspend
- timeupdate
- volumechange
- waiting
Player events
- screenshot
- thumbnails_show
- thumbnails_hide
- danmaku_show
- danmaku_hide
- danmaku_clear
- danmaku_loaded
- danmaku_send
- danmaku_opacity
- contextmenu_show
- contextmenu_hide
- notice_show
- notice_hide
- quality_start
- quality_end
- destroy
- resize
- fullscreen
- fullscreen_cancel
- webfullscreen
- webfullscreen_cancel
- subtitle_show
- subtitle_hide
- subtitle_change
## Quality switching
Set video url and video type in `video.quality`, set default quality by `video.defaultQuality`.
<DPlayer :options="{
video: {
quality: [{
name: 'HD',
url: 'https://api.dogecloud.com/player/get.m3u8?vcode=5ac682e6f8231991&userId=17&ext=.m3u8',
type: 'hls'
}, {
name: 'SD',
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
type: 'normal'
}],
defaultQuality: 0,
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg'
}
}"></DPlayer>
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
quality: [
{
name: 'HD',
url: 'demo.m3u8',
type: 'hls',
},
{
name: 'SD',
url: 'demo.mp4',
type: 'normal',
},
],
defaultQuality: 0,
pic: 'demo.png',
thumbnails: 'thumbnails.jpg',
},
});
```
When using `customType` ([Work with other MSE library](#work-with-other-mse-library)), you should listen for the `destroy` and `quality_end` events to destroy the MSE library instance in a timely manner to avoid memory leaks.
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
quality: [
{
name: 'HD',
url: 'demo_hd.m3u8',
type: 'Hls',
},
{
name: 'SD',
url: 'demo_sd.m3u8',
type: 'Hls',
},
],
defaultQuality: 0,
customType: {
Hls: (video, player) => {
const hls = new window.Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
hls.sessionId = crypto.randomUUID();
player.sessionId = hls.sessionId;
player.events.on('destroy', () => {
hls.destroy();
});
player.events.on('quality_end', () => {
if (hls.sessionId !== player.sessionId) {
hls.destroy();
}
});
},
},
},
});
```
## Danmaku
### Danmaku API
`danmaku.api`
<!-- **Ready-made API**
url: https://api.prprpr.me/dplayer/ -->
Daily backup data: [DPlayer-data](https://github.com/DIYgod/DPlayer-data)
**Setting up yourself**
[DPlayer-node](https://github.com/MoePlayer/DPlayer-node)
### bilibili danmaku
`danmaku.addition`
API: <https://api.prprpr.me/dplayer/v3/bilibili?aid=[aid]>
```js
const option = {
danmaku: {
// ...
addition: ['https://api.prprpr.me/dplayer/v3/bilibili?aid=[aid]'],
},
};
```
## MSE support
### HLS
It requires the library [hls.js](https://github.com/video-dev/hls.js) and it should be loaded before `DPlayer.min.js`.
<DPlayer :options="{
video: {
url: 'https://api.dogecloud.com/player/get.m3u8?vcode=5ac682e6f8231991&userId=17&ext=.m3u8',
type: 'hls'
}
}"></DPlayer>
```html
<div id="dplayer"></div>
<script src="hls.min.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.m3u8',
type: 'hls',
},
pluginOptions: {
hls: {
// hls config
},
},
});
console.log(dp.plugins.hls); // Hls instance
```
```js
// another way, use customType
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.m3u8',
type: 'customHls',
customType: {
customHls: function (video, player) {
const hls = new Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
},
},
},
});
```
### MPEG DASH
It requires the library [dash.js](https://github.com/Dash-Industry-Forum/dash.js) and it should be loaded before `DPlayer.min.js`.
```html
<div id="dplayer"></div>
<script src="dash.min.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.mpd',
type: 'dash',
},
pluginOptions: {
dash: {
// dash config
},
},
});
console.log(dp.plugins.dash); // Dash instance
```
```js
// another way, use customType
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.mpd',
type: 'customDash',
customType: {
customDash: function (video, player) {
dashjs.MediaPlayer().create().initialize(video, video.src, false);
},
},
},
});
```
### MPEG DASH (Shaka)
It requires the library [shaka-player](https://github.com/google/shaka-player) and it should be loaded before `DPlayer.min.js`.
```html
<div id="dplayer"></div>
<script src="shaka-player.compiled.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
screenshot: true,
video: {
url: 'demo.mpd',
type: 'shakaDash',
customType: {
shakaDash: function (video, player) {
var src = video.src;
var playerShaka = new shaka.Player(video); // 将会修改 video.src
playerShaka.load(src);
},
},
},
});
```
### FLV
It requires the library [flv.js](https://github.com/Bilibili/flv.js) and it should be loaded before `DPlayer.min.js`.
<DPlayer :options="{
video: {
url: 'https://api.dogecloud.com/player/get.flv?vcode=5ac682e6f8231991&userId=17&ext=.flv',
type: 'flv'
}
}"></DPlayer>
```html
<div id="dplayer"></div>
<script src="flv.min.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.flv',
type: 'flv',
},
pluginOptions: {
flv: {
// refer to https://github.com/bilibili/flv.js/blob/master/docs/api.md#flvjscreateplayer
mediaDataSource: {
// mediaDataSource config
},
config: {
// config
},
},
},
});
console.log(dp.plugins.flv); // flv instance
```
```js
// another way, use customType
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.flv',
type: 'customFlv',
customType: {
customFlv: function (video, player) {
const flvPlayer = flvjs.createPlayer({
type: 'flv',
url: video.src,
});
flvPlayer.attachMediaElement(video);
flvPlayer.load();
},
},
},
});
```
### WebTorrent
It requires the library [webtorrent](https://github.com/webtorrent/webtorrent) and it should be loaded before `DPlayer.min.js`.
<DPlayer :options="{
video: {
url: 'magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent',
type: 'webtorrent'
}
}"></DPlayer>
```html
<div id="dplayer"></div>
<script src="webtorrent.min.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'magnet:demo',
type: 'webtorrent',
},
pluginOptions: {
webtorrent: {
// webtorrent config
},
},
});
console.log(dp.plugins.webtorrent); // WebTorrent instance
```
```js
// another way, use customType
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'magnet:demo',
type: 'customWebTorrent',
customType: {
customWebTorrent: function (video, player) {
player.container.classList.add('dplayer-loading');
const client = new WebTorrent();
const torrentId = video.src;
client.add(torrentId, (torrent) => {
const file = torrent.files.find((file) => file.name.endsWith('.mp4'));
file.renderTo(
video,
{
autoplay: player.options.autoplay,
},
() => {
player.container.classList.remove('dplayer-loading');
}
);
});
},
},
},
});
```
### Work with other MSE library
DPlayer can work with any MSE library via `customType` option.
```html
<div id="dplayer"></div>
<script src="https://cdn.jsdelivr.net/npm/cdnbye@latest"></script>
<script src="DPlayer.min.js"></script>
```
```js
var type = 'normal';
if (Hls.isSupported() && Hls.WEBRTC_SUPPORT) {
type = 'customHls';
}
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.m3u8',
type: type,
customType: {
customHls: function (video, player) {
const hls = new Hls({
debug: false,
// Other hlsjsConfig options provided by hls.js
p2pConfig: {
live: false,
// Other p2pConfig options provided by CDNBye http://www.cdnbye.com/en/
},
});
hls.loadSource(video.src);
hls.attachMedia(video);
},
},
},
});
```
## Live
You can use DPlayer in live, but if you want live danmaku, you should prepare a WebSocket backend yourself.
<DPlayer :options="{
live: true,
video: {
url: 'https://api.dogecloud.com/player/get.m3u8?vcode=5ac682e6f8231991&userId=17&ext=.m3u8',
type: 'hls'
}
}"></DPlayer>
Init player:
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
live: true,
danmaku: true,
apiBackend: {
read: function (options) {
console.log('Pretend to connect WebSocket');
options.success([]);
},
send: function (options) {
console.log('Pretend to send danmaku via WebSocket', options.data);
options.success();
},
},
video: {
url: 'demo.m3u8',
type: 'hls',
},
});
```
Draw danmaku after getting a danmaku via WebSocket:
```js
const danmaku = {
text: 'Get a danmaku via WebSocket',
color: '#fff',
type: 'right',
};
dp.danmaku.draw(danmaku);
```
## FAQ
### Why can't player be full screen?
If player is contained in a iframe, try adding the `allowfullscreen` attribute to the iframe.
For full browser support it should look like this:
```html
<iframe src="example.com" allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen"></iframe>
```
### Why can't player autoplay in some mobile browsers?
Most mobile browsers forbid video autoplay, you wont be able to achieve it without hacks.

15
docs/package.json Normal file
View File

@ -0,0 +1,15 @@
{
"name": "docs",
"scripts": {
"docs:dev": "vuepress dev",
"docs:build": "vuepress build"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@vuepress/plugin-back-to-top": "^1.9.10",
"@vuepress/plugin-google-analytics": "^1.9.10",
"vuepress": "^1.9.10",
"vuepress-plugin-umami": "^0.0.4"
}
}

9329
docs/pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

42
docs/support.md Normal file
View File

@ -0,0 +1,42 @@
---
sidebar: auto
---
# Sponsor DPlayer Development
DPlayer is an MIT licensed open source project and completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing.
If you run a business and are using DPlayer in a revenue-generating product, it makes business sense to sponsor DPlayer development: it ensures the project that your product relies on stays healthy and actively maintained.
If you are an individual user and have enjoyed the productivity of using DPlayer, consider donating as a sign of appreciation - like buying me coffee once in a while :)
You can support DPlayer via donations.
### Recurring Donation
Recurring donors will be rewarded via express issue response, or even have your name displayed on our GitHub page and website.
- Become a Sponser on [GitHub](https://github.com/sponsors/DIYgod)
- Become a Sponser on [Patreon](https://www.patreon.com/DIYgod)
- Become a Sponser on [爱发电](https://afdian.net/@diygod)
- Contact us directly: i@diygod.me
### One-time Donation
We accept donations via the following ways:
- [WeChat Pay](https://diygod.me/images/wx.jpg)
- [Alipay](https://diygod.me/images/zfb.jpg)
- [Paypal](https://www.paypal.me/DIYgod)
## Sponsors
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img width="222px" src="hhttps://player.dogecloud.com/img/logo_with_product3.png">
</a>
## DPlayer contributors
This project exists thanks to all the people who contribute.
<a href="https://github.com/MoePlayer/DPlayer/graphs/contributors"><img src="https://opencollective.com/DPlayer/contributors.svg?width=890" /></a>

12
docs/zh/README.md Normal file
View File

@ -0,0 +1,12 @@
---
home: true
actionText: Get Started →
actionLink: /zh/guide/
footer: MIT Licensed | Made with love by DIYgod
---
<div>
<DPlayer :immediate="true"></DPlayer>
</div>
<div class="hero custom"><p class="action"><router-link to="/zh/guide/" class="nav-link action-button">快速上手 →</router-link></p></div>

63
docs/zh/ecosystem.md Normal file
View File

@ -0,0 +1,63 @@
---
sidebar: auto
---
# 生态
让 DPlayer 变得更好,请随意在 [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31) 提交你的项目和产品
## 帮助
### 提交 issue
- [MoePlayer/DPlayer/issues](https://github.com/MoePlayer/DPlayer/issues)
## 相关项目
### 工具
- [DPlayer-thumbnails](https://github.com/MoePlayer/DPlayer-thumbnails): generate video thumbnails
### 弹幕接口
- [DPlayer-node](https://github.com/MoePlayer/DPlayer-node): Node.js
- [laravel-danmaku](https://github.com/MoePlayer/laravel-danmaku): PHP
- [dplayer-live-backend](https://github.com/Izumi-kun/dplayer-live-backend): Node.js, WebSocket live backend
- [RailsGun](https://github.com/MoePlayer/RailsGun): Ruby
### 插件
- [DPlayer-for-typecho](https://github.com/volio/DPlayer-for-typecho): Typecho
- [Hexo-tag-dplayer](https://github.com/NextMoe/hexo-tag-dplayer): Hexo
- [DPlayer_for_Z-BlogPHP](https://github.com/fghrsh/DPlayer_for_Z-BlogPHP): Z-BlogPHP
- [DPlayer for Discuz!](https://coding.net/u/Click_04/p/video/git): Discuz!
- [DPlayer for WordPress](https://github.com/BlueCocoa/DPlayer-WordPress): WordPress
- [DPlayerHandle](https://github.com/kn007/DPlayerHandle): WordPress
- [Selection](https://github.com/GreatSatan79/Selection): WordPress
- [Vue-DPlayer](https://github.com/sinchang/vue-dplayer): Vue
- [react-dplayer](https://github.com/hnsylitao/react-dplayer): React
- [rc-dplayer](https://github.com/tianfeng98/rc-dplayer): React
### 其他
- [DPlayer-Lite](https://github.com/kn007/DPlayer-Lite): lite version
- [hlsjs-p2p-engine](https://github.com/cdnbye/hlsjs-p2p-engine)
## 谁在用 DPlayer?
- [学习强国](https://itunes.apple.com/cn/app/%E5%AD%A6%E4%B9%A0%E5%BC%BA%E5%9B%BD/id1426355645?mt=8): “学习强国”学习平台精心打造的手机客户端
- [小红书](https://www.xiaohongshu.com/): 中国最大的生活社区分享平台,同时也是发现全球好物的电商平台
- [极客时间](https://time.geekbang.org/): 极客邦科技出品的一款 IT 内容知识服务 App
- [嘀哩嘀哩](http://www.dilidili.wang/): 兴趣使然的无名小站D 站)
- [银色子弹](https://www.sbsub.com/): 银色子弹,简称银弹,由多数柯南热爱者聚集在一起的组织
- [浙江大学 CC98 论坛](https://zh.wikipedia.org/wiki/CC98%E8%AE%BA%E5%9D%9B): 浙江大学校网内规模最大的论坛,中国各大学中较活跃的 BBS 之一
- [纸飞机南航青年网络社区](http://my.nuaa.edu.cn/video-video.html): 南京航空航天大学门户网站
- [otomads](https://otomads.com/): 专注于音 MAD 的视频弹幕网站
- [Cloudreve](https://github.com/HFO4/Cloudreve): 基于 ThinkPHP 构建的网盘系统
- [arozos](https://github.com/tobychui/arozos): General purposed Web Desktop Operating Platform / OS for Raspberry Pis
- [新东方云教室](https://roombox.xdf.cn/)
- [BBHouse](https://github.com/endcloud/bbhouse-tauri): A Bilibili Cross-Platform Desktop Client Powered By Tauri
- [Tampermonkey 阿里云盘](https://greasyfork.org/zh-CN/scripts/425955-%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98)
- [arozos](https://github.com/tobychui/arozos)
- [GBCLStudio/fof-upload-qcloud](https://github.com/GBCLStudio/FoF-Upload-Qcloud)
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)

816
docs/zh/guide.md Normal file
View File

@ -0,0 +1,816 @@
---
sidebar: auto
---
# 指南
# DPlayer
🍭 Wow, such a lovely HTML5 danmaku video player
<DPlayer :immediate="true"></DPlayer>
&nbsp;
## Special Thanks
### Sponsors
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
## 安装
使用 npm:
```
npm install dplayer --save
```
使用 Yarn:
```
yarn add dplayer
```
## 快速开始
我们先尝试初始化一个最简单的 DPlayer
加载播放器文件:
```html
<div id="dplayer"></div>
<script src="DPlayer.min.js"></script>
```
或者使用模块管理器:
```js
import DPlayer from 'dplayer';
const dp = new DPlayer(options);
```
在 js 里初始化:
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.mp4',
},
});
```
一个最简单的 DPlayer 就初始化好了,它只有最基本的视频播放功能
## 参数
DPlayer 有丰富的参数可以自定义你的播放器实例
| 名称 | 默认值 | 描述 |
| -------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------- |
| container | document.querySelector('.dplayer') | 播放器容器元素 |
| live | false | 开启直播模式, 见[#直播](#直播) |
| autoplay | false | 视频自动播放 |
| theme | '#b7daff' | 主题色 |
| loop | false | 视频循环播放 |
| lang | navigator.language.toLowerCase() | 可选值: 'en', 'zh-cn', 'zh-tw' |
| screenshot | false | 开启截图,如果开启,视频和视频封面需要允许跨域 |
| hotkey | true | 开启热键,支持快进、快退、音量控制、播放暂停 |
| airplay | false | 在 Safari 中开启 AirPlay |
| chromecast | false | 启用 Chromecast |
| preload | 'auto' | 视频预加载,可选值: 'none', 'metadata', 'auto' |
| volume | 0.7 | 默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效 |
| playbackSpeed | [0.5, 0.75, 1, 1.25, 1.5, 2] | 可选的播放速率,可以设置成自定义的数组 |
| logo | - | 在左上角展示一个 logo你可以通过 CSS 调整它的大小和位置 |
| apiBackend | - | 自定义获取和发送弹幕行为,见[#直播](#直播) |
| preventClickToggle | false | 阻止点击播放器时候自动切换播放/暂停 |
| video | - | 视频信息 |
| video.quality | - | 见[#清晰度切换](#清晰度切换) |
| video.defaultQuality | - | 见[#清晰度切换](#清晰度切换) |
| video.url | - | 视频链接 |
| video.pic | - | 视频封面 |
| video.thumbnails | - | 视频缩略图,可以使用 [DPlayer-thumbnails](https://github.com/MoePlayer/DPlayer-thumbnails) 生成 |
| video.type | 'auto' | 可选值: 'auto', 'hls', 'flv', 'dash', 'webtorrent', 'normal' 或其他自定义类型, 见[#MSE 支持](#mse-支持) |
| video.customType | - | 自定义类型, 见[#MSE 支持](#mse-支持) |
| subtitle | - | 外挂字幕 |
| subtitle.url | `required` | 字幕链接 |
| subtitle.type | 'webvtt' | 字幕类型,可选值: 'webvtt', 'ass',目前只支持 webvtt |
| subtitle.fontSize | '20px' | 字幕字号 |
| subtitle.bottom | '40px' | 字幕距离播放器底部的距离,取值形如: '10px' '10%' |
| subtitle.color | '#fff' | 字幕颜色 |
| danmaku | - | 显示弹幕 |
| danmaku.id | `required` | 弹幕池 id必须唯一 |
| danmaku.api | `required` | 见[#弹幕接口](#弹幕接口) |
| danmaku.token | - | 弹幕后端验证 token |
| danmaku.maximum | - | 弹幕最大数量 |
| danmaku.addition | - | 额外外挂弹幕,见[#bilibili 弹幕](#bilibili-弹幕) |
| danmaku.user | 'DIYgod' | 弹幕用户名 |
| danmaku.bottom | - | 弹幕距离播放器底部的距离,防止遮挡字幕,取值形如: '10px' '10%' |
| danmaku.unlimited | false | 海量弹幕模式,即使重叠也展示全部弹幕,请注意播放器会记忆用户设置,用户手动设置后即失效 |
| danmaku.speedRate | 1 | 弹幕速度倍率,越大速度越快 |
| contextmenu | [] | 自定义右键菜单 |
| highlight | [] | 自定义进度条提示点 |
| mutex | true | 互斥,阻止多个播放器同时播放,当前播放器播放时暂停其他播放器 |
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
autoplay: false,
theme: '#FADFA3',
loop: true,
lang: 'zh-cn',
screenshot: true,
hotkey: true,
preload: 'auto',
logo: 'logo.png',
volume: 0.7,
mutex: true,
video: {
url: 'dplayer.mp4',
pic: 'dplayer.png',
thumbnails: 'thumbnails.jpg',
type: 'auto',
},
subtitle: {
url: 'dplayer.vtt',
type: 'webvtt',
fontSize: '25px',
bottom: '10%',
color: '#b7daff',
},
danmaku: {
id: '9E2E3368B56CDBB4',
api: 'https://api.prprpr.me/dplayer/',
token: 'tokendemo',
maximum: 1000,
addition: ['https://api.prprpr.me/dplayer/v3/bilibili?aid=4157142'],
user: 'DIYgod',
bottom: '15%',
unlimited: true,
speedRate: 0.5,
},
contextmenu: [
{
text: 'custom1',
link: 'https://github.com/DIYgod/DPlayer',
},
{
text: 'custom2',
click: (player) => {
console.log(player);
},
},
],
highlight: [
{
time: 20,
text: '这是第 20 秒',
},
{
time: 120,
text: '这是 2 分钟',
},
],
});
```
## API
- `dp.play()`: 播放视频
- `dp.pause()`: 暂停视频
- `dp.seek(time: number)`: 跳转到特定时间
```js
dp.seek(100);
```
- `dp.toggle()`: 切换播放和暂停
- `dp.on(event: string, handler: function)`: 绑定视频和播放器事件,见[#事件绑定](#事件绑定)
- `dp.switchVideo(video, danmaku)`: 切换到其他视频
```js
dp.switchVideo(
{
url: 'second.mp4',
pic: 'second.png',
thumbnails: 'second.jpg',
},
{
id: 'test',
api: 'https://api.prprpr.me/dplayer/',
maximum: 3000,
user: 'DIYgod',
}
);
```
- `dp.notice(text: string, time: number)`: 显示通知,时间的单位为毫秒,默认时间 2000 毫秒,默认透明度 0.8
- `dp.switchQuality(index: number)`: 切换清晰度
- `dp.destroy()`: 销毁播放器
- `dp.speed(rate: number)`: 设置视频速度
- `dp.volume(percentage: number, nostorage: boolean, nonotice: boolean)`: 设置视频音量
```js
dp.volume(0.1, true, false);
```
- `dp.video`: 原生 video
- `dp.video.currentTime`: 返回视频当前播放时间
- `dp.video.duration`: 返回视频总时间
- `dp.video.paused`: 返回视频是否暂停
- 支持大多数[原生 video 接口](http://www.w3schools.com/tags/ref_av_dom.asp)
- `dp.danmaku`
- `dp.danmaku.send(danmaku, callback: function)`: 提交一个新弹幕
```js
dp.danmaku.send(
{
text: 'dplayer is amazing',
color: '#b7daff',
type: 'right', // should be `top` `bottom` or `right`
},
function () {
console.log('success');
}
);
```
- `dp.danmaku.draw(danmaku)`: 实时绘制一个新弹幕
```js
dp.danmaku.draw({
text: 'DIYgod is amazing',
color: '#fff',
type: 'top',
});
```
- `dp.danmaku.opacity(percentage: number)`: 设置弹幕透明度,透明度值在 0 到 1 之间
```js
dp.danmaku.opacity(0.5);
```
- `dp.danmaku.clear()`: 清除所有弹幕
- `dp.danmaku.hide()`: 隐藏弹幕
- `dp.danmaku.show()`: 显示弹幕
- `dp.fullScreen`: 两个类型:`web` 和 `browser`,默认类型是 `browser`
- `dp.fullScreen.request(type: string)`: 进入全屏
```js
dp.fullScreen.request('web');
```
- `dp.fullScreen.cancel(type: string)`: 退出全屏
```js
dp.fullScreen.cancel('web');
```
## 事件绑定
`dp.on(event, handler)`
```js
dp.on('ended', function () {
console.log('player ended');
});
```
视频事件
- abort
- canplay
- canplaythrough
- durationchange
- emptied
- ended
- error
- loadeddata
- loadedmetadata
- loadstart
- mozaudioavailable
- pause
- play
- playing
- progress
- ratechange
- seeked
- seeking
- stalled
- suspend
- timeupdate
- volumechange
- waiting
播放器事件
- screenshot
- thumbnails_show
- thumbnails_hide
- danmaku_show
- danmaku_hide
- danmaku_clear
- danmaku_loaded
- danmaku_send
- danmaku_opacity
- contextmenu_show
- contextmenu_hide
- notice_show
- notice_hide
- quality_start
- quality_end
- destroy
- resize
- fullscreen
- fullscreen_cancel
- subtitle_show
- subtitle_hide
- subtitle_change
## 清晰度切换
`video.quality` 里设置不同清晰度的视频链接和类型,`video.defaultQuality` 设置默认清晰度
<DPlayer :options="{
video: {
quality: [{
name: 'HD',
url: 'https://api.dogecloud.com/player/get.m3u8?vcode=5ac682e6f8231991&userId=17&ext=.m3u8',
type: 'hls'
}, {
name: 'SD',
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
type: 'normal'
}],
defaultQuality: 0,
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg'
}
}"></DPlayer>
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
quality: [
{
name: 'HD',
url: 'demo.m3u8',
type: 'hls',
},
{
name: 'SD',
url: 'demo.mp4',
type: 'normal',
},
],
defaultQuality: 0,
pic: 'demo.png',
thumbnails: 'thumbnails.jpg',
},
});
```
在使用 `customType` [配合其他 MSE 库使用](#配合其他-mse-库使用)时,需要监听 `destroy``quality_end` 事件及时销毁 MSE 库实例,避免内存泄漏
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
quality: [
{
name: 'HD',
url: 'demo_hd.m3u8',
type: 'Hls',
},
{
name: 'SD',
url: 'demo_sd.m3u8',
type: 'Hls',
},
],
defaultQuality: 0,
customType: {
Hls: (video, player) => {
const hls = new window.Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
hls.sessionId = crypto.randomUUID();
player.sessionId = hls.sessionId;
player.events.on('destroy', () => {
hls.destroy();
});
player.events.on('quality_end', () => {
if (hls.sessionId !== player.sessionId) {
hls.destroy();
}
});
},
},
},
});
```
## 弹幕
### 弹幕接口
`danmaku.api`
<!-- **现成的接口**
链接: https://api.prprpr.me/dplayer/ -->
每日备份: [DPlayer-data](https://github.com/DIYgod/DPlayer-data)
**自己搭建**
[DPlayer-node](https://github.com/MoePlayer/DPlayer-node)
### bilibili 弹幕
`danmaku.addition`
API: <https://api.prprpr.me/dplayer/v3/bilibili?aid=[aid]>
```js
const option = {
danmaku: {
// ...
addition: ['https://api.prprpr.me/dplayer/v3/bilibili?aid=[aid]'],
},
};
```
## MSE 支持
### HLS
需要在 `DPlayer.min.js` 前面加载 [hls.js](https://github.com/video-dev/hls.js)。
<DPlayer :options="{
video: {
url: 'https://api.dogecloud.com/player/get.m3u8?vcode=5ac682e6f8231991&userId=17&ext=.m3u8',
type: 'hls'
}
}"></DPlayer>
```html
<div id="dplayer"></div>
<script src="hls.min.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.m3u8',
type: 'hls',
},
pluginOptions: {
hls: {
// hls config
},
},
});
console.log(dp.plugins.hls); // Hls 实例
```
```js
// 另一种方式,使用 customType
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.m3u8',
type: 'customHls',
customType: {
customHls: function (video, player) {
const hls = new Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
},
},
},
});
```
### MPEG DASH
需要在 `DPlayer.min.js` 前面加载 [dash.js](https://github.com/Dash-Industry-Forum/dash.js)。
```html
<div id="dplayer"></div>
<script src="dash.min.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.mpd',
type: 'dash',
},
pluginOptions: {
dash: {
// dash config
},
},
});
console.log(dp.plugins.dash); // Dash 实例
```
```js
// 另一种方式,使用 customType
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.mpd',
type: 'customDash',
customType: {
customDash: function (video, player) {
dashjs.MediaPlayer().create().initialize(video, video.src, false);
},
},
},
});
```
### MPEG DASH (Shaka)
需要在 `DPlayer.min.js` 前面加载 [shaka-player.compiled.js](https://github.com/google/shaka-player)。
```html
<div id="dplayer"></div>
<script src="shaka-player.compiled.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
screenshot: true,
video: {
url: 'demo.mpd',
type: 'shakaDash',
customType: {
shakaDash: function (video, player) {
var src = video.src;
var playerShaka = new shaka.Player(video); // 将会修改 video.src
playerShaka.load(src);
},
},
},
});
```
### FLV
需要在 `DPlayer.min.js` 前面加载 [flv.js](https://github.com/Bilibili/flv.js)。
<DPlayer :options="{
video: {
url: 'https://api.dogecloud.com/player/get.flv?vcode=5ac682e6f8231991&userId=17&ext=.flv',
type: 'flv'
}
}"></DPlayer>
```html
<div id="dplayer"></div>
<script src="flv.min.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.flv',
type: 'flv',
},
pluginOptions: {
flv: {
// refer to https://github.com/bilibili/flv.js/blob/master/docs/api.md#flvjscreateplayer
mediaDataSource: {
// mediaDataSource config
},
config: {
// config
},
},
},
});
console.log(dp.plugins.flv); // flv 实例
```
```js
// 另一种方式,使用 customType
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.flv',
type: 'customFlv',
customType: {
customFlv: function (video, player) {
const flvPlayer = flvjs.createPlayer({
type: 'flv',
url: video.src,
});
flvPlayer.attachMediaElement(video);
flvPlayer.load();
},
},
},
});
```
### WebTorrent
需要在 `DPlayer.min.js` 前面加载 [webtorrent](https://github.com/webtorrent/webtorrent)。
<DPlayer :options="{
video: {
url: 'magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent',
type: 'webtorrent'
}
}"></DPlayer>
```html
<div id="dplayer"></div>
<script src="webtorrent.min.js"></script>
<script src="DPlayer.min.js"></script>
```
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'magnet:demo',
type: 'webtorrent',
},
pluginOptions: {
webtorrent: {
// webtorrent config
},
},
});
console.log(dp.plugins.webtorrent); // WebTorrent 实例
```
```js
// 另一种方式,使用 customType
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'magnet:demo',
type: 'customWebTorrent',
customType: {
customWebTorrent: function (video, player) {
player.container.classList.add('dplayer-loading');
const client = new WebTorrent();
const torrentId = video.src;
client.add(torrentId, (torrent) => {
const file = torrent.files.find((file) => file.name.endsWith('.mp4'));
file.renderTo(
video,
{
autoplay: player.options.autoplay,
},
() => {
player.container.classList.remove('dplayer-loading');
}
);
});
},
},
},
});
```
### 配合其他 MSE 库使用
DPlayer 可以通过 `customType` 参数与任何 MSE 库一起使用,例如支持 P2P 插件:
```html
<div id="dplayer"></div>
<script src="https://cdn.jsdelivr.net/npm/cdnbye@latest"></script>
<script src="DPlayer.min.js"></script>
```
```js
var type = 'normal';
if (Hls.isSupported() && Hls.WEBRTC_SUPPORT) {
type = 'customHls';
}
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.m3u8',
type: type,
customType: {
customHls: function (video, player) {
const hls = new Hls({
debug: false,
// Other hlsjsConfig options provided by hls.js
p2pConfig: {
live: false, // 如果是直播设为true
// Other p2pConfig options provided by CDNBye http://www.cdnbye.com/cn/
},
});
hls.loadSource(video.src);
hls.attachMedia(video);
},
},
},
});
```
## 直播
你可以把 DPlayer 用在直播当中,但如果你想要直播弹幕,你需要自己准备一个 WebSocket 后端。
<DPlayer :options="{
live: true,
video: {
url: 'https://api.dogecloud.com/player/get.m3u8?vcode=5ac682e6f8231991&userId=17&ext=.m3u8',
type: 'hls'
}
}"></DPlayer>
初始化播放器:
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
live: true,
danmaku: true,
apiBackend: {
read: function (options) {
console.log('Pretend to connect WebSocket');
options.success([]);
},
send: function (options) {
console.log('Pretend to send danmaku via WebSocket', options.data);
options.success();
},
},
video: {
url: 'demo.m3u8',
type: 'hls',
},
});
```
通过 WebSocket 获取到弹幕之后,通过 `dp.danmaku.draw` 绘制弹幕:
```js
const danmaku = {
text: 'Get a danmaku via WebSocket',
color: '#fff',
type: 'right',
};
dp.danmaku.draw(danmaku);
```
## 常见问题
### 为什么播放器不能全屏?
如果播放器被包含在 iframe 里,尝试在 iframe 上添加 `allowfullscreen` 属性。
为了完善的浏览器兼容性,它应该是这样:
```html
<iframe src="example.com" allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen"></iframe>
```
### 为什么播放器不能在手机上自动播放?
大多数移动端浏览器禁止了视频自动播放。

42
docs/zh/support.md Normal file
View File

@ -0,0 +1,42 @@
---
sidebar: auto
---
# 赞助 DPlayer 的研发
DPlayer 是采用 MIT 许可的开源项目,使用完全免费。 但是随着项目规模的增长,也需要有相应的资金支持才能持续项目的维护的开发。
如果你是企业经营者并且将 DPlayer 用在商业产品中,那么赞助 DPlayer 有商业上的益处:可以让你的产品所依赖的框架保持健康并得到积极的维护。
如果你是个人开发者并且享受 DPlayer 带来的高开发效率,可以用捐助来表示你的谢意 —— 比如偶尔给我买杯咖啡 :)
你可以通过下列的方法来赞助 DPlayer 的开发.
## 周期性赞助
- 通过 [GitHub](https://github.com/sponsors/DIYgod) 赞助
- 通过 [Patreon](https://www.patreon.com/DIYgod) 赞助
- 通过 [爱发电](https://afdian.net/@diygod) 赞助
- 给我们发邮件联系赞助事宜: <i@diygod.me>
## 一次性赞助
我们通过以下方式接受赞助:
- [微信支付](https://diygod.me/images/wx.jpg)
- [支付宝](https://diygod.me/images/zfb.jpg)
- [Paypal](https://www.paypal.me/DIYgod)
## 赞助商
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
## DPlayer 贡献者
感谢所有贡献者。
<a href="https://github.com/MoePlayer/DPlayer/graphs/contributors"><img src="https://opencollective.com/DPlayer/contributors.svg?width=890" /></a>

View File

@ -1,62 +1,78 @@
{
"name": "dplayer",
"version": "1.22.0",
"description": "Wow, such a lovely HTML5 danmaku video player",
"main": "dist/DPlayer.min.js",
"style": "dist/DPlayer.min.css",
"scripts": {
"start": "npm run dev",
"build": "cross-env NODE_ENV=production webpack --config webpack/prod.config.js --progress --display-error-details --colors",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config webpack/dev.config.js --watch --colors",
"test": "eslint src webpack"
},
"files": [
"dist"
],
"repository": {
"url": "git+https://github.com/DIYgod/DPlayer.git",
"type": "git"
},
"keywords": [
"player",
"danmaku",
"video",
"html5"
],
"author": "DIYgod",
"license": "MIT",
"bugs": {
"url": "https://github.com/DIYgod/DPlayer/issues"
},
"homepage": "https://github.com/DIYgod/DPlayer#readme",
"devDependencies": {
"art-template": "4.12.2",
"art-template-loader": "1.4.3",
"autoprefixer": "^7.2.5",
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.1",
"cross-env": "^5.1.3",
"css-loader": "^0.28.9",
"eslint": "^4.17.0",
"eslint-loader": "^1.9.0",
"exports-loader": "^0.6.4",
"extract-text-webpack-plugin": "^3.0.2",
"file-loader": "^1.1.6",
"git-revision-webpack-plugin": "^2.5.1",
"node-sass": "^4.7.2",
"postcss-loader": "^2.1.0",
"sass-loader": "^6.0.6",
"strip-loader": "^0.1.2",
"style-loader": "^0.20.1",
"svg-inline-loader": "0.8.0",
"template-string-optimize-loader": "^2.2.3",
"url-loader": "^0.6.2",
"webpack": "^3.10.0",
"webpack-dev-server": "^2.11.1"
},
"dependencies": {
"balloon-css": "^0.5.0",
"promise-polyfill": "7.0.2"
}
"name": "dplayer",
"version": "1.27.1",
"description": "Wow, such a lovely HTML5 danmaku video player",
"main": "dist/DPlayer.min.js",
"scripts": {
"start": "npm run dev",
"build": "cross-env NODE_ENV=production webpack --config webpack/prod.config.js --progress",
"dev": "cross-env NODE_ENV=development webpack serve --config webpack/dev.config.js",
"test": "",
"format": "prettier \"**/*.{js,json,md}\" --write",
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs",
"prepare": "husky install"
},
"lint-staged": {
"**/*": "prettier --write --ignore-unknown"
},
"files": [
"dist"
],
"repository": {
"url": "git+https://github.com/DIYgod/DPlayer.git",
"type": "git"
},
"keywords": [
"player",
"danmaku",
"video",
"html5"
],
"author": "DIYgod",
"license": "MIT",
"bugs": {
"url": "https://github.com/DIYgod/DPlayer/issues"
},
"homepage": "https://github.com/DIYgod/DPlayer#readme",
"devDependencies": {
"@babel/core": "^7.22.10",
"@babel/preset-env": "^7.22.10",
"@vuepress/plugin-pwa": "1.9.9",
"art-template": "4.13.2",
"art-template-loader": "1.4.3",
"autoprefixer": "^10.4.15",
"babel-loader": "^9.1.3",
"cross-env": "^7.0.0",
"css-loader": "^6.8.1",
"cssnano": "^6.0.1",
"exports-loader": "^4.0.0",
"file-loader": "^6.0.0",
"git-revision-webpack-plugin": "^5.0.0",
"husky": "^8.0.3",
"less": "^4.2.0",
"less-loader": "^11.1.3",
"lint-staged": "^13.3.0",
"mini-css-extract-plugin": "2.7.6",
"postcss": "^8.4.27",
"postcss-loader": "^7.3.3",
"postcss-preset-env": "^9.1.1",
"prettier": "^3.0.1",
"prettier-check": "^2.0.0",
"pretty-quick": "^3.0.0",
"strip-loader": "^0.1.2",
"style-loader": "^3.3.3",
"svg-inline-loader": "0.8.2",
"template-string-optimize-loader": "^3.0.0",
"url-loader": "^4.1.0",
"webpack": "^5.88.2",
"webpack-cli": "5.1.4",
"webpack-dev-server": "^4.15.1",
"yorkie": "^2.0.0"
},
"dependencies": {
"axios": "1.4.0",
"balloon-css": "^1.0.3",
"promise-polyfill": "8.3.0"
}
}

7396
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

1
src/assets/airplay.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" ?><svg viewBox="0 0 288 288" xmlns="http://www.w3.org/2000/svg"><path d="M288 90v96c0 20-16 36-36 36h-10c-16 0-16-24 0-24h10c7 0 12-5 12-12V90c0-7-5-12-12-12H36c-7 0-12 5-12 12v96c0 7 5 12 12 12h10c16 0 16 24 0 24H36c-20 0-36-16-36-36V90c0-20 16-36 36-36h216c20 0 36 16 36 36zm-120 62l48 68c14 20 1 38-20 38H92c-21 0-34-18-20-38l48-68c13-18 35-18 48 0z"/></svg>

After

Width:  |  Height:  |  Size: 381 B

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="chromecast" class="svg-inline--fa fa-chromecast fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z"></path></svg>

After

Width:  |  Height:  |  Size: 642 B

View File

@ -60,11 +60,11 @@
animation: diplayer-loading-dot-fade .8s ease infinite;
opacity: 0;
transform-origin: 4px 4px;
@for $i from 7 through 1 {
&.diplayer-loading-dot-#{$i} {
animation-delay: .1s * $i;
each(range(7), {
&.diplayer-loading-dot-@{value} {
animation-delay: (@value * 0.1s);
}
}
});
}
@keyframes diplayer-loading-dot-fade {
0% {

View File

@ -35,13 +35,56 @@
.dplayer-bar .dplayer-played .dplayer-thumb {
transform: scale(1);
}
.dplayer-highlight {
display: block;
width: 8px;
transform: translateX(-4px);
top: 4px;
height: 40%;
}
}
.dplayer-highlight {
z-index: 12;
position: absolute;
top: 5px;
width: 6px;
height: 20%;
border-radius: 6px;
background-color: #fff;
text-align: center;
transform: translateX(-3px);
transition: all .2s ease-in-out;
&:hover {
.dplayer-highlight-text {
display: block;
}
&~.dplayer-bar-preview {
opacity: 0;
}
&~.dplayer-bar-time {
opacity: 0;
}
}
.dplayer-highlight-text {
display: none;
position: absolute;
left: 50%;
top: -24px;
padding: 5px 8px;
background-color: rgba(0, 0, 0, .62);
color: #fff;
border-radius: 4px;
font-size: 12px;
white-space: nowrap;
transform: translateX(-50%);
}
}
.dplayer-bar-preview {
position: absolute;
background: #fff;
pointer-events: none;
display: none;
background-size: auto 100%;
background-size: 16000px 100%;
}
.dplayer-bar-preview-canvas {
position: absolute;
@ -57,7 +100,6 @@
position: absolute;
left: 0px;
top: -20px;
width: 30px;
border-radius: 4px;
padding: 5px 7px;
background-color: rgba(0, 0, 0, 0.62);
@ -236,6 +278,9 @@
color: #fff;
opacity: 0.8;
}
&::-ms-clear {
display: none;
}
}
}
&.dplayer-icons-left {
@ -363,6 +408,41 @@
display: inline-block;
height: 100%;
}
.dplayer-subtitles {
display: inline-block;
height: 100%;
.dplayer-subtitles-box {
position: absolute;
right: 0;
bottom: 50px;
transform: scale(0);
width: fit-content;
max-width: 240px;
min-width: 120px;
border-radius: 2px;
background: rgba(28, 28, 28, 0.9);
padding: 7px 0;
transition: all .3s ease-in-out;
overflow: auto;
z-index: 2;
&.dplayer-subtitles-panel {
display: block;
}
&.dplayer-subtitles-box-open {
transform: scale(1);
}
}
.dplayer-subtitles-item {
height: 30px;
padding: 5px 10px;
box-sizing: border-box;
cursor: pointer;
position: relative;
&:hover {
background-color: rgba(255, 255, 255, .1);
}
}
}
.dplayer-setting {
display: inline-block;
height: 100%;
@ -389,7 +469,6 @@
}
&.dplayer-setting-box-narrow {
width: 70px;
height: 180px;
text-align: center;
}
&.dplayer-setting-box-speed {
@ -606,4 +685,22 @@
}
}
}
}
.dplayer-mobile-play {
display: none;
width: 50px;
height: 50px;
border: none;
background-color: transparent;
outline: none;
cursor: pointer;
box-sizing: border-box;
position: absolute;
bottom: 0;
opacity: 0.8;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}

View File

@ -12,7 +12,7 @@
user-select: none;
cursor: default;
white-space: nowrap;
text-shadow: .5px .5px .5px rgba(0, 0, 0, .5);
text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);
&--demo {
position: absolute;
visibility: hidden;
@ -24,7 +24,8 @@
transform: translateX(100%);
&.dplayer-danmaku-move {
will-change: transform;
animation: danmaku 5s linear;
animation-name: danmaku;
animation-timing-function: linear;
animation-play-state: paused;
}
}
@ -41,7 +42,8 @@
visibility: hidden;
&.dplayer-danmaku-move {
will-change: visibility;
animation: danmaku-center 4s linear;
animation-name: danmaku-center;
animation-timing-function: linear;
animation-play-state: paused;
}
}
@ -53,4 +55,4 @@
visibility: visible;
}
}
}
}

53
src/css/notice.less Normal file
View File

@ -0,0 +1,53 @@
.dplayer-notice-list{
position: absolute;
bottom: 60px;
left: 20px;
.dplayer-notice {
border-radius: 2px;
background: rgba(28, 28, 28, 0.9);
transition: all .3s ease-in-out;
overflow: hidden;
color: #fff;
display: table;
pointer-events: none;
animation: showNotice .3s ease 1 forwards;
}
.remove-notice{
animation: removeNotice .3s ease 1 forwards;
}
}
@keyframes showNotice {
from {
padding: 0;
font-size: 0;
margin-top: 0;
}
to {
padding: 7px 20px;
font-size: 14px;
margin-top: 5px;
}
}
@keyframes removeNotice {
0%{
padding: 7px 20px;
font-size: 14px;
margin-top: 5px;
}
20%{
font-size: 12px;
}
21%{
font-size: 0;
padding: 7px 10px;
}
100%{
padding: 0;
margin-top: 0;
font-size: 0;
}
}

View File

@ -1,14 +0,0 @@
.dplayer-notice {
opacity: 0;
position: absolute;
bottom: 60px;
left: 20px;
font-size: 14px;
border-radius: 2px;
background: rgba(28, 28, 28, 0.9);
padding: 7px 20px;
transition: all .3s ease-in-out;
overflow: hidden;
color: #fff;
pointer-events: none;
}

View File

@ -11,7 +11,7 @@
svg {
width: 100%;
height: 100%;
path,
circle {
fill: #fff;
@ -26,23 +26,10 @@
z-index: 100000;
left: 0;
top: 0;
.dplayer-danmaku {
.dplayer-danmaku-top,
.dplayer-danmaku-bottom {
&.dplayer-danmaku-move {
animation: danmaku-center 6s linear;
animation-play-state: inherit;
}
}
.dplayer-danmaku-right {
&.dplayer-danmaku-move {
animation: danmaku 8s linear;
animation-play-state: inherit;
}
}
}
margin: 0;
padding: 0;
transform: translate(0, 0);
}
&.dplayer-no-danmaku {
@ -76,11 +63,17 @@
.dplayer-setting-loop {
display: none;
}
&.dplayer-no-danmaku {
.dplayer-setting {
display: none;
}
}
}
&.dplayer-arrow {
.dplayer-danmaku {
font-size: 18px
font-size: 18px;
}
.dplayer-icon {
margin: 0 -3px;
@ -88,7 +81,6 @@
}
&.dplayer-playing {
.dplayer-danmaku .dplayer-danmaku-move {
animation-play-state: running;
}
@ -151,13 +143,16 @@
z-index: 100000;
left: 0;
top: 0;
width: 100%;
height: 100%;
width: 100% !important;
height: 100% !important;
}
&.dplayer-mobile {
.dplayer-controller .dplayer-icons {
.dplayer-volume,
.dplayer-camera-icon {
.dplayer-camera-icon,
.dplayer-airplay-icon,
.dplayer-chromecast-icon,
.dplayer-play-icon {
display: none;
}
.dplayer-full .dplayer-full-in-icon {
@ -169,6 +164,16 @@
.dplayer-bar-time {
display: none;
}
&.dplayer-hide-controller {
.dplayer-mobile-play {
display: none;
}
}
.dplayer-mobile-play {
display: block;
}
}
}

View File

@ -1,53 +1,46 @@
/*
* xhr.status ---> fail
* response.code === 0 ---> success
* response.code !== 0 ---> error
* */
const SendXMLHttpRequest = (url, data, success, error, fail) => {
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {
const response = JSON.parse(xhr.responseText);
if (response.code !== 0) {
return error(xhr, response);
}
return success(xhr, response);
}
fail(xhr);
}
};
xhr.open(data !== null ? 'POST' : 'GET', url, true);
xhr.send(data !== null ? JSON.stringify(data) : null);
};
import axios from 'axios';
export default {
send: (endpoint, danmakuData, callback) => {
SendXMLHttpRequest(endpoint, danmakuData, (xhr, response) => {
console.log('Post danmaku: ', response);
if (callback) {
callback();
}
}, (xhr, response) => {
alert(response.msg);
}, (xhr) => {
console.log('Request was unsuccessful: ' + xhr.status);
});
send: (options) => {
axios
.post(options.url, options.data)
.then((response) => {
const data = response.data;
if (!data || data.code !== 0) {
options.error && options.error(data && data.msg);
return;
}
options.success && options.success(data);
})
.catch((e) => {
console.error(e);
options.error && options.error();
});
},
read: (endpoint, callback) => {
SendXMLHttpRequest(endpoint, null, (xhr, response) => {
callback(null, response.danmaku);
}, (xhr, response) => {
callback({ status: xhr.status, response });
}, (xhr) => {
callback({ status: xhr.status, response: null });
});
}
};
read: (options) => {
axios
.get(options.url)
.then((response) => {
const data = response.data;
if (!data || data.code !== 0) {
options.error && options.error(data && data.msg);
return;
}
options.success &&
options.success(
data.data.map((item) => ({
time: item[0],
type: item[1],
color: item[2],
author: item[3],
text: item[4],
}))
);
})
.catch((e) => {
console.error(e);
options.error && options.error();
});
},
};

View File

@ -1,5 +1,5 @@
class Bar {
constructor (template) {
constructor(template) {
this.elements = {};
this.elements.volume = template.volumeBar;
this.elements.played = template.playedBar;
@ -14,15 +14,15 @@ class Bar {
* @param {Number} percentage
* @param {String} direction - Point out the direction of this bar, Should be height or width
*/
set (type, percentage, direction) {
set(type, percentage, direction) {
percentage = Math.max(percentage, 0);
percentage = Math.min(percentage, 1);
this.elements[type].style[direction] = percentage * 100 + '%';
}
get (type) {
get(type) {
return parseFloat(this.elements[type].style.width) / 100;
}
}
export default Bar;
export default Bar;

View File

@ -1,5 +1,5 @@
class Bezel {
constructor (container) {
constructor(container) {
this.container = container;
this.container.addEventListener('animationend', () => {
@ -7,10 +7,10 @@ class Bezel {
});
}
switch (icon) {
switch(icon) {
this.container.innerHTML = icon;
this.container.classList.add('dplayer-bezel-transition');
}
}
export default Bezel;
export default Bezel;

View File

@ -1,5 +1,7 @@
import utils from './utils';
class Comment {
constructor (player) {
constructor(player) {
this.player = player;
this.player.template.mask.addEventListener('click', () => {
@ -13,9 +15,9 @@ class Comment {
});
this.player.template.commentColorSettingBox.addEventListener('click', () => {
const sele = this.player.template.commentColorSettingBox.querySelector(`input:checked+span`);
const sele = this.player.template.commentColorSettingBox.querySelector('input:checked+span');
if (sele) {
const color = this.player.template.commentColorSettingBox.querySelector(`input:checked`).value;
const color = this.player.template.commentColorSettingBox.querySelector('input:checked').value;
this.player.template.commentSettingFill.style.fill = color;
this.player.template.commentInput.style.color = color;
this.player.template.commentSendFill.style.fill = color;
@ -37,7 +39,7 @@ class Comment {
});
}
show () {
show() {
this.player.controller.disableAutoHide = true;
this.player.template.controller.classList.add('dplayer-controller-comment');
this.player.template.mask.classList.add('dplayer-mask-show');
@ -45,7 +47,7 @@ class Comment {
this.player.template.commentInput.focus();
}
hide () {
hide() {
this.player.template.controller.classList.remove('dplayer-controller-comment');
this.player.template.mask.classList.remove('dplayer-mask-show');
this.player.container.classList.remove('dplayer-show-controller');
@ -53,41 +55,43 @@ class Comment {
this.hideSetting();
}
showSetting () {
showSetting() {
this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');
}
hideSetting () {
hideSetting() {
this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');
}
toggleSetting () {
toggleSetting() {
if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {
this.hideSetting();
}
else {
} else {
this.showSetting();
}
}
send () {
send() {
this.player.template.commentInput.blur();
// text can't be empty
if (!this.player.template.commentInput.value.replace(/^\s+|\s+$/g, '')) {
this.player.notice(this.player.tran('Please input danmaku content!'));
this.player.notice(this.player.tran('please-input-danmaku'));
return;
}
this.player.danmaku.send({
text: this.player.template.commentInput.value,
color: this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value,
type: this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value
}, () => {
this.player.template.commentInput.value = '';
this.hide();
});
this.player.danmaku.send(
{
text: this.player.template.commentInput.value,
color: utils.color2Number(this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value),
type: parseInt(this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value),
},
() => {
this.player.template.commentInput.value = '';
this.hide();
}
);
}
}
export default Comment;
export default Comment;

View File

@ -1,18 +1,23 @@
class ContextMenu {
constructor (player) {
constructor(player) {
this.player = player;
this.shown = false;
[...this.player.template.menuItem].map((item, index) => {
Array.prototype.slice.call(this.player.template.menuItem).forEach((item, index) => {
if (this.player.options.contextmenu[index].click) {
item.addEventListener('click', () => {
this.player.options.contextmenu[index].click(this.player);
this.hide();
});
}
return item;
});
this.player.container.addEventListener('contextmenu', (e) => {
this.contextmenuHandler = (e) => {
if (this.shown) {
this.hide();
return;
}
const event = e || window.event;
event.preventDefault();
@ -22,41 +27,46 @@ class ContextMenu {
this.player.template.mask.addEventListener('click', () => {
this.hide();
});
});
};
this.player.container.addEventListener('contextmenu', this.contextmenuHandler);
}
show (x, y) {
show(x, y) {
this.player.template.menu.classList.add('dplayer-menu-show');
const clientRect = this.player.container.getBoundingClientRect();
if (x + this.player.template.menu.offsetWidth >= clientRect.width) {
this.player.template.menu.style.right = clientRect.width - x + 'px';
this.player.template.menu.style.left = 'initial';
}
else {
} else {
this.player.template.menu.style.left = x + 'px';
this.player.template.menu.style.right = 'initial';
}
if (y + this.player.template.menu.offsetHeight >= clientRect.height) {
this.player.template.menu.style.bottom = clientRect.height - y + 'px';
this.player.template.menu.style.top = 'initial';
}
else {
} else {
this.player.template.menu.style.top = y + 'px';
this.player.template.menu.style.bottom = 'initial';
}
this.player.template.mask.classList.add('dplayer-mask-show');
this.shown = true;
this.player.events.trigger('contextmenu_show');
}
hide () {
hide() {
this.player.template.mask.classList.remove('dplayer-mask-show');
this.player.template.menu.classList.remove('dplayer-menu-show');
this.shown = false;
this.player.events.trigger('contextmenu_hide');
}
destroy() {
this.player.container.removeEventListener('contextmenu', this.contextmenuHandler);
}
}
export default ContextMenu;
export default ContextMenu;

View File

@ -2,24 +2,21 @@ import utils from './utils';
import Thumbnails from './thumbnails';
import Icons from './icons';
let cast;
let runOnce = true;
let isCasting = false;
class Controller {
constructor (player) {
constructor(player) {
this.player = player;
this.autoHideTimer = 0;
if (!utils.isMobile) {
this.player.container.addEventListener('mousemove', () => {
this.setAutoHide();
});
this.player.container.addEventListener('click', () => {
this.setAutoHide();
});
this.player.on('play', () => {
this.setAutoHide();
});
this.player.on('pause', () => {
this.setAutoHide();
});
this.setAutoHideHandler = this.setAutoHide.bind(this);
this.player.container.addEventListener('mousemove', this.setAutoHideHandler);
this.player.container.addEventListener('click', this.setAutoHideHandler);
this.player.on('play', this.setAutoHideHandler);
this.player.on('pause', this.setAutoHideHandler);
}
this.initPlayButton();
@ -28,26 +25,39 @@ class Controller {
this.initFullButton();
this.initQualityButton();
this.initScreenshotButton();
this.initSubtitleButton();
// if subtitle url not array, not init old single subtitle button
if (this.player.options.subtitle) {
if (typeof this.player.options.subtitle.url === 'string') {
this.initSubtitleButton();
}
}
this.initHighlights();
this.initAirplayButton();
this.initChromecastButton();
if (!utils.isMobile) {
this.initVolumeButton();
}
}
initPlayButton () {
initPlayButton() {
this.player.template.playButton.addEventListener('click', () => {
this.player.toggle();
});
this.player.template.mobilePlayButton.addEventListener('click', () => {
this.player.toggle();
});
if (!utils.isMobile) {
this.player.template.videoWrap.addEventListener('click', () => {
this.player.toggle();
});
this.player.template.controllerMask.addEventListener('click', () => {
this.player.toggle();
});
}
else {
if (!this.player.options.preventClickToggle) {
this.player.template.videoWrap.addEventListener('click', () => {
this.player.toggle();
});
this.player.template.controllerMask.addEventListener('click', () => {
this.player.toggle();
});
}
} else {
this.player.template.videoWrap.addEventListener('click', () => {
this.toggle();
});
@ -57,24 +67,47 @@ class Controller {
}
}
initThumbnails () {
initHighlights() {
this.player.on('durationchange', () => {
if (this.player.video.duration !== 1 && this.player.video.duration !== Infinity) {
if (this.player.options.highlight) {
const highlights = this.player.template.playedBarWrap.querySelectorAll('.dplayer-highlight');
[].slice.call(highlights, 0).forEach((item) => {
this.player.template.playedBarWrap.removeChild(item);
});
for (let i = 0; i < this.player.options.highlight.length; i++) {
if (!this.player.options.highlight[i].text || !this.player.options.highlight[i].time) {
continue;
}
const p = document.createElement('div');
p.classList.add('dplayer-highlight');
p.style.left = (this.player.options.highlight[i].time / this.player.video.duration) * 100 + '%';
p.innerHTML = '<span class="dplayer-highlight-text">' + this.player.options.highlight[i].text + '</span>';
this.player.template.playedBarWrap.insertBefore(p, this.player.template.playedBarTime);
}
}
}
});
}
initThumbnails() {
if (this.player.options.video.thumbnails) {
this.thumbnails = new Thumbnails({
container: this.player.template.barPreview,
barWidth: this.player.template.barWrap.offsetWidth,
url: this.player.options.video.thumbnails,
events: this.player.events
events: this.player.events,
});
this.player.on('loadedmetadata', () => {
this.thumbnails.resize(160, this.player.video.videoHeight / this.player.video.videoWidth * 160);
this.thumbnails.resize(160, (this.player.video.videoHeight / this.player.video.videoWidth) * 160, this.player.template.barWrap.offsetWidth);
});
}
}
initPlayedBar () {
initPlayedBar() {
const thumbMove = (e) => {
let percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getElementViewLeft(this.player.template.playedBarWrap)) / this.player.template.playedBarWrap.clientWidth;
let percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(this.player.template.playedBarWrap)) / this.player.template.playedBarWrap.clientWidth;
percentage = Math.max(percentage, 0);
percentage = Math.min(percentage, 1);
this.player.bar.set('played', percentage, 'width');
@ -84,23 +117,23 @@ class Controller {
const thumbUp = (e) => {
document.removeEventListener(utils.nameMap.dragEnd, thumbUp);
document.removeEventListener(utils.nameMap.dragMove, thumbMove);
let percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getElementViewLeft(this.player.template.playedBarWrap)) / this.player.template.playedBarWrap.clientWidth;
let percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(this.player.template.playedBarWrap)) / this.player.template.playedBarWrap.clientWidth;
percentage = Math.max(percentage, 0);
percentage = Math.min(percentage, 1);
this.player.bar.set('played', percentage, 'width');
this.player.seek(this.player.bar.get('played') * this.player.video.duration);
this.player.time.enable('progress');
this.player.moveBar = false;
};
this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragStart, () => {
this.player.time.disable('progress');
this.player.moveBar = true;
document.addEventListener(utils.nameMap.dragMove, thumbMove);
document.addEventListener(utils.nameMap.dragEnd, thumbUp);
});
this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragMove, (e) => {
if (this.player.video.duration) {
const px = utils.cumulativeOffset(this.player.template.playedBarWrap).left;
const px = this.player.template.playedBarWrap.getBoundingClientRect().left;
const tx = (e.clientX || e.changedTouches[0].clientX) - px;
if (tx < 0 || tx > this.player.template.playedBarWrap.offsetWidth) {
return;
@ -110,7 +143,7 @@ class Controller {
this.thumbnails && this.thumbnails.show();
}
this.thumbnails && this.thumbnails.move(tx);
this.player.template.playedBarTime.style.left = `${(tx - 20)}px`;
this.player.template.playedBarTime.style.left = `${tx - (time >= 3600 ? 25 : 20)}px`;
this.player.template.playedBarTime.innerText = utils.secondToTime(time);
this.player.template.playedBarTime.classList.remove('hidden');
}
@ -139,7 +172,7 @@ class Controller {
}
}
initFullButton () {
initFullButton() {
this.player.template.browserFullButton.addEventListener('click', () => {
this.player.fullScreen.toggle('browser');
});
@ -149,12 +182,12 @@ class Controller {
});
}
initVolumeButton () {
initVolumeButton() {
const vWidth = 35;
const volumeMove = (event) => {
const e = event || window.event;
const percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getElementViewLeft(this.player.template.volumeBarWrap) - 5.5) / vWidth;
const percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(this.player.template.volumeBarWrap) - 5.5) / vWidth;
this.player.volume(percentage);
};
const volumeUp = () => {
@ -165,7 +198,7 @@ class Controller {
this.player.template.volumeBarWrapWrap.addEventListener('click', (event) => {
const e = event || window.event;
const percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getElementViewLeft(this.player.template.volumeBarWrap) - 5.5) / vWidth;
const percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(this.player.template.volumeBarWrap) - 5.5) / vWidth;
this.player.volume(percentage);
});
this.player.template.volumeBarWrapWrap.addEventListener(utils.nameMap.dragStart, () => {
@ -173,13 +206,12 @@ class Controller {
document.addEventListener(utils.nameMap.dragEnd, volumeUp);
this.player.template.volumeButton.classList.add('dplayer-volume-active');
});
this.player.template.volumeIcon.addEventListener('click', () => {
this.player.template.volumeButtonIcon.addEventListener('click', () => {
if (this.player.video.muted) {
this.player.video.muted = false;
this.player.switchVolumeIcon();
this.player.bar.set('volume', this.player.volume(), 'width');
}
else {
} else {
this.player.video.muted = true;
this.player.template.volumeIcon.innerHTML = Icons.volumeOff;
this.player.bar.set('volume', 0, 'width');
@ -187,7 +219,7 @@ class Controller {
});
}
initQualityButton () {
initQualityButton() {
if (this.player.options.video.quality) {
this.player.template.qualityList.addEventListener('click', (e) => {
if (e.target.classList.contains('dplayer-quality-item')) {
@ -197,43 +229,158 @@ class Controller {
}
}
initScreenshotButton () {
initScreenshotButton() {
if (this.player.options.screenshot) {
this.player.template.camareButton.addEventListener('click', () => {
const canvas = document.createElement("canvas");
const canvas = document.createElement('canvas');
canvas.width = this.player.video.videoWidth;
canvas.height = this.player.video.videoHeight;
canvas.getContext('2d').drawImage(this.player.video, 0, 0, canvas.width, canvas.height);
const dataURL = canvas.toDataURL();
this.player.template.camareButton.href = dataURL;
this.player.template.camareButton.download = "DPlayer.png";
this.player.events.trigger('screenshot', dataURL);
let dataURL;
canvas.toBlob((blob) => {
dataURL = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = dataURL;
link.download = 'DPlayer.png';
link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(dataURL);
this.player.events.trigger('screenshot', dataURL);
});
});
}
}
initSubtitleButton () {
if (this.player.options.subtitle) {
this.player.events.on('subtitle_show', () => {
this.player.template.subtitleButton.dataset.balloon = this.player.tran('Hide subtitle');
this.player.template.subtitleButtonInner.style.opacity = '';
this.player.user.set('subtitle', 1);
});
this.player.events.on('subtitle_hide', () => {
this.player.template.subtitleButton.dataset.balloon = this.player.tran('Show subtitle');
this.player.template.subtitleButtonInner.style.opacity = '0.4';
this.player.user.set('subtitle', 0);
});
initAirplayButton() {
if (this.player.options.airplay) {
if (window.WebKitPlaybackTargetAvailabilityEvent) {
this.player.video.addEventListener(
'webkitplaybacktargetavailabilitychanged',
function (event) {
switch (event.availability) {
case 'available':
this.template.airplayButton.disable = false;
break;
this.player.template.subtitleButton.addEventListener('click', () => {
this.player.subtitle.toggle();
default:
this.template.airplayButton.disable = true;
}
this.template.airplayButton.addEventListener(
'click',
function () {
this.video.webkitShowPlaybackTargetPicker();
}.bind(this)
);
}.bind(this.player)
);
} else {
this.player.template.airplayButton.style.display = 'none';
}
}
}
initChromecast() {
const script = window.document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1');
window.document.body.appendChild(script);
window.__onGCastApiAvailable = (isAvailable) => {
if (isAvailable) {
cast = window.chrome.cast;
const sessionRequest = new cast.SessionRequest(cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
const apiConfig = new cast.ApiConfig(
sessionRequest,
() => {},
(status) => {
if (status === cast.ReceiverAvailability.AVAILABLE) {
console.log('chromecast: ', status);
}
}
);
cast.initialize(apiConfig, () => {});
}
};
}
initChromecastButton() {
if (this.player.options.chromecast) {
if (runOnce) {
runOnce = false;
this.initChromecast();
}
const discoverDevices = () => {
cast.requestSession(
(s) => {
this.session = s;
launchMedia(this.player.options.video.url);
},
(err) => {
if (err.code === 'cancel') {
this.session = undefined;
} else {
console.error('Error selecting a cast device', err);
}
}
);
};
const launchMedia = (media) => {
const mediaInfo = new cast.media.MediaInfo(media);
const request = new cast.media.LoadRequest(mediaInfo);
if (!this.session) {
window.open(media);
return false;
}
this.session.loadMedia(request, onMediaDiscovered.bind(this, 'loadMedia'), onMediaError).play();
return true;
};
const onMediaDiscovered = (how, media) => {
this.currentMedia = media;
};
const onMediaError = (err) => {
console.error('Error launching media', err);
};
this.player.template.chromecastButton.addEventListener('click', () => {
if (isCasting) {
isCasting = false;
this.currentMedia.stop();
this.session.stop();
this.initChromecast();
} else {
isCasting = true;
discoverDevices();
}
});
}
}
setAutoHide () {
initSubtitleButton() {
this.player.events.on('subtitle_show', () => {
this.player.template.subtitleButton.dataset.balloon = this.player.tran('hide-subs');
this.player.template.subtitleButtonInner.style.opacity = '';
this.player.user.set('subtitle', 1);
});
this.player.events.on('subtitle_hide', () => {
this.player.template.subtitleButton.dataset.balloon = this.player.tran('show-subs');
this.player.template.subtitleButtonInner.style.opacity = '0.4';
this.player.user.set('subtitle', 0);
});
this.player.template.subtitleButton.addEventListener('click', () => {
this.player.subtitle.toggle();
});
}
setAutoHide() {
this.show();
clearTimeout(this.autoHideTimer);
this.autoHideTimer = setTimeout(() => {
@ -243,32 +390,35 @@ class Controller {
}, 3000);
}
show () {
show() {
this.player.container.classList.remove('dplayer-hide-controller');
}
hide () {
hide() {
this.player.container.classList.add('dplayer-hide-controller');
this.player.setting.hide();
this.player.comment && this.player.comment.hide();
}
isShow () {
isShow() {
return !this.player.container.classList.contains('dplayer-hide-controller');
}
toggle () {
toggle() {
if (this.isShow()) {
this.hide();
}
else {
} else {
this.show();
}
}
destroy () {
destroy() {
if (!utils.isMobile) {
this.player.container.removeEventListener('mousemove', this.setAutoHideHandler);
this.player.container.removeEventListener('click', this.setAutoHideHandler);
}
clearTimeout(this.autoHideTimer);
}
}
export default Controller;
export default Controller;

View File

@ -1,11 +1,14 @@
import utils from './utils';
class Danmaku {
constructor (options) {
constructor(options) {
this.options = options;
this.player = this.options.player;
this.container = this.options.container;
this.danTunnel = {
right: {},
top: {},
bottom: {}
bottom: {},
};
this.danIndex = 0;
this.dan = [];
@ -18,13 +21,12 @@ class Danmaku {
this.load();
}
load () {
load() {
let apiurl;
if (this.options.api.maximum) {
apiurl = `${this.options.api.address}v2/?id=${this.options.api.id}&max=${this.options.api.maximum}`;
}
else {
apiurl = `${this.options.api.address}v2/?id=${this.options.api.id}`;
apiurl = `${this.options.api.address}v3/?id=${this.options.api.id}&max=${this.options.api.maximum}`;
} else {
apiurl = `${this.options.api.address}v3/?id=${this.options.api.id}`;
}
const endpoints = (this.options.api.addition || []).slice(0);
endpoints.push(apiurl);
@ -42,7 +44,7 @@ class Danmaku {
});
}
reload (newAPI) {
reload(newAPI) {
this.options.api = newAPI;
this.dan = [];
this.clear();
@ -50,58 +52,54 @@ class Danmaku {
}
/**
* Asynchronously read danmaku from all API endpoints
*/
_readAllEndpoints (endpoints, callback) {
* Asynchronously read danmaku from all API endpoints
*/
_readAllEndpoints(endpoints, callback) {
const results = [];
let readCount = 0;
const cbk = (i) => (err, data) => {
++readCount;
if (err) {
if (err.response) {
this.options.error(err.response.msg);
}
else {
this.options.error('Request was unsuccessful: ' + err.status);
}
results[i] = [];
}
else {
const typeMap = ['right', 'top', 'bottom'];
if (data) {
results[i] = data.map((item) => ({
time: item[0],
type: typeMap[item[1]],
color: item[2],
author: item[3],
text: item[4]
}));
}
else {
results[i] = [];
}
}
if (readCount === endpoints.length) {
return callback(results);
}
};
for (let i = 0; i < endpoints.length; ++i) {
this.options.apiBackend.read(endpoints[i], cbk(i));
this.options.apiBackend.read({
url: endpoints[i],
success: (data) => {
results[i] = data;
++readCount;
if (readCount === endpoints.length) {
callback(results);
}
},
error: (msg) => {
this.options.error(msg || this.options.tran('danmaku-failed'));
results[i] = [];
++readCount;
if (readCount === endpoints.length) {
callback(results);
}
},
});
}
}
send (dan, callback) {
send(dan, callback) {
const danmakuData = {
token: this.options.api.token,
player: this.options.api.id,
id: this.options.api.id,
author: this.options.api.user,
time: this.options.time(),
text: dan.text,
color: dan.color,
type: dan.type
type: dan.type,
};
this.options.apiBackend.send(this.options.api.address + 'v2/', danmakuData, callback);
this.options.apiBackend.send({
url: this.options.api.address + 'v3/',
data: danmakuData,
success: callback,
error: (msg) => {
this.options.error(msg || this.options.tran('danmaku-failed'));
},
});
this.dan.splice(this.danIndex, 0, danmakuData);
this.danIndex++;
@ -109,14 +107,14 @@ class Danmaku {
text: this.htmlEncode(danmakuData.text),
color: danmakuData.color,
type: danmakuData.type,
border: `2px solid ${this.options.borderColor}`
border: `2px solid ${this.options.borderColor}`,
};
this.draw(danmaku);
this.events && this.events.trigger('danmaku_send', danmakuData);
}
frame () {
frame() {
if (this.dan.length && !this.paused && this.showing) {
let item = this.dan[this.danIndex];
const dan = [];
@ -131,7 +129,7 @@ class Danmaku {
});
}
opacity (percentage) {
opacity(percentage) {
if (percentage !== undefined) {
const items = this.container.getElementsByClassName('dplayer-danmaku-item');
for (let i = 0; i < items.length; i++) {
@ -152,7 +150,7 @@ class Danmaku {
* color - danmaku color, default: `#fff`
* type - danmaku type, `right` `top` `bottom`, default: `right`
*/
draw (dan) {
draw(dan) {
if (this.showing) {
const itemHeight = this.options.height;
const danWidth = this.container.offsetWidth;
@ -189,8 +187,7 @@ class Danmaku {
return i % itemY;
}
}
}
else {
} else {
this.danTunnel[type][i + ''] = [ele];
ele.addEventListener('animationend', () => {
this.danTunnel[type][i + ''].splice(0, 1);
@ -208,23 +205,20 @@ class Danmaku {
const docFragment = document.createDocumentFragment();
for (let i = 0; i < dan.length; i++) {
if (!dan[i].type) {
dan[i].type = 'right';
}
dan[i].type = utils.number2Type(dan[i].type);
if (!dan[i].color) {
dan[i].color = '#fff';
dan[i].color = 16777215;
}
const item = document.createElement(`div`);
item.classList.add(`dplayer-danmaku-item`);
const item = document.createElement('div');
item.classList.add('dplayer-danmaku-item');
item.classList.add(`dplayer-danmaku-${dan[i].type}`);
if (dan[i].border) {
item.innerHTML = `<span style="border:${dan[i].border}">${dan[i].text}</span>`;
}
else {
} else {
item.innerHTML = dan[i].text;
}
item.style.opacity = this._opacity;
item.style.color = dan[i].color;
item.style.color = utils.number2Color(dan[i].color);
item.addEventListener('animationend', () => {
this.container.removeChild(item);
});
@ -234,33 +228,34 @@ class Danmaku {
// adjust
switch (dan[i].type) {
case 'right':
tunnel = getTunnel(item, dan[i].type, itemWidth);
if (tunnel >= 0) {
item.style.width = itemWidth + 1 + 'px';
item.style.top = itemHeight * tunnel + 'px';
item.style.transform = `translateX(-${danWidth}px)`;
}
break;
case 'top':
tunnel = getTunnel(item, dan[i].type);
if (tunnel >= 0) {
item.style.top = itemHeight * tunnel + 'px';
}
break;
case 'bottom':
tunnel = getTunnel(item, dan[i].type);
if (tunnel >= 0) {
item.style.bottom = itemHeight * tunnel + 'px';
}
break;
default:
console.error(`Can't handled danmaku type: ${dan[i].type}`);
case 'right':
tunnel = getTunnel(item, dan[i].type, itemWidth);
if (tunnel >= 0) {
item.style.width = itemWidth + 1 + 'px';
item.style.top = itemHeight * tunnel + 'px';
item.style.transform = `translateX(-${danWidth}px)`;
}
break;
case 'top':
tunnel = getTunnel(item, dan[i].type);
if (tunnel >= 0) {
item.style.top = itemHeight * tunnel + 'px';
}
break;
case 'bottom':
tunnel = getTunnel(item, dan[i].type);
if (tunnel >= 0) {
item.style.bottom = itemHeight * tunnel + 'px';
}
break;
default:
console.error(`Can't handled danmaku type: ${dan[i].type}`);
}
if (tunnel >= 0) {
// move
item.classList.add(`dplayer-danmaku-move`);
item.classList.add('dplayer-danmaku-move');
item.style.animationDuration = this._danAnimation(dan[i].type);
// insert
docFragment.appendChild(item);
@ -273,15 +268,15 @@ class Danmaku {
}
}
play () {
play() {
this.paused = false;
}
pause () {
pause() {
this.paused = true;
}
_measure (text) {
_measure(text) {
if (!this.context) {
const measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);
this.context = document.createElement('canvas').getContext('2d');
@ -290,7 +285,7 @@ class Danmaku {
return this.context.measureText(text).width;
}
seek () {
seek() {
this.clear();
for (let i = 0; i < this.dan.length; i++) {
if (this.dan[i].time >= this.options.time()) {
@ -301,11 +296,11 @@ class Danmaku {
}
}
clear () {
clear() {
this.danTunnel = {
right: {},
top: {},
bottom: {}
bottom: {},
};
this.danIndex = 0;
this.options.container.innerHTML = '';
@ -313,17 +308,11 @@ class Danmaku {
this.events && this.events.trigger('danmaku_clear');
}
htmlEncode (str) {
return str.
replace(/&/g, "&amp;").
replace(/</g, "&lt;").
replace(/>/g, "&gt;").
replace(/"/g, "&quot;").
replace(/'/g, "&#x27;").
replace(/\//g, "&#x2f;");
htmlEncode(str) {
return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\//g, '&#x2f;');
}
resize () {
resize() {
const danWidth = this.container.offsetWidth;
const items = this.container.getElementsByClassName('dplayer-danmaku-item');
for (let i = 0; i < items.length; i++) {
@ -331,7 +320,7 @@ class Danmaku {
}
}
hide () {
hide() {
this.showing = false;
this.pause();
this.clear();
@ -339,7 +328,7 @@ class Danmaku {
this.events && this.events.trigger('danmaku_hide');
}
show () {
show() {
this.seek();
this.showing = true;
this.play();
@ -347,9 +336,24 @@ class Danmaku {
this.events && this.events.trigger('danmaku_show');
}
unlimit (boolean) {
unlimit(boolean) {
this.unlimited = boolean;
}
speed(rate) {
this.options.api.speedRate = rate;
}
_danAnimation(position) {
const rate = this.options.api.speedRate || 1;
const isFullScreen = !!this.player.fullScreen.isFullScreen();
const animations = {
top: `${(isFullScreen ? 6 : 4) / rate}s`,
right: `${(isFullScreen ? 8 : 5) / rate}s`,
bottom: `${(isFullScreen ? 6 : 4) / rate}s`,
};
return animations[position];
}
}
export default Danmaku;

View File

@ -1,29 +1,61 @@
class Events {
constructor () {
constructor() {
this.events = {};
this.videoEvents = [
'abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'ended', 'error',
'loadeddata', 'loadedmetadata', 'loadstart', 'mozaudioavailable', 'pause', 'play',
'playing', 'progress', 'ratechange', 'seeked', 'seeking', 'stalled', 'suspend',
'timeupdate', 'volumechange', 'waiting'
'abort',
'canplay',
'canplaythrough',
'durationchange',
'emptied',
'ended',
'error',
'loadeddata',
'loadedmetadata',
'loadstart',
'mozaudioavailable',
'pause',
'play',
'playing',
'progress',
'ratechange',
'seeked',
'seeking',
'stalled',
'suspend',
'timeupdate',
'volumechange',
'waiting',
];
this.playerEvents = [
'screenshot',
'thumbnails_show', 'thumbnails_hide',
'danmaku_show', 'danmaku_hide', 'danmaku_clear', 'danmaku_loaded', 'danmaku_send',
'thumbnails_show',
'thumbnails_hide',
'danmaku_show',
'danmaku_hide',
'danmaku_clear',
'danmaku_loaded',
'danmaku_send',
'danmaku_opacity',
'contextmenu_show', 'contextmenu_hide',
'notice_show', 'notice_hide',
'quality_start', 'quality_end',
'contextmenu_show',
'contextmenu_hide',
'notice_show',
'notice_hide',
'quality_start',
'quality_end',
'destroy',
'resize',
'fullscreen', 'fullscreen_cancel', 'webfullscreen', 'webfullscreen_cancel',
'subtitle_show', 'subtitle_hide', 'subtitle_change'
'fullscreen',
'fullscreen_cancel',
'webfullscreen',
'webfullscreen_cancel',
'subtitle_show',
'subtitle_hide',
'subtitle_change',
];
}
on (name, callback) {
on(name, callback) {
if (this.type(name) && typeof callback === 'function') {
if (!this.events[name]) {
this.events[name] = [];
@ -32,7 +64,7 @@ class Events {
}
}
trigger (name, info) {
trigger(name, info) {
if (this.events[name] && this.events[name].length) {
for (let i = 0; i < this.events[name].length; i++) {
this.events[name][i](info);
@ -40,11 +72,10 @@ class Events {
}
}
type (name) {
type(name) {
if (this.playerEvents.indexOf(name) !== -1) {
return 'player';
}
else if (this.videoEvents.indexOf(name) !== -1) {
} else if (this.videoEvents.indexOf(name) !== -1) {
return 'video';
}

View File

@ -1,9 +1,9 @@
import utils from './utils';
class FullScreen {
constructor (player) {
constructor(player) {
this.player = player;
this.lastScrollPosition = { left: 0, top: 0 };
this.player.events.on('webfullscreen', () => {
this.player.resize();
});
@ -12,31 +12,49 @@ class FullScreen {
utils.setScrollPosition(this.lastScrollPosition);
});
const fullscreenchange = () => {
this.fullscreenchange = () => {
this.player.resize();
if (this.isFullScreen('browser')) {
this.player.events.trigger('fullscreen');
}
else {
} else {
utils.setScrollPosition(this.lastScrollPosition);
this.player.events.trigger('fullscreen_cancel');
}
};
this.player.container.addEventListener('fullscreenchange', fullscreenchange);
this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);
this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);
}
isFullScreen (type = 'browser') {
switch (type) {
case 'browser':
return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;
case 'web':
return this.player.container.classList.contains('dplayer-fulled');
this.docfullscreenchange = () => {
const fullEle = document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;
if (fullEle && fullEle !== this.player.container) {
return;
}
this.player.resize();
if (fullEle) {
this.player.events.trigger('fullscreen');
} else {
utils.setScrollPosition(this.lastScrollPosition);
this.player.events.trigger('fullscreen_cancel');
}
};
if (/Firefox/.test(navigator.userAgent)) {
document.addEventListener('mozfullscreenchange', this.docfullscreenchange);
document.addEventListener('fullscreenchange', this.docfullscreenchange);
} else {
this.player.container.addEventListener('fullscreenchange', this.fullscreenchange);
this.player.container.addEventListener('webkitfullscreenchange', this.fullscreenchange);
document.addEventListener('msfullscreenchange', this.docfullscreenchange);
document.addEventListener('MSFullscreenChange', this.docfullscreenchange);
}
}
request (type = 'browser') {
isFullScreen(type = 'browser') {
switch (type) {
case 'browser':
return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
case 'web':
return this.player.container.classList.contains('dplayer-fulled');
}
}
request(type = 'browser') {
const anotherType = type === 'browser' ? 'web' : 'browser';
const anotherTypeOn = this.isFullScreen(anotherType);
if (!anotherTypeOn) {
@ -44,25 +62,27 @@ class FullScreen {
}
switch (type) {
case 'browser':
if (this.player.container.requestFullscreen) {
this.player.container.requestFullscreen();
}
else if (this.player.container.mozRequestFullScreen) {
this.player.container.mozRequestFullScreen();
}
else if (this.player.container.webkitRequestFullscreen) {
this.player.container.webkitRequestFullscreen();
}
else if (this.player.video.webkitEnterFullscreen) { // Safari for iOS
this.player.video.webkitEnterFullscreen();
}
break;
case 'web':
this.player.container.classList.add('dplayer-fulled');
document.body.classList.add('dplayer-web-fullscreen-fix');
this.player.events.trigger('webfullscreen');
break;
case 'browser':
if (this.player.container.requestFullscreen) {
this.player.container.requestFullscreen();
} else if (this.player.container.mozRequestFullScreen) {
this.player.container.mozRequestFullScreen();
} else if (this.player.container.webkitRequestFullscreen) {
this.player.container.webkitRequestFullscreen();
} else if (this.player.video.webkitEnterFullscreen) {
// Safari for iOS
this.player.video.webkitEnterFullscreen();
} else if (this.player.video.webkitEnterFullScreen) {
this.player.video.webkitEnterFullScreen();
} else if (this.player.container.msRequestFullscreen) {
this.player.container.msRequestFullscreen();
}
break;
case 'web':
this.player.container.classList.add('dplayer-fulled');
document.body.classList.add('dplayer-web-fullscreen-fix');
this.player.events.trigger('webfullscreen');
break;
}
if (anotherTypeOn) {
@ -70,35 +90,50 @@ class FullScreen {
}
}
cancel (type = 'browser') {
cancel(type = 'browser') {
switch (type) {
case 'browser':
if (document.cancelFullScreen) {
document.cancelFullScreen();
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
break;
case 'web':
this.player.container.classList.remove('dplayer-fulled');
document.body.classList.remove('dplayer-web-fullscreen-fix');
this.player.events.trigger('webfullscreen_cancel');
break;
case 'browser':
if (document.cancelFullScreen) {
document.cancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.webkitCancelFullscreen) {
document.webkitCancelFullscreen();
} else if (document.msCancelFullScreen) {
document.msCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
break;
case 'web':
this.player.container.classList.remove('dplayer-fulled');
document.body.classList.remove('dplayer-web-fullscreen-fix');
this.player.events.trigger('webfullscreen_cancel');
break;
}
}
toggle (type = 'browser') {
toggle(type = 'browser') {
if (this.isFullScreen(type)) {
this.cancel(type);
}
else {
} else {
this.request(type);
}
}
destroy() {
if (/Firefox/.test(navigator.userAgent)) {
document.removeEventListener('mozfullscreenchange', this.docfullscreenchange);
document.removeEventListener('fullscreenchange', this.docfullscreenchange);
} else {
this.player.container.removeEventListener('fullscreenchange', this.fullscreenchange);
this.player.container.removeEventListener('webkitfullscreenchange', this.fullscreenchange);
document.removeEventListener('msfullscreenchange', this.docfullscreenchange);
document.removeEventListener('MSFullscreenChange', this.docfullscreenchange);
}
}
}
export default FullScreen;

View File

@ -1,55 +1,75 @@
class HotKey {
constructor (player) {
if (player.options.hotkey) {
document.addEventListener('keydown', (e) => {
if (player.focus) {
const tag = document.activeElement.tagName.toUpperCase();
const editable = document.activeElement.getAttribute('contenteditable');
if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {
const event = e || window.event;
let percentage;
switch (event.keyCode) {
case 32:
event.preventDefault();
player.toggle();
break;
case 37:
event.preventDefault();
player.seek(player.video.currentTime - 5);
player.controller.setAutoHide();
break;
case 39:
event.preventDefault();
player.seek(player.video.currentTime + 5);
player.controller.setAutoHide();
break;
case 38:
event.preventDefault();
percentage = player.volume() + 0.1;
player.volume(percentage);
break;
case 40:
event.preventDefault();
percentage = player.volume() - 0.1;
player.volume(percentage);
break;
}
}
}
});
constructor(player) {
this.player = player;
this.doHotKeyHandler = this.doHotKey.bind(this);
this.cancelFullScreenHandler = this.cancelFullScreen.bind(this);
if (this.player.options.hotkey) {
document.addEventListener('keydown', this.doHotKeyHandler);
}
document.addEventListener('keydown', (e) => {
const event = e || window.event;
switch (event.keyCode) {
document.addEventListener('keydown', this.cancelFullScreenHandler);
}
doHotKey(e) {
if (this.player.focus) {
const tag = document.activeElement.tagName.toUpperCase();
const editable = document.activeElement.getAttribute('contenteditable');
if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {
const event = e || window.event;
let percentage;
switch (event.keyCode) {
case 32:
event.preventDefault();
this.player.toggle();
break;
case 37:
event.preventDefault();
if (this.player.options.live) {
break;
}
this.player.seek(this.player.video.currentTime - 5);
this.player.controller.setAutoHide();
break;
case 39:
event.preventDefault();
if (this.player.options.live) {
break;
}
this.player.seek(this.player.video.currentTime + 5);
this.player.controller.setAutoHide();
break;
case 38:
event.preventDefault();
percentage = this.player.volume() + 0.1;
this.player.volume(percentage);
break;
case 40:
event.preventDefault();
percentage = this.player.volume() - 0.1;
this.player.volume(percentage);
break;
}
}
}
}
cancelFullScreen(e) {
const event = e || window.event;
switch (event.keyCode) {
case 27:
if (player.fullScreen.isFullScreen('web')) {
player.fullScreen.cancel('web');
if (this.player.fullScreen.isFullScreen('web')) {
this.player.fullScreen.cancel('web');
}
break;
}
});
}
}
destroy() {
if (this.player.options.hotkey) {
document.removeEventListener('keydown', this.doHotKeyHandler);
}
document.removeEventListener('keydown', this.cancelFullScreenHandler);
}
}
export default HotKey;
export default HotKey;

View File

@ -7,94 +7,360 @@ W3C def language codes is :
NOTE: use lowercase to prevent case typo from user!
Use this as shown below..... */
function i18n (lang) {
function i18n(lang) {
this.lang = lang;
this.tran = (text) => {
if (tranTxt[this.lang] && tranTxt[this.lang][text]) {
return tranTxt[this.lang][text];
}
else {
return text;
// in case someone says en-us, and en is present!
this.fallbackLang = this.lang.includes('-') ? this.lang.split('-')[0] : this.lang;
this.tran = (key) => {
key = key.toLowerCase();
if (tranTxt[this.lang] && tranTxt[this.lang][key]) {
return tranTxt[this.lang][key];
} else if (tranTxt[this.fallbackLang] && tranTxt[this.fallbackLang][key]) {
return tranTxt[this.fallbackLang][key];
} else if (standard[key]) {
return standard[key];
} else {
return key;
}
};
}
// add translation text here
const tranTxt = {
"zh-cn" : {
'Danmaku is loading': '弹幕加载中',
'Top': '顶部',
'Bottom': '底部',
'Rolling': '滚动',
'Input danmaku, hit Enter': '输入弹幕,回车发送',
'About author': '关于作者',
'DPlayer feedback': '播放器意见反馈',
'About DPlayer': '关于 DPlayer 播放器',
'Loop': '洗脑循环',
'Speed': '速度',
'Opacity for danmaku': '弹幕透明度',
'Normal': '正常',
'Please input danmaku content!': '要输入弹幕内容啊喂!',
'Set danmaku color': '设置弹幕颜色',
'Set danmaku type': '设置弹幕类型',
'Show danmaku': '显示弹幕',
'This video fails to load': '视频加载失败',
'Switching to': '正在切换至',
'Switched to': '已经切换至',
'quality': '画质',
'FF': '快进',
'REW': '快退',
'Unlimited danmaku': '海量弹幕',
'Send danmaku': '发送弹幕',
'Setting': '设置',
'Full screen': '全屏',
'Web full screen': '页面全屏',
'Send': '发送',
'Screenshot': '截图',
's': '秒',
'Show subtitle': '显示字幕',
'Hide subtitle': '隐藏字幕',
'Volume': '音量',
'Live': '直播',
'Video info': '视频统计信息',
},
"zh-tw" : {
'Danmaku is loading': '彈幕加載中',
'Top': '頂部',
'Bottom': '底部',
'Rolling': '滾動',
'Input danmaku, hit Enter': '輸入彈幕Enter 發送',
'About author': '關於作者',
'DPlayer feedback': '播放器意見反饋',
'About DPlayer': '關於 DPlayer 播放器',
'Loop': '循環播放',
'Speed': '速度',
'Opacity for danmaku': '彈幕透明度',
'Normal': '正常',
'Please input danmaku content!': '請輸入彈幕内容啊!',
'Set danmaku color': '設置彈幕顏色',
'Set danmaku type': '設置彈幕類型',
'Show danmaku': '顯示彈幕',
'This video fails to load': '視頻加載失敗',
'Switching to': '正在切換至',
'Switched to': '已經切換至',
'quality': '畫質',
'FF': '快進',
'REW': '快退',
'Unlimited danmaku': '海量彈幕',
'Send danmaku': '發送彈幕',
'Setting': '設置',
'Full screen': '全屏',
'Web full screen': '頁面全屏',
'Send': '發送',
'Screenshot': '截圖',
's': '秒',
'Show subtitle': '顯示字幕',
'Hide subtitle': '隱藏字幕',
'Volume': '音量',
'Live': '直播',
'Video info': '視頻統計信息',
}
// abstract model for recognizing if valid translations are present
// const model = {
// 'danmaku-loading': [],
// top: [],
// bottom: [],
// rolling: [],
// 'input-danmaku-enter': [],
// 'about-author': [],
// 'dplayer-feedback': [],
// 'about-dplayer': [],
// loop: [],
// speed: [],
// 'opacity-danmaku': [],
// normal: [],
// 'please-input-danmaku': [],
// 'set-danmaku-color': [],
// 'set-danmaku-type': [],
// 'show-danmaku': [],
// 'video-failed': [],
// 'danmaku-failed': [],
// 'danmaku-send-failed': [],
// 'switching-quality': [{ symbol: '%q', name: 'Quality', example: '720p' }],
// 'switched-quality': [{ symbol: '%q', name: 'Quality', example: '720p' }],
// ff: [{ symbol: '%s', name: 'Seconds', example: '5' }],
// rew: [{ symbol: '%s', name: 'Seconds', example: '5' }],
// 'unlimited-danmaku': [],
// 'send-danmaku': [],
// setting: [],
// fullscreen: [],
// 'web-fullscreen': [],
// send: [],
// screenshot: [],
// airplay: [],
// chromecast: [],
// 'show-subs': [],
// 'hide-subs': [],
// volume: [],
// live: [],
// 'video-info': [],
// };
// Standard english translations
const standard = {
'danmaku-loading': 'Danmaku is loading',
top: 'Top',
bottom: 'Bottom',
rolling: 'Rolling',
'input-danmaku-enter': 'Input danmaku, hit Enter',
'about-author': 'About author',
'dplayer-feedback': 'DPlayer feedback',
'about-dplayer': 'About DPlayer',
loop: 'Loop',
speed: 'Speed',
'opacity-danmaku': 'Opacity for danmaku',
normal: 'Normal',
'please-input-danmaku': 'Please input danmaku content!',
'set-danmaku-color': 'Set danmaku color',
'set-danmaku-type': 'Set danmaku type',
'show-danmaku': 'Show danmaku',
'video-failed': 'Video load failed',
'danmaku-failed': 'Danmaku load failed',
'danmaku-send-failed': 'Danmaku send failed',
'switching-quality': 'Switching to %q quality',
'switched-quality': 'Switched to %q quality',
ff: 'FF %s s',
rew: 'REW %s s',
'unlimited-danmaku': 'Unlimited danmaku',
'send-danmaku': 'Send danmaku',
setting: 'Setting',
fullscreen: 'Full screen',
'web-fullscreen': 'Web full screen',
send: 'Send',
screenshot: 'Screenshot',
airplay: 'AirPlay',
chromecast: 'ChromeCast',
subtitle: 'Subtitle',
off: 'Off',
'show-subs': 'Show subtitle',
'hide-subs': 'Hide subtitle',
volume: 'Volume',
live: 'Live',
'video-info': 'Video info',
};
export default i18n;
// add translation text here
const tranTxt = {
en: standard,
'zh-cn': {
'danmaku-loading': '弹幕加载中',
top: '顶部',
bottom: '底部',
rolling: '滚动',
'input-danmaku-enter': '输入弹幕,回车发送',
'about-author': '关于作者',
'dplayer-feedback': '播放器意见反馈',
'about-dplayer': '关于 DPlayer 播放器',
loop: '洗脑循环',
speed: '速度',
'opacity-danmaku': '弹幕透明度',
normal: '正常',
'please-input-danmaku': '要输入弹幕内容啊喂!',
'set-danmaku-color': '设置弹幕颜色',
'set-danmaku-type': '设置弹幕类型',
'show-danmaku': '显示弹幕',
'video-failed': '视频加载失败',
'danmaku-failed': '弹幕加载失败',
'danmaku-send-failed': '弹幕发送失败',
'switching-quality': '正在切换至 %q 画质',
'switched-quality': '已经切换至 %q 画质',
ff: '快进 %s 秒',
rew: '快退 %s 秒',
'unlimited-danmaku': '海量弹幕',
'send-danmaku': '发送弹幕',
setting: '设置',
fullscreen: '全屏',
'web-fullscreen': '页面全屏',
send: '发送',
screenshot: '截图',
airplay: '无线投屏',
chromecast: 'ChromeCast',
subtitle: '字幕',
off: '关闭',
'show-subs': '显示字幕',
'hide-subs': '隐藏字幕',
volume: '音量',
live: '直播',
'video-info': '视频统计信息',
},
'zh-tw': {
'danmaku-loading': '彈幕載入中',
top: '頂部',
bottom: '底部',
rolling: '滾動',
'input-danmaku-enter': '輸入彈幕Enter 發送',
'about-author': '關於作者',
'dplayer-feedback': '播放器意見回饋',
'about-dplayer': '關於 DPlayer 播放器',
loop: '循環播放',
speed: '速度',
'opacity-danmaku': '彈幕透明度',
normal: '正常',
'please-input-danmaku': '請輸入彈幕內容啊!',
'set-danmaku-color': '設定彈幕顏色',
'set-danmaku-type': '設定彈幕類型',
'show-danmaku': '顯示彈幕',
'video-failed': '影片載入失敗',
'danmaku-failed': '彈幕載入失敗',
'danmaku-send-failed': '彈幕發送失敗',
'switching-quality': '正在切換至 %q 畫質',
'switched-quality': '已經切換至 %q 畫質',
ff: '快進 %s 秒',
rew: '快退 %s 秒',
'unlimited-danmaku': '巨量彈幕',
'send-danmaku': '發送彈幕',
setting: '設定',
fullscreen: '全螢幕',
'web-fullscreen': '頁面全螢幕',
send: '發送',
screenshot: '截圖',
airplay: '無線投屏',
chromecast: 'ChromeCast',
subtitle: '字幕',
off: '關閉',
'show-subs': '顯示字幕',
'hide-subs': '隱藏字幕',
volume: '音量',
live: '直播',
'video-info': '影片統計訊息',
},
'ko-kr': {
'danmaku-loading': 'Danmaku를 불러오는 중입니다.',
top: 'Top',
bottom: 'Bottom',
rolling: 'Rolling',
'input-danmaku-enter': 'Danmaku를 입력하고 Enter를 누르세요.',
'about-author': '만든이',
'dplayer-feedback': '피드백 보내기',
'about-dplayer': 'DPlayer 정보',
loop: '반복',
speed: '배속',
'opacity-danmaku': 'Danmaku 불투명도',
normal: '표준',
'please-input-danmaku': 'Danmaku를 입력하세요!',
'set-danmaku-color': 'Danmaku 색상',
'set-danmaku-type': 'Danmaku 설정',
'show-danmaku': 'Danmaku 표시',
'video-failed': '비디오를 불러오지 못했습니다.',
'danmaku-failed': 'Danmaku를 불러오지 못했습니다.',
'danmaku-send-failed': 'Danmaku 전송에 실패했습니다.',
'Switching to': '',
'Switched to': '',
'switching-quality': '전환 %q 화질',
'switched-quality': '전환 됨 %q 화질',
ff: '앞으로 %s 초',
rew: '뒤로 %s 초',
'unlimited-danmaku': '끝없는 Danmaku',
'send-danmaku': 'Danmaku 보내기',
setting: '설정',
fullscreen: '전체 화면',
'web-fullscreen': '웹 내 전체화면',
send: '보내기',
screenshot: '화면 캡쳐',
airplay: '에어플레이',
chromecast: 'ChromeCast',
subtitle: '부제',
off: '끄다',
'show-subs': '자막 보이기',
'hide-subs': '자막 숨기기',
Volume: '볼륨',
live: '생방송',
'video-info': '비디오 정보',
},
de: {
'danmaku-loading': 'Danmaku lädt...',
top: 'Oben',
bottom: 'Unten',
rolling: 'Rollend',
'input-danmaku-enter': 'Drücke Enter nach dem Einfügen vom Danmaku',
'about-author': 'Über den Autor',
'dplayer-feedback': 'DPlayer Feedback',
'about-dplayer': 'Über DPlayer',
loop: 'Wiederholen',
speed: 'Geschwindigkeit',
'opacity-danmaku': 'Transparenz für Danmaku',
normal: 'Normal',
'please-input-danmaku': 'Bitte Danmaku Inhalt eingeben!',
'set-danmaku-color': 'Danmaku Farbe festlegen',
'set-danmaku-type': 'Danmaku Typ festlegen',
'show-danmaku': 'Zeige Danmaku',
'video-failed': 'Das Video konnte nicht geladen werden',
'danmaku-failed': 'Danmaku konnte nicht geladen werden',
'danmaku-send-failed': 'Das senden von Danmaku ist fehgeschlagen',
'switching-quality': 'Wechsle zur %q Qualität',
'switched-quality': 'Zur %q Qualität gewechselt',
ff: '%s s Vorwärts',
rew: '%s s Zurück',
'unlimited-danmaku': 'Unlimitiertes Danmaku',
'send-danmaku': 'Sende Danmaku',
setting: 'Einstellungen',
fullscreen: 'Vollbild',
'web-fullscreen': 'Browser Vollbild',
send: 'Senden',
screenshot: 'Screenshot',
airplay: 'AirPlay',
'show-subs': 'Zeige Untertitel',
chromecast: 'ChromeCast',
subtitle: 'Untertitel',
off: 'Schließung',
'hide-subs': 'Verstecke Untertitel',
volume: 'Lautstärke',
live: 'Live',
'video-info': 'Video Info',
},
"ja":{
'danmaku-loading':'コメントを読み込んでいます',
top:'トップ',
bottom:'ボトム',
rolling:'スクロール',
'input-danmaku-enter':'コメントを入力しEnter で送信',
'about-author':'作者について',
'dplayer-feedback':'DPlayer についての意見・要望',
'about-dplayer':'DPlayer について',
loop:'くり返し',
speed:'再生速度',
'opacity-danmaku':'コメントの透明度',
normal:'通常',
'please-input-danmaku':'コメントを入力してください!',
'set-danmaku-color':'コメントの色',
'set-danmaku-type':'コメントの種類',
'show-danmaku':'コメント表示',
'video-failed':'ビデオの読み込みに失敗',
'danmaku-failed':'コメントの読み込みに失敗',
'danmaku-send-failed':'コメントの送信に失敗',
'switching-quality':'%qへ切り替え中',
'switched-quality':'%qへ切り替え完了',
quality:'へ',
ff:'%s 秒早送り',
rew:'%s 秒早戻し',
'unlimited-danmaku':'コメント無制限',
'send-danmaku':'コメント送信',
setting:'設定',
fullscreen:'全画面表示',
'web-fullscreen':'ブラウザ全体表示',
send:'送信',
screenshot:'画面コピー',
airplay:'AirPlay',
'show-subs':'字幕表示',
chromecast: 'ChromeCast',
subtitle: '字幕',
off: 'OFF',
'hide-subs':'字幕非表示',
volume:'音量',
live:'ライブ',
'video-info':'動画情報'
},
'ru': {
'danmaku-loading': 'Загрузка комментариев',
top: 'Вверху',
bottom: 'Внизу',
rolling: 'Лента',
'input-danmaku-enter': 'Введите комментарий, нажмите Enter',
'about-author': 'Об авторе',
'dplayer-feedback': 'Обратная связь',
'about-dplayer': 'О плеере',
loop: 'Закольцевать',
speed: 'Скорость',
'opacity-danmaku': 'Прозрачность',
normal: 'Обычный',
'please-input-danmaku': 'Пожалуйста, введите комментарий!',
'set-danmaku-color': 'Цвет комментария',
'set-danmaku-type': 'Тип комментария',
'show-danmaku': 'Показать комментарии',
'video-failed': 'Ошибка загрузки видео',
'danmaku-failed': 'Ошибка загрузки комментариев',
'danmaku-send-failed': 'Ошибка отправки комментария',
'switching-quality': 'Переключение качества на: %q',
'switched-quality': 'Установлено качество: %q',
ff: 'Вперёд: %s с',
rew: 'Назад: %s с',
'unlimited-danmaku': 'Без ограничений',
'send-danmaku': 'Отправить комментарий',
setting: 'Настройки',
fullscreen: 'На весь экран',
'web-fullscreen': 'На весь Web экран',
send: 'Отправить',
screenshot: 'Скриншот',
airplay: 'AirPlay',
chromecast: 'ChromeCast',
subtitle: 'Комментарий',
off: 'Выкл',
'show-subs': 'Показать комментарии',
'hide-subs': 'Скрыть комментарии',
volume: 'Громкость',
live: 'Живые комментарии',
'video-info': 'Информация о видео',
},
};
export { i18n };

View File

@ -12,8 +12,10 @@ import commentOff from '../assets/comment-off.svg';
import send from '../assets/send.svg';
import pallette from '../assets/pallette.svg';
import camera from '../assets/camera.svg';
import airplay from '../assets/airplay.svg';
import subtitle from '../assets/subtitle.svg';
import loading from '../assets/loading.svg';
import chromecast from '../assets/chromecast.svg';
const Icons = {
play: play,
@ -32,6 +34,8 @@ const Icons = {
camera: camera,
subtitle: subtitle,
loading: loading,
airplay: airplay,
chromecast: chromecast,
};
export default Icons;

View File

@ -1,7 +1,7 @@
import '../css/index.scss';
import '../css/index.less';
import DPlayer from './player';
/* global DPLAYER_VERSION GIT_HASH */
console.log(`${'\n'} %c DPlayer v${DPLAYER_VERSION} ${GIT_HASH} %c http://dplayer.js.org ${'\n'}${'\n'}`, 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');
console.log(`${'\n'} %c DPlayer v${DPLAYER_VERSION} ${GIT_HASH} %c https://dplayer.diygod.dev ${'\n'}${'\n'}`, 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');
export default DPlayer;
export default DPlayer;

View File

@ -1,7 +1,7 @@
/* global DPLAYER_VERSION GIT_HASH */
class InfoPanel {
constructor (player) {
constructor(player) {
this.container = player.template.infoPanel;
this.template = player.template;
this.video = player.video;
@ -12,30 +12,29 @@ class InfoPanel {
});
}
show () {
show() {
this.beginTime = Date.now();
this.update();
this.player.time.enable('info');
this.player.time.enable('fps');
this.player.timer.enable('info');
this.player.timer.enable('fps');
this.container.classList.remove('dplayer-info-panel-hide');
}
hide () {
this.player.time.disable('info');
this.player.time.disable('fps');
hide() {
this.player.timer.disable('info');
this.player.timer.disable('fps');
this.container.classList.add('dplayer-info-panel-hide');
}
triggle () {
triggle() {
if (this.container.classList.contains('dplayer-info-panel-hide')) {
this.show();
}
else {
} else {
this.hide();
}
}
update () {
update() {
this.template.infoVersion.innerHTML = `v${DPLAYER_VERSION} ${GIT_HASH}`;
this.template.infoType.innerHTML = this.player.type;
this.template.infoUrl.innerHTML = this.player.options.video.url;
@ -48,9 +47,9 @@ class InfoPanel {
}
}
fps (value) {
fps(value) {
this.template.infoFPS.innerHTML = `${value.toFixed(1)}`;
}
}
export default InfoPanel;
export default InfoPanel;

View File

@ -2,7 +2,6 @@
import defaultApiBackend from './api.js';
export default (options) => {
// default options
const defaultOption = {
container: options.element || document.getElementsByClassName('dplayer')[0],
@ -12,13 +11,18 @@ export default (options) => {
loop: false,
lang: (navigator.language || navigator.browserLanguage).toLowerCase(),
screenshot: false,
airplay: true,
chromecast: false,
hotkey: true,
preload: 'auto',
preload: 'metadata',
volume: 0.7,
playbackSpeed: [0.5, 0.75, 1, 1.25, 1.5, 2],
apiBackend: defaultApiBackend,
video: {},
contextmenu: [],
mutex: true
mutex: true,
pluginOptions: { hls: {}, flv: {}, dash: {}, webtorrent: {} },
preventClickToggle: false,
};
for (const defaultKey in defaultOption) {
if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {
@ -39,9 +43,7 @@ export default (options) => {
}
if (options.video.quality) {
options.video.url = [
options.video.quality[options.video.defaultQuality].url
];
options.video.url = options.video.quality[options.video.defaultQuality].url;
}
if (options.lang) {
@ -50,19 +52,19 @@ export default (options) => {
options.contextmenu = options.contextmenu.concat([
{
text: 'Video info',
key: 'video-info',
click: (player) => {
player.infoPanel.triggle();
}
},
},
{
text: 'About author',
link: 'https://diygod.me'
key: 'about-author',
link: 'https://diygod.me',
},
{
text: `DPlayer v${DPLAYER_VERSION}`,
link: 'https://github.com/MoePlayer/DPlayer'
}
link: 'https://github.com/MoePlayer/DPlayer',
},
]);
return options;

View File

@ -2,7 +2,7 @@ import Promise from 'promise-polyfill';
import utils from './utils';
import handleOption from './options';
import i18n from './i18n';
import { i18n } from './i18n';
import Template from './template';
import Icons from './icons';
import Danmaku from './danmaku';
@ -10,8 +10,9 @@ import Events from './events';
import FullScreen from './fullscreen';
import User from './user';
import Subtitle from './subtitle';
import Subtitles from './subtitles';
import Bar from './bar';
import Time from './time';
import Timer from './timer';
import Bezel from './bezel';
import Controller from './controller';
import Setting from './setting';
@ -25,15 +26,14 @@ let index = 0;
const instances = [];
class DPlayer {
/**
* DPlayer constructor function
*
* @param {Object} options - See README
* @constructor
*/
constructor (options) {
this.options = handleOption(options);
constructor(options) {
this.options = handleOption({ preload: options.video.type === 'webtorrent' ? 'none' : 'metadata', ...options });
if (this.options.video.quality) {
this.qualityIndex = this.options.video.defaultQuality;
@ -43,6 +43,7 @@ class DPlayer {
this.events = new Events();
this.user = new User(this);
this.container = this.options.container;
this.noticeList = {};
this.container.classList.add('dplayer');
if (!this.options.danmaku) {
@ -50,6 +51,8 @@ class DPlayer {
}
if (this.options.live) {
this.container.classList.add('dplayer-live');
} else {
this.container.classList.remove('dplayer-live');
}
if (utils.isMobile) {
this.container.classList.add('dplayer-mobile');
@ -59,6 +62,43 @@ class DPlayer {
this.container.classList.add('dplayer-arrow');
}
// multi subtitles defaultSubtitle add index, off option
if (this.options.subtitle) {
if (Array.isArray(this.options.subtitle.url)) {
const offSubtitle = {
subtitle: '',
lang: 'off',
};
this.options.subtitle.url.push(offSubtitle);
if (this.options.subtitle.defaultSubtitle) {
if (typeof this.options.subtitle.defaultSubtitle === 'string') {
// defaultSubtitle is string, match in lang then name.
this.options.subtitle.index = this.options.subtitle.url.findIndex((sub) =>
/* if (sub.lang === this.options.subtitle.defaultSubtitle) {
return true;
} else if (sub.name === this.options.subtitle.defaultSubtitle) {
return true;
} else {
return false;
} */
sub.lang === this.options.subtitle.defaultSubtitle ? true : sub.name === this.options.subtitle.defaultSubtitle ? true : false
);
} else if (typeof this.options.subtitle.defaultSubtitle === 'number') {
// defaultSubtitle is int, directly use for index
this.options.subtitle.index = this.options.subtitle.defaultSubtitle;
}
}
// defaultSubtitle not match or not exist or index bound(when defaultSubtitle is int), try browser language.
if (this.options.subtitle.index === -1 || !this.options.subtitle.index || this.options.subtitle.index > this.options.subtitle.url.length - 1) {
this.options.subtitle.index = this.options.subtitle.url.findIndex((sub) => sub.lang === this.options.lang);
}
// browser language not match, default off title
if (this.options.subtitle.index === -1) {
this.options.subtitle.index = this.options.subtitle.url.length - 1;
}
}
}
this.template = new Template({
container: this.container,
options: this.options,
@ -78,6 +118,7 @@ class DPlayer {
if (this.options.danmaku) {
this.danmaku = new Danmaku({
player: this,
container: this.template.danmaku,
opacity: this.user.get('opacity'),
callback: () => {
@ -105,31 +146,35 @@ class DPlayer {
maximum: this.options.danmaku.maximum,
addition: this.options.danmaku.addition,
user: this.options.danmaku.user,
speedRate: this.options.danmaku.speedRate,
},
events: this.events
events: this.events,
tran: (msg) => this.tran(msg),
});
this.comment = new Comment(this);
}
this.setting = new Setting(this);
document.addEventListener('click', () => {
this.plugins = {};
this.docClickFun = () => {
this.focus = false;
}, true);
this.container.addEventListener('click', () => {
};
this.containerClickFun = () => {
this.focus = true;
}, true);
};
document.addEventListener('click', this.docClickFun, true);
this.container.addEventListener('click', this.containerClickFun, true);
this.paused = true;
this.time = new Time(this);
this.timer = new Timer(this);
this.hotkey = new HotKey(this);
this.contextmenu = new ContextMenu(this);
this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);
this.initVideo(this.video, (this.quality && this.quality.type) || this.options.video.type);
this.infoPanel = new InfoPanel(this);
@ -137,23 +182,24 @@ class DPlayer {
this.play();
}
this.moveBar = false;
index++;
instances.push(this);
}
/**
* Seek video
*/
seek (time) {
* Seek video
*/
seek(time) {
time = Math.max(time, 0);
if (this.video.duration) {
time = Math.min(time, this.video.duration);
}
if (this.video.currentTime < time) {
this.notice(`${this.tran('FF')} ${(time - this.video.currentTime).toFixed(0)} ${this.tran('s')}`);
}
else if (this.video.currentTime > time) {
this.notice(`${this.tran('REW')} ${(this.video.currentTime - time).toFixed(0)} ${this.tran('s')}`);
this.notice(`${this.tran('ff').replace('%s', (time - this.video.currentTime).toFixed(0))}`);
} else if (this.video.currentTime > time) {
this.notice(`${this.tran('rew').replace('%s', (this.video.currentTime - time).toFixed(0))}`);
}
this.video.currentTime = time;
@ -163,26 +209,30 @@ class DPlayer {
}
this.bar.set('played', time / this.video.duration, 'width');
this.template.ptime.innerHTML = utils.secondToTime(time);
}
/**
* Play video
*/
play () {
play(fromNative) {
this.paused = false;
if (this.video.paused) {
if (this.video.paused && !utils.isMobile) {
this.bezel.switch(Icons.play);
}
this.template.playButton.innerHTML = Icons.pause;
this.template.mobilePlayButton.innerHTML = Icons.pause;
const playedPromise = Promise.resolve(this.video.play());
playedPromise.catch(() => {
this.pause();
}).then(() => {
});
this.time.enable('loading');
this.time.enable('progress');
if (!fromNative) {
const playedPromise = Promise.resolve(this.video.play());
playedPromise
.catch(() => {
this.pause();
})
.then(() => {});
}
this.timer.enable('loading');
this.container.classList.remove('dplayer-paused');
this.container.classList.add('dplayer-playing');
if (this.danmaku) {
@ -200,19 +250,20 @@ class DPlayer {
/**
* Pause video
*/
pause () {
pause(fromNative) {
this.paused = true;
this.container.classList.remove('dplayer-loading');
if (!this.video.paused) {
if (!this.video.paused && !utils.isMobile) {
this.bezel.switch(Icons.pause);
}
this.ended = false;
this.template.playButton.innerHTML = Icons.play;
this.video.pause();
this.time.disable('loading');
this.time.disable('progress');
this.template.mobilePlayButton.innerHTML = Icons.play;
if (!fromNative) {
this.video.pause();
}
this.timer.disable('loading');
this.container.classList.remove('dplayer-playing');
this.container.classList.add('dplayer-paused');
if (this.danmaku) {
@ -220,14 +271,12 @@ class DPlayer {
}
}
switchVolumeIcon () {
switchVolumeIcon() {
if (this.volume() >= 0.95) {
this.template.volumeIcon.innerHTML = Icons.volumeUp;
}
else if (this.volume() > 0) {
} else if (this.volume() > 0) {
this.template.volumeIcon.innerHTML = Icons.volumeDown;
}
else {
} else {
this.template.volumeIcon.innerHTML = Icons.volumeOff;
}
}
@ -235,7 +284,7 @@ class DPlayer {
/**
* Set volume
*/
volume (percentage, nostorage, nonotice) {
volume(percentage, nostorage, nonotice) {
percentage = parseFloat(percentage);
if (!isNaN(percentage)) {
percentage = Math.max(percentage, 0);
@ -247,7 +296,7 @@ class DPlayer {
this.user.set('volume', percentage);
}
if (!nonotice) {
this.notice(`${this.tran('Volume')} ${(percentage * 100).toFixed(0)}%`);
this.notice(`${this.tran('volume')} ${(percentage * 100).toFixed(0)}%`, undefined, undefined, 'volume');
}
this.video.volume = percentage;
@ -263,11 +312,10 @@ class DPlayer {
/**
* Toggle between play and pause
*/
toggle () {
toggle() {
if (this.video.paused) {
this.play();
}
else {
} else {
this.pause();
}
}
@ -275,7 +323,7 @@ class DPlayer {
/**
* attach event
*/
on (name, callback) {
on(name, callback) {
this.events.on(name, callback);
}
@ -285,7 +333,7 @@ class DPlayer {
* @param {Object} video - new video info
* @param {Object} danmaku - new danmaku info
*/
switchVideo (video, danmakuAPI) {
switchVideo(video, danmakuAPI) {
this.pause();
this.video.poster = video.pic ? video.pic : '';
this.video.src = video.url;
@ -309,109 +357,162 @@ class DPlayer {
}
}
initMSE (video, type) {
initMSE(video, type) {
this.type = type;
if (this.options.video.customType && this.options.video.customType[type]) {
if (Object.prototype.toString.call(this.options.video.customType[type]) === '[object Function]') {
this.options.video.customType[type](this.video, this);
}
else {
} else {
console.error(`Illegal customType: ${type}`);
}
}
else {
} else {
if (this.type === 'auto') {
if (/m3u8(#|\?|$)/i.exec(video.src)) {
this.type = 'hls';
}
else if (/.flv(#|\?|$)/i.exec(video.src)) {
} else if (/.flv(#|\?|$)/i.exec(video.src)) {
this.type = 'flv';
}
else if (/.mpd(#|\?|$)/i.exec(video.src)) {
} else if (/.mpd(#|\?|$)/i.exec(video.src)) {
this.type = 'dash';
}
else {
} else {
this.type = 'normal';
}
}
if (this.type === 'hls' && (video.canPlayType('application/x-mpegURL') || video.canPlayType('application/vnd.apple.mpegURL'))) {
this.type = 'normal';
}
const src = this.quality.url; // 真实的视频 url, 用于切换清晰度时销毁实例
switch (this.type) {
// https://github.com/video-dev/hls.js
case 'hls':
if (Hls) {
if (Hls.isSupported()) {
const hls = new Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
}
else {
this.notice('Error: Hls is not supported.');
}
}
else {
this.notice('Error: Can\'t find Hls.');
}
break;
// https://github.com/Bilibili/flv.js
case 'flv':
if (flvjs && flvjs.isSupported()) {
if (flvjs.isSupported()) {
const flvPlayer = flvjs.createPlayer({
type: 'flv',
url: video.src
});
flvPlayer.attachMediaElement(video);
flvPlayer.load();
}
else {
this.notice('Error: flvjs is not supported.');
}
}
else {
this.notice('Error: Can\'t find flvjs.');
}
break;
// https://github.com/Dash-Industry-Forum/dash.js
case 'dash':
if (dashjs) {
dashjs.MediaPlayer().create().initialize(video, video.src, false);
}
else {
this.notice('Error: Can\'t find dashjs.');
}
break;
// https://github.com/webtorrent/webtorrent
case 'webtorrent':
if (WebTorrent) {
if (WebTorrent.WEBRTC_SUPPORT) {
this.container.classList.add('dplayer-loading');
const client = new WebTorrent();
const torrentId = video.src;
client.add(torrentId, (torrent) => {
const file = torrent.files.find((file) => file.name.endsWith('.mp4'));
file.renderTo(this.video, {
autoplay: this.options.autoplay
}, () => {
this.container.classList.remove('dplayer-loading');
// https://github.com/video-dev/hls.js
case 'hls':
if (window.Hls) {
if (window.Hls.isSupported()) {
const options = this.options.pluginOptions.hls;
const hls = new window.Hls(options);
this.plugins.hls = hls;
hls.loadSource(video.src);
hls.attachMedia(video);
this.events.on('destroy', () => {
hls.destroy();
delete this.plugins.hls;
});
// 切换清晰度时销毁实例
this.events.on('quality_end', () => {
if (src !== this.quality.url) {
hls.destroy();
}
});
} else {
this.notice('Error: Hls is not supported.');
}
} else {
this.notice("Error: Can't find Hls.");
}
break;
// https://github.com/Bilibili/flv.js
case 'flv':
if (window.flvjs) {
if (window.flvjs.isSupported()) {
const flvPlayer = window.flvjs.createPlayer(
Object.assign(this.options.pluginOptions.flv.mediaDataSource || {}, {
type: 'flv',
url: video.src,
}),
this.options.pluginOptions.flv.config
);
this.plugins.flvjs = flvPlayer;
flvPlayer.attachMediaElement(video);
flvPlayer.load();
this.events.on('destroy', () => {
flvPlayer.unload();
flvPlayer.detachMediaElement();
flvPlayer.destroy();
delete this.plugins.flvjs;
});
// 切换清晰度时销毁实例
this.events.on('quality_end', () => {
if (src !== this.quality.url) {
flvPlayer.unload();
flvPlayer.detachMediaElement();
flvPlayer.destroy();
}
});
} else {
this.notice('Error: flvjs is not supported.');
}
} else {
this.notice("Error: Can't find flvjs.");
}
break;
// https://github.com/Dash-Industry-Forum/dash.js
case 'dash':
if (window.dashjs) {
const dashjsPlayer = window.dashjs.MediaPlayer().create();
dashjsPlayer.initialize(video, video.src, false, 0);
const options = this.options.pluginOptions.dash;
dashjsPlayer.updateSettings(options);
this.plugins.dash = dashjsPlayer;
this.events.on('destroy', () => {
window.dashjs.MediaPlayer().reset();
delete this.plugins.dash;
});
// 切换清晰度时销毁实例
this.events.on('quality_end', () => {
if (src !== this.quality.url) {
window.dashjs.MediaPlayer().reset();
}
});
} else {
this.notice("Error: Can't find dashjs.");
}
else {
this.notice('Error: Webtorrent is not supported.');
break;
// https://github.com/webtorrent/webtorrent
case 'webtorrent':
if (window.WebTorrent) {
if (window.WebTorrent.WEBRTC_SUPPORT) {
this.container.classList.add('dplayer-loading');
const options = this.options.pluginOptions.webtorrent;
const client = new window.WebTorrent(options);
this.plugins.webtorrent = client;
const torrentId = video.src;
video.src = '';
video.preload = 'metadata';
video.addEventListener('durationchange', () => this.container.classList.remove('dplayer-loading'), { once: true });
client.add(torrentId, (torrent) => {
const file = torrent.files.find((file) => file.name.endsWith('.mp4'));
file.renderTo(this.video, {
autoplay: this.options.autoplay,
controls: false,
});
});
this.events.on('destroy', () => {
client.remove(torrentId);
client.destroy();
delete this.plugins.webtorrent;
});
// 切换清晰度时销毁实例
this.events.on('quality_end', () => {
if (src !== this.quality.url) {
client.remove(torrentId);
client.destroy();
}
});
} else {
this.notice('Error: Webtorrent is not supported.');
}
} else {
this.notice("Error: Can't find Webtorrent.");
}
}
else {
this.notice('Error: Can\'t find Webtorrent.');
}
break;
break;
}
}
}
initVideo (video, type) {
initVideo(video, type) {
this.initMSE(video, type);
/**
@ -419,7 +520,8 @@ class DPlayer {
*/
// show video time: the metadata has loaded or changed
this.on('durationchange', () => {
if (video.duration !== 1) { // compatibility: Android browsers will output 1 at first
// compatibility: Android browsers will output 1 or Infinity at first
if (video.duration !== 1 && video.duration !== Infinity) {
this.template.dtime.innerHTML = utils.secondToTime(video.duration);
}
});
@ -432,20 +534,21 @@ class DPlayer {
// video download error: an error occurs
this.on('error', () => {
this.tran && this.notice && this.type !== 'webtorrent' & this.notice(this.tran('This video fails to load'), -1);
if (!this.video.error) {
// Not a video load error, may be poster load failed, see #307
return;
}
this.tran && this.notice && this.type !== 'webtorrent' && this.notice(this.tran('video-failed'));
});
// video end
this.ended = false;
this.on('ended', () => {
this.bar.set('played', 1, 'width');
if (!this.setting.loop) {
this.ended = true;
this.pause();
}
else {
} else {
this.seek(0);
video.play();
this.play();
}
if (this.danmaku) {
this.danmaku.danIndex = 0;
@ -454,37 +557,53 @@ class DPlayer {
this.on('play', () => {
if (this.paused) {
this.play();
this.play(true);
}
});
this.on('pause', () => {
if (!this.paused) {
this.pause();
this.pause(true);
}
});
this.on('timeupdate', () => {
if (!this.moveBar) {
this.bar.set('played', this.video.currentTime / this.video.duration, 'width');
}
const currentTime = utils.secondToTime(this.video.currentTime);
if (this.template.ptime.innerHTML !== currentTime) {
this.template.ptime.innerHTML = currentTime;
}
});
for (let i = 0; i < this.events.videoEvents.length; i++) {
video.addEventListener(this.events.videoEvents[i], () => {
this.events.trigger(this.events.videoEvents[i]);
video.addEventListener(this.events.videoEvents[i], (e) => {
this.events.trigger(this.events.videoEvents[i], e);
});
}
this.volume(this.user.get('volume'), true, true);
if (this.options.subtitle) {
// init old single subtitle function(sub show and style)
this.subtitle = new Subtitle(this.template.subtitle, this.video, this.options.subtitle, this.events);
// init multi subtitles function(sub update)
if (Array.isArray(this.options.subtitle.url)) {
this.subtitles = new Subtitles(this);
}
if (!this.user.get('subtitle')) {
this.subtitle.hide();
}
}
}
switchQuality (index) {
switchQuality(index) {
index = typeof index === 'string' ? parseInt(index) : index;
if (this.qualityIndex === index || this.switchingQuality) {
return;
}
else {
} else {
this.prevIndex = this.qualityIndex;
this.qualityIndex = index;
}
this.switchingQuality = true;
@ -499,7 +618,7 @@ class DPlayer {
screenshot: this.options.screenshot,
preload: 'auto',
url: this.quality.url,
subtitle: this.options.subtitle
subtitle: this.options.subtitle,
});
const videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;
this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);
@ -507,7 +626,7 @@ class DPlayer {
this.video = videoEle;
this.initVideo(this.video, this.quality.type || this.options.video.type);
this.seek(this.prevVideo.currentTime);
this.notice(`${this.tran('Switching to')} ${this.quality.name} ${this.tran('quality')}`, -1);
this.notice(`${this.tran('switching-quality').replace('%q', this.quality.name)}`, -1, undefined, 'switch-quality');
this.events.trigger('quality_start', this.quality);
this.on('canplay', () => {
@ -522,52 +641,104 @@ class DPlayer {
this.video.play();
}
this.prevVideo = null;
this.notice(`${this.tran('Switched to')} ${this.quality.name} ${this.tran('quality')}`);
this.notice(`${this.tran('switched-quality').replace('%q', this.quality.name)}`, undefined, undefined, 'switch-quality');
this.switchingQuality = false;
this.events.trigger('quality_end');
}
});
this.on('error', () => {
if (!this.video.error) {
return;
}
if (this.prevVideo) {
this.template.videoWrap.removeChild(this.video);
this.video = this.prevVideo;
if (!paused) {
this.video.play();
}
this.qualityIndex = this.prevIndex;
this.quality = this.options.video.quality[this.qualityIndex];
this.noticeTime = setTimeout(() => {
this.template.notice.style.opacity = 0;
this.events.trigger('notice_hide');
}, 3000);
this.prevVideo = null;
this.switchingQuality = false;
}
});
}
notice (text, time = 2000, opacity = 0.8) {
this.template.notice.innerHTML = text;
this.template.notice.style.opacity = opacity;
if (this.noticeTime) {
clearTimeout(this.noticeTime);
notice(text, time = 2000, opacity = 0.8, id) {
let oldNoticeEle;
if (id) {
oldNoticeEle = document.getElementById(`dplayer-notice-${id}`);
if (oldNoticeEle) {
oldNoticeEle.innerHTML = text;
}
if (this.noticeList[id]) {
clearTimeout(this.noticeList[id]);
this.noticeList[id] = null;
}
}
if (!oldNoticeEle) {
const notice = Template.NewNotice(text, opacity, id);
this.template.noticeList.appendChild(notice);
oldNoticeEle = notice;
}
this.events.trigger('notice_show', oldNoticeEle);
if (time > 0) {
this.noticeList[id] = setTimeout(
(function (e, dp) {
return () => {
e.addEventListener('animationend', () => {
dp.template.noticeList.removeChild(e);
});
e.classList.add('remove-notice');
dp.events.trigger('notice_hide');
dp.noticeList[id] = null;
};
})(oldNoticeEle, this),
time
);
}
this.events.trigger('notice_show', text);
this.noticeTime = setTimeout(() => {
this.template.notice.style.opacity = 0;
this.events.trigger('notice_hide');
}, time);
}
resize () {
resize() {
if (this.danmaku) {
this.danmaku.resize();
}
if (this.controller.thumbnails) {
this.controller.thumbnails.resize(160, (this.video.videoHeight / this.video.videoWidth) * 160, this.template.barWrap.offsetWidth);
}
this.events.trigger('resize');
}
speed (rate) {
speed(rate) {
this.video.playbackRate = rate;
}
destroy () {
destroy() {
instances.splice(instances.indexOf(this), 1);
this.pause();
document.removeEventListener('click', this.docClickFun, true);
this.container.removeEventListener('click', this.containerClickFun, true);
this.fullScreen.destroy();
this.hotkey.destroy();
this.contextmenu.destroy();
this.controller.destroy();
this.time.destroy();
this.timer.destroy();
this.video.src = '';
this.container.innerHTML = '';
this.events.trigger('destroy');
}
for (const key in this) {
if (this.hasOwnProperty(key) && key !== 'paused') {
delete this[key];
}
}
static get version() {
/* global DPLAYER_VERSION */
return DPLAYER_VERSION;
}
}

View File

@ -1,7 +1,7 @@
import utils from './utils';
class Setting {
constructor (player) {
constructor(player) {
this.player = player;
this.player.template.mask.addEventListener('click', () => {
@ -18,8 +18,7 @@ class Setting {
this.player.template.loopToggle.checked = !this.player.template.loopToggle.checked;
if (this.player.template.loopToggle.checked) {
this.loop = true;
}
else {
} else {
this.loop = false;
}
this.hide();
@ -36,8 +35,7 @@ class Setting {
if (this.player.template.showDanmakuToggle.checked) {
this.showDanmaku = true;
this.player.danmaku.show();
}
else {
} else {
this.showDanmaku = false;
this.player.danmaku.hide();
}
@ -53,8 +51,7 @@ class Setting {
if (this.player.template.unlimitDanmakuToggle.checked) {
this.unlimitDanmaku = true;
this.player.danmaku.unlimit(true);
}
else {
} else {
this.unlimitDanmaku = false;
this.player.danmaku.unlimit(false);
}
@ -85,7 +82,7 @@ class Setting {
const danmakuMove = (event) => {
const e = event || window.event;
let percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getElementViewLeft(this.player.template.danmakuOpacityBarWrap)) / dWidth;
let percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(this.player.template.danmakuOpacityBarWrap)) / dWidth;
percentage = Math.max(percentage, 0);
percentage = Math.min(percentage, 1);
this.player.danmaku.opacity(percentage);
@ -98,7 +95,7 @@ class Setting {
this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', (event) => {
const e = event || window.event;
let percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getElementViewLeft(this.player.template.danmakuOpacityBarWrap)) / dWidth;
let percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(this.player.template.danmakuOpacityBarWrap)) / dWidth;
percentage = Math.max(percentage, 0);
percentage = Math.min(percentage, 1);
this.player.danmaku.opacity(percentage);
@ -111,7 +108,7 @@ class Setting {
}
}
hide () {
hide() {
this.player.template.settingBox.classList.remove('dplayer-setting-box-open');
this.player.template.mask.classList.remove('dplayer-mask-show');
setTimeout(() => {
@ -122,7 +119,7 @@ class Setting {
this.player.controller.disableAutoHide = false;
}
show () {
show() {
this.player.template.settingBox.classList.add('dplayer-setting-box-open');
this.player.template.mask.classList.add('dplayer-mask-show');
@ -130,4 +127,4 @@ class Setting {
}
}
export default Setting;
export default Setting;

View File

@ -1,5 +1,5 @@
class Subtitle {
constructor (container, video, options, events) {
constructor(container, video, options, events) {
this.container = container;
this.video = video;
this.options = options;
@ -8,7 +8,7 @@ class Subtitle {
this.init();
}
init () {
init() {
this.container.style.fontSize = this.options.fontSize;
this.container.style.bottom = this.options.bottom;
this.container.style.color = this.options.color;
@ -17,39 +17,39 @@ class Subtitle {
const track = this.video.textTracks[0];
track.oncuechange = () => {
const cue = track.activeCues[0];
const cue = track.activeCues[track.activeCues.length - 1];
this.container.innerHTML = '';
if (cue) {
this.container.innerHTML = '';
const p = document.createElement('p');
p.appendChild(cue.getCueAsHTML());
this.container.appendChild(p);
}
else {
this.container.innerHTML = '';
const template = document.createElement('div');
template.appendChild(cue.getCueAsHTML());
const trackHtml = template.innerHTML
.split(/\r?\n/)
.map((item) => `<p>${item}</p>`)
.join('');
this.container.innerHTML = trackHtml;
}
this.events.trigger('subtitle_change');
};
}
}
show () {
show() {
this.container.classList.remove('dplayer-subtitle-hide');
this.events.trigger('subtitle_show');
}
hide () {
hide() {
this.container.classList.add('dplayer-subtitle-hide');
this.events.trigger('subtitle_hide');
}
toggle () {
toggle() {
if (this.container.classList.contains('dplayer-subtitle-hide')) {
this.show();
}
else {
} else {
this.hide();
}
}
}
export default Subtitle;
export default Subtitle;

79
src/js/subtitles.js Normal file
View File

@ -0,0 +1,79 @@
class Subtitles {
constructor(player) {
this.player = player;
this.player.template.mask.addEventListener('click', () => {
this.hide();
});
this.player.template.subtitlesButton.addEventListener('click', () => {
this.adaptiveHeight();
this.show();
});
const lastItemIndex = this.player.template.subtitlesItem.length - 1;
for (let i = 0; i < lastItemIndex; i++) {
this.player.template.subtitlesItem[i].addEventListener('click', () => {
this.hide();
if (this.player.options.subtitle.index !== i) {
// clear subtitle show for new subtitle don't have now duration time. If don't, will display last subtitle.
this.player.template.subtitle.innerHTML = `<p></p>`;
// update video track src
this.player.template.subtrack.src = this.player.template.subtitlesItem[i].dataset.subtitle;
// update options current subindex for reload (such as changeQuality)
this.player.options.subtitle.index = i;
if (this.player.template.subtitle.classList.contains('dplayer-subtitle-hide')) {
this.subContainerShow();
}
}
});
}
this.player.template.subtitlesItem[lastItemIndex].addEventListener('click', () => {
this.hide();
if (this.player.options.subtitle.index !== lastItemIndex) {
// clear subtitle show for new subtitle don't have now duration time. If don't, will display last subtitle.
this.player.template.subtitle.innerHTML = `<p></p>`;
// update video track src
this.player.template.subtrack.src = '';
// update options current subindex for reload (such as changeQuality)
this.player.options.subtitle.index = lastItemIndex;
this.subContainerHide();
}
});
}
subContainerShow() {
this.player.template.subtitle.classList.remove('dplayer-subtitle-hide');
this.player.events.trigger('subtitle_show');
}
subContainerHide() {
this.player.template.subtitle.classList.add('dplayer-subtitle-hide');
this.player.events.trigger('subtitle_hide');
}
hide() {
this.player.template.subtitlesBox.classList.remove('dplayer-subtitles-box-open');
this.player.template.mask.classList.remove('dplayer-mask-show');
this.player.controller.disableAutoHide = false;
}
show() {
this.player.template.subtitlesBox.classList.add('dplayer-subtitles-box-open');
this.player.template.mask.classList.add('dplayer-mask-show');
this.player.controller.disableAutoHide = true;
}
adaptiveHeight() {
const curBoxHeight = this.player.template.subtitlesItem.length * 30 + 14;
const stdMaxHeight = this.player.template.videoWrap.offsetHeight * 0.8;
if (curBoxHeight >= stdMaxHeight - 50) {
this.player.template.subtitlesBox.style.bottom = '8px';
this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 8 + 'px';
} else {
this.player.template.subtitlesBox.style.bottom = '50px';
this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 50 + 'px';
}
}
}
export default Subtitles;

View File

@ -1,8 +1,9 @@
import Icons from './icons';
import tplPlayer from '../template/player.art';
import utils from './utils';
class Template {
constructor (options) {
constructor(options) {
this.container = options.container;
this.options = options.options;
this.index = options.index;
@ -10,26 +11,30 @@ class Template {
this.init();
}
init () {
init() {
this.container.innerHTML = tplPlayer({
options: this.options,
index: this.index,
tran: this.tran,
icons: Icons,
mobile: utils.isMobile,
video: {
current: true,
pic: this.options.video.pic,
screenshot: this.options.screenshot,
airplay: utils.isSafari && !utils.isChrome ? this.options.airplay : false,
chromecast: this.options.chromecast,
preload: this.options.preload,
url: this.options.video.url,
subtitle: this.options.subtitle
}
subtitle: this.options.subtitle,
},
});
this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');
this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');
this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');
this.volumeButton = this.container.querySelector('.dplayer-volume');
this.volumeButtonIcon = this.container.querySelector('.dplayer-volume-icon');
this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');
this.playedBar = this.container.querySelector('.dplayer-played');
this.loadedBar = this.container.querySelector('.dplayer-loaded');
@ -40,6 +45,7 @@ class Template {
this.video = this.container.querySelector('.dplayer-video-current');
this.bezel = this.container.querySelector('.dplayer-bezel-icon');
this.playButton = this.container.querySelector('.dplayer-play-icon');
this.mobilePlayButton = this.container.querySelector('.dplayer-mobile-play');
this.videoWrap = this.container.querySelector('.dplayer-video-wrap');
this.controllerMask = this.container.querySelector('.dplayer-controller-mask');
this.ptime = this.container.querySelector('.dplayer-ptime');
@ -74,13 +80,19 @@ class Template {
this.menuItem = this.container.querySelectorAll('.dplayer-menu-item');
this.qualityList = this.container.querySelector('.dplayer-quality-list');
this.camareButton = this.container.querySelector('.dplayer-camera-icon');
this.airplayButton = this.container.querySelector('.dplayer-airplay-icon');
this.chromecastButton = this.container.querySelector('.dplayer-chromecast-icon');
this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');
this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');
this.subtitlesButton = this.container.querySelector('.dplayer-subtitles-icon');
this.subtitlesBox = this.container.querySelector('.dplayer-subtitles-box');
this.subtitlesItem = this.container.querySelectorAll('.dplayer-subtitles-item');
this.subtitle = this.container.querySelector('.dplayer-subtitle');
this.subtrack = this.container.querySelector('.dplayer-subtrack');
this.qualityButton = this.container.querySelector('.dplayer-quality-icon');
this.barPreview = this.container.querySelector('.dplayer-bar-preview');
this.barWrap = this.container.querySelector('.dplayer-bar-wrap');
this.notice = this.container.querySelector('.dplayer-notice');
this.noticeList = this.container.querySelector('.dplayer-notice-list');
this.infoPanel = this.container.querySelector('.dplayer-info-panel');
this.infoPanelClose = this.container.querySelector('.dplayer-info-panel-close');
this.infoVersion = this.container.querySelector('.dplayer-info-panel-item-version .dplayer-info-panel-item-data');
@ -93,6 +105,17 @@ class Template {
this.infoDanmakuApi = this.container.querySelector('.dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data');
this.infoDanmakuAmount = this.container.querySelector('.dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data');
}
static NewNotice(text, opacity, id) {
const notice = document.createElement('div');
notice.classList.add('dplayer-notice');
notice.style.opacity = opacity;
notice.innerText = text;
if (id) {
notice.id = `dplayer-notice-${id}`;
}
return notice;
}
}
export default Template;

View File

@ -1,32 +1,33 @@
class Thumbnails {
constructor (options) {
constructor(options) {
this.container = options.container;
this.barWidth = options.barWidth;
this.container.style.backgroundImage = `url('${options.url}')`;
this.events = options.events;
}
resize (width, height) {
resize(width, height, barWrapWidth) {
this.container.style.width = `${width}px`;
this.container.style.height = `${height}px`;
this.container.style.top = `${-height + 2}px`;
this.barWidth = barWrapWidth;
}
show () {
show() {
this.container.style.display = 'block';
this.events && this.events.trigger('thumbnails_show');
}
move (position) {
this.container.style.backgroundPosition = `-${(Math.ceil(position / this.barWidth * 100) - 1) * 160}px 0`;
this.container.style.left = `${(position - this.container.offsetWidth / 2)}px`;
move(position) {
this.container.style.backgroundPosition = `-${(Math.ceil((position / this.barWidth) * 100) - 1) * 160}px 0`;
this.container.style.left = `${Math.min(Math.max(position - this.container.offsetWidth / 2, -10), this.barWidth - 150)}px`;
}
hide () {
hide() {
this.container.style.display = 'none';
this.events && this.events.trigger('thumbnails_hide');
}
}
export default Thumbnails;
export default Thumbnails;

View File

@ -1,7 +1,5 @@
import utils from './utils';
class Time {
constructor (player) {
class Timer {
constructor(player) {
this.player = player;
window.requestAnimationFrame = (() =>
@ -12,24 +10,23 @@ class Time {
window.msRequestAnimationFrame ||
function (callback) {
window.setTimeout(callback, 1000 / 60);
}
)();
})();
this.types = ['loading', 'progress', 'info', 'fps'];
this.types = ['loading', 'info', 'fps'];
this.init();
}
init () {
for (let i = 0; i < this.types.length; i++) {
const type = this.types[i];
if (type !== 'fps') {
this[`init${type}Checker`]();
init() {
this.types.map((item) => {
if (item !== 'fps') {
this[`init${item}Checker`]();
}
}
return item;
});
}
initloadingChecker () {
initloadingChecker() {
let lastPlayPos = 0;
let currentPlayPos = 0;
let bufferingDetected = false;
@ -37,15 +34,11 @@ class Time {
if (this.enableloadingChecker) {
// whether the video is buffering
currentPlayPos = this.player.video.currentTime;
if (!bufferingDetected
&& currentPlayPos === lastPlayPos
&& !this.player.video.paused) {
if (!bufferingDetected && currentPlayPos === lastPlayPos && !this.player.video.paused) {
this.player.container.classList.add('dplayer-loading');
bufferingDetected = true;
}
if (bufferingDetected
&& currentPlayPos > lastPlayPos
&& !this.player.video.paused) {
if (bufferingDetected && currentPlayPos > lastPlayPos && !this.player.video.paused) {
this.player.container.classList.remove('dplayer-loading');
bufferingDetected = false;
}
@ -54,44 +47,30 @@ class Time {
}, 100);
}
initprogressChecker () {
this.progressChecker = setInterval(() => {
if (this.enableprogressChecker) {
this.player.bar.set('played', this.player.video.currentTime / this.player.video.duration, 'width');
const currentTime = utils.secondToTime(this.player.video.currentTime);
if (this.player.template.ptime.innerHTML !== currentTime) {
this.player.template.ptime.innerHTML = utils.secondToTime(this.player.video.currentTime);
}
}
}, 100);
}
initfpsChecker () {
initfpsChecker() {
window.requestAnimationFrame(() => {
if (this.enablefpsChecker) {
this.initfpsChecker();
if (!this.fpsStart) {
this.fpsStart = new Date();
this.fpsIndex = 0;
}
else {
} else {
this.fpsIndex++;
const fpsCurrent = new Date();
if (fpsCurrent - this.fpsStart > 1000) {
this.player.infoPanel.fps(this.fpsIndex / (fpsCurrent - this.fpsStart) * 1000);
this.player.infoPanel.fps((this.fpsIndex / (fpsCurrent - this.fpsStart)) * 1000);
this.fpsStart = new Date();
this.fpsIndex = 0;
}
}
}
else {
} else {
this.fpsStart = 0;
this.fpsIndex = 0;
}
});
}
initinfoChecker () {
initinfoChecker() {
this.infoChecker = setInterval(() => {
if (this.enableinfoChecker) {
this.player.infoPanel.update();
@ -99,7 +78,7 @@ class Time {
}, 1000);
}
enable (type) {
enable(type) {
this[`enable${type}Checker`] = true;
if (type === 'fps') {
@ -107,13 +86,17 @@ class Time {
}
}
disable (type) {
disable(type) {
this[`enable${type}Checker`] = false;
}
destroy (type) {
this[`${type}Checker`] && clearInterval(this[`${type}Checker`]);
destroy() {
this.types.map((item) => {
this[`enable${item}Checker`] = false;
this[`${item}Checker`] && clearInterval(this[`${item}Checker`]);
return item;
});
}
}
export default Time;
export default Timer;

View File

@ -1,41 +1,41 @@
import utils from './utils';
class User {
constructor (player) {
constructor(player) {
this.storageName = {
opacity: 'dplayer-danmaku-opacity',
volume: 'dplayer-volume',
unlimited: 'dplayer-danmaku-unlimited',
danmaku: 'dplayer-danmaku-show',
subtitle: 'dplayer-subtitle-show'
subtitle: 'dplayer-subtitle-show',
};
this.default = {
opacity: 0.7,
volume: player.options.volume || 0.7,
volume: player.options.hasOwnProperty('volume') ? player.options.volume : 0.7,
unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,
danmaku: 1,
subtitle: 1
subtitle: 1,
};
this.data = {};
this.init();
}
init () {
init() {
for (const item in this.storageName) {
const name = this.storageName[item];
this.data[item] = parseFloat(utils.storage.get(name) || this.default[item]);
}
}
get (key) {
get(key) {
return this.data[key];
}
set (key, value) {
set(key, value) {
this.data[key] = value;
utils.storage.set(this.storageName[key], value);
}
}
export default User;
export default User;

View File

@ -1,15 +1,18 @@
const isMobile = /mobile/i.test(window.navigator.userAgent);
const isMobile = /mobile|android|iphone|ipod|phone|ipad/i.test(window.navigator.userAgent);
const utils = {
/**
* Parse second to time string
*
* @param {Number} second
* @return {String} 00:00 or 00:00:00
*/
* Parse second to time string
*
* @param {Number} second
* @return {String} 00:00 or 00:00:00
*/
secondToTime: (second) => {
const add0 = (num) => num < 10 ? '0' + num : '' + num;
second = second || 0;
if (second === 0 || second === Infinity || second.toString() === 'NaN') {
return '00:00';
}
const add0 = (num) => (num < 10 ? '0' + num : '' + num);
const hour = Math.floor(second / 3600);
const min = Math.floor((second - hour * 3600) / 60);
const sec = Math.floor(second - hour * 3600 - min * 60);
@ -29,8 +32,7 @@ const utils = {
actualLeft += current.offsetLeft;
current = current.offsetParent;
}
}
else {
} else {
while (current !== null && current !== element) {
actualLeft += current.offsetLeft;
current = current.offsetParent;
@ -39,19 +41,48 @@ const utils = {
return actualLeft - elementScrollLeft;
},
getScrollPosition () {
/**
* optimize control play progress
* optimize get element's view position,for float dialog video player
* getBoundingClientRect IE8 及以下返回的值缺失 widthheight
* getBoundingClientRect Firefox 11 及以下返回的值会把 transform 的值也包含进去
* getBoundingClientRect Opera 10.5 及以下返回的值缺失 widthheight
*/
getBoundingClientRectViewLeft(element) {
const scrollTop = window.scrollY || window.pageYOffset || document.body.scrollTop + ((document.documentElement && document.documentElement.scrollTop) || 0);
if (element.getBoundingClientRect) {
if (typeof this.getBoundingClientRectViewLeft.offset !== 'number') {
let temp = document.createElement('div');
temp.style.cssText = 'position:absolute;top:0;left:0;';
document.body.appendChild(temp);
this.getBoundingClientRectViewLeft.offset = -temp.getBoundingClientRect().top - scrollTop;
document.body.removeChild(temp);
temp = null;
}
const rect = element.getBoundingClientRect();
const offset = this.getBoundingClientRectViewLeft.offset;
return rect.left + offset;
} else {
// not support getBoundingClientRect
return this.getElementViewLeft(element);
}
},
getScrollPosition() {
return {
left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0,
};
},
setScrollPosition ({left = 0, top = 0}) {
setScrollPosition({ left = 0, top = 0 }) {
if (this.isFirefox) {
document.documentElement.scrollLeft = left;
document.documentElement.scrollTop = top;
}
else {
} else {
window.scrollTo(left, top);
}
},
@ -62,33 +93,46 @@ const utils = {
isChrome: /chrome/i.test(window.navigator.userAgent),
isSafari: /safari/i.test(window.navigator.userAgent),
storage: {
set: (key, value) => {
localStorage.setItem(key, value);
},
get: (key) => localStorage.getItem(key)
},
cumulativeOffset: (element) => {
let top = 0, left = 0;
do {
top += element.offsetTop || 0;
left += element.offsetLeft || 0;
element = element.offsetParent;
} while (element);
return {
top: top,
left: left
};
get: (key) => localStorage.getItem(key),
},
nameMap: {
dragStart: isMobile ? 'touchstart' : 'mousedown',
dragMove: isMobile ? 'touchmove' : 'mousemove',
dragEnd: isMobile ? 'touchend' : 'mouseup'
}
dragEnd: isMobile ? 'touchend' : 'mouseup',
},
color2Number: (color) => {
if (color[0] === '#') {
color = color.substr(1);
}
if (color.length === 3) {
color = `${color[0]}${color[0]}${color[1]}${color[1]}${color[2]}${color[2]}`;
}
return (parseInt(color, 16) + 0x000000) & 0xffffff;
},
number2Color: (number) => '#' + ('00000' + number.toString(16)).slice(-6),
number2Type: (number) => {
switch (number) {
case 0:
return 'right';
case 1:
return 'top';
case 2:
return 'bottom';
default:
return 'right';
}
},
};
export default utils;
export default utils;

View File

@ -6,14 +6,14 @@
<img src="{{ options.logo }}">
</div>
{{ /if }}
<div class="dplayer-danmaku"{{ if options.danmaku && options.danmaku.bottm }} style="margin-bottom:{{ options.danmaku.bottm }}"{{ /if }}>
<div class="dplayer-danmaku"{{ if options.danmaku && options.danmaku.bottom }} style="margin-bottom:{{ options.danmaku.bottom }}"{{ /if }}>
<div class="dplayer-danmaku-item dplayer-danmaku-item--demo"></div>
</div>
<div class="dplayer-subtitle"></div>
<div class="dplayer-bezel">
<span class="dplayer-bezel-icon"></span>
{{ if options.danmaku }}
<span class="dplayer-danloading">{{ tran('Danmaku is loading') }}</span>
<span class="dplayer-danloading">{{ tran('danmaku-loading') }}</span>
{{ /if }}
<span class="diplayer-loading-icon">{{@ icons.loading }}</span>
</div>
@ -21,12 +21,12 @@
<div class="dplayer-controller-mask"></div>
<div class="dplayer-controller">
<div class="dplayer-icons dplayer-comment-box">
<button class="dplayer-icon dplayer-comment-setting-icon" data-balloon="{{ tran('Setting') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-comment-setting-icon" data-balloon="{{ tran('setting') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.pallette }}</span>
</button>
<div class="dplayer-comment-setting-box">
<div class="dplayer-comment-setting-color">
<div class="dplayer-comment-setting-title">{{ tran('Set danmaku color') }}</div>
<div class="dplayer-comment-setting-title">{{ tran('set-danmaku-color') }}</div>
<label>
<input type="radio" name="dplayer-danmaku-color-{{ index }}" value="#fff" checked>
<span style="background: #fff;"></span>
@ -53,23 +53,23 @@
</label>
</div>
<div class="dplayer-comment-setting-type">
<div class="dplayer-comment-setting-title">{{ tran('Set danmaku type') }}</div>
<div class="dplayer-comment-setting-title">{{ tran('set-danmaku-type') }}</div>
<label>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="top">
<span>{{ tran('Top') }}</span>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="1">
<span>{{ tran('top') }}</span>
</label>
<label>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="right" checked>
<span>{{ tran('Rolling') }}</span>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="0" checked>
<span>{{ tran('rolling') }}</span>
</label>
<label>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="bottom">
<span>{{ tran('Bottom') }}</span>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="2">
<span>{{ tran('bottom') }}</span>
</label>
</div>
</div>
<input class="dplayer-comment-input" type="text" placeholder="{{ tran('Input danmaku, hit Enter') }}" maxlength="30">
<button class="dplayer-icon dplayer-send-icon" data-balloon="{{ tran('Send') }}" data-balloon-pos="up">
<input class="dplayer-comment-input" type="text" placeholder="{{ tran('input-danmaku-enter') }}" maxlength="30">
<button class="dplayer-icon dplayer-send-icon" data-balloon="{{ tran('send') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.send }}</span>
</button>
</div>
@ -94,7 +94,7 @@
<span class="dplayer-dtime">0:00</span>
</span>
{{ if options.live }}
<span class="dplayer-live-badge"><span class="dplayer-live-dot" style="background: {{ options.theme }};"></span>{{ tran('Live') }}</span>
<span class="dplayer-live-badge"><span class="dplayer-live-dot" style="background: {{ options.theme }};"></span>{{ tran('live') }}</span>
{{ /if }}
</div>
<div class="dplayer-icons dplayer-icons-right">
@ -102,7 +102,7 @@
<div class="dplayer-quality">
<button class="dplayer-icon dplayer-quality-icon">{{ options.video.quality[options.video.defaultQuality].name }}</button>
<div class="dplayer-quality-mask">
<div class="dplayer-quality-list"></div>
<div class="dplayer-quality-list">
{{ each options.video.quality }}
<div class="dplayer-quality-item" data-index="{{ $index }}">{{ $value.name }}</div>
{{ /each }}
@ -111,55 +111,83 @@
</div>
{{ /if }}
{{ if options.screenshot }}
<a href="#" class="dplayer-icon dplayer-camera-icon" data-balloon="{{ tran('Screenshot') }}" data-balloon-pos="up">
<div class="dplayer-icon dplayer-camera-icon" data-balloon="{{ tran('screenshot') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.camera }}</span>
</a>
</div>
{{ /if }}
{{ if options.airplay }}
<div class="dplayer-icon dplayer-airplay-icon" data-balloon="{{ tran('airplay') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.airplay }}</span>
</div>
{{ /if }}
{{ if options.chromecast }}
<div class="dplayer-icon dplayer-chromecast-icon" data-balloon="{{ tran('chromecast') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.chromecast }}</span>
</div>
{{ /if }}
<div class="dplayer-comment">
<button class="dplayer-icon dplayer-comment-icon" data-balloon="{{ tran('Send danmaku') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-comment-icon" data-balloon="{{ tran('send-danmaku') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.comment }}</span>
</button>
</div>
{{ if options.subtitle }}
{{ if (typeof options.subtitle.url === 'string') }}
<div class="dplayer-subtitle-btn">
<button class="dplayer-icon dplayer-subtitle-icon" data-balloon="{{ tran('Hide subtitle') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-subtitle-icon" data-balloon="{{ tran('hide-subs') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.subtitle }}</span>
</button>
</div>
{{ else }}
<div class="dplayer-subtitles">
<button class="dplayer-icon dplayer-subtitles-icon" data-balloon="{{ tran('subtitle') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.subtitle }}</span>
</button>
<div class="dplayer-subtitles-box">
<div class="dplayer-subtitles-panel">
{{ each options.subtitle.url }}
<div class="dplayer-subtitles-item" data-subtitle="{{ $value.url }}">
<!-- if lang, show tran(lang). if lang and name, show name + (tran(lang)). if name, show name. off option use lang for translation. -->
<span class="dplayer-label">{{ $value.lang ? $value.name ? $value.name+' ('+tran($value.lang)+')' : tran($value.lang) : $value.name }}</span>
</div>
{{ /each }}
</div>
</div>
</div>
{{ /if }}
{{ /if }}
<div class="dplayer-setting">
<button class="dplayer-icon dplayer-setting-icon" data-balloon="{{ tran('Setting') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-setting-icon" data-balloon="{{ tran('setting') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.setting }}</span>
</button>
<div class="dplayer-setting-box">
<div class="dplayer-setting-origin-panel">
<div class="dplayer-setting-item dplayer-setting-speed">
<span class="dplayer-label">{{ tran('Speed') }}</span>
<span class="dplayer-label">{{ tran('speed') }}</span>
<div class="dplayer-toggle">{{@ icons.right }}</div>
</div>
<div class="dplayer-setting-item dplayer-setting-loop">
<span class="dplayer-label">{{ tran('Loop') }}</span>
<span class="dplayer-label">{{ tran('loop') }}</span>
<div class="dplayer-toggle">
<input class="dplayer-toggle-setting-input" type="checkbox" name="dplayer-toggle">
<label for="dplayer-toggle"></label>
</div>
</div>
<div class="dplayer-setting-item dplayer-setting-showdan">
<span class="dplayer-label">{{ tran('Show danmaku') }}</span>
<span class="dplayer-label">{{ tran('show-danmaku') }}</span>
<div class="dplayer-toggle">
<input class="dplayer-showdan-setting-input" type="checkbox" name="dplayer-toggle-dan">
<label for="dplayer-toggle-dan"></label>
</div>
</div>
<div class="dplayer-setting-item dplayer-setting-danunlimit">
<span class="dplayer-label">{{ tran('Unlimited danmaku') }}</span>
<span class="dplayer-label">{{ tran('unlimited-danmaku') }}</span>
<div class="dplayer-toggle">
<input class="dplayer-danunlimit-setting-input" type="checkbox" name="dplayer-toggle-danunlimit">
<label for="dplayer-toggle-danunlimit"></label>
</div>
</div>
<div class="dplayer-setting-item dplayer-setting-danmaku">
<span class="dplayer-label">{{ tran('Opacity for danmaku') }}</span>
<span class="dplayer-label">{{ tran('opacity-danmaku') }}</span>
<div class="dplayer-danmaku-bar-wrap">
<div class="dplayer-danmaku-bar">
<div class="dplayer-danmaku-bar-inner">
@ -170,32 +198,19 @@
</div>
</div>
<div class="dplayer-setting-speed-panel">
<div class="dplayer-setting-speed-item" data-speed="0.5">
<span class="dplayer-label">0.5</span>
</div>
<div class="dplayer-setting-speed-item" data-speed="0.75">
<span class="dplayer-label">0.75</span>
</div>
<div class="dplayer-setting-speed-item" data-speed="1">
<span class="dplayer-label">{{ tran('Normal') }}</span>
</div>
<div class="dplayer-setting-speed-item" data-speed="1.25">
<span class="dplayer-label">1.25</span>
</div>
<div class="dplayer-setting-speed-item" data-speed="1.5">
<span class="dplayer-label">1.5</span>
</div>
<div class="dplayer-setting-speed-item" data-speed="2">
<span class="dplayer-label">2</span>
</div>
{{ each options.playbackSpeed }}
<div class="dplayer-setting-speed-item" data-speed="{{ $value }}">
<span class="dplayer-label">{{ $value === 1 ? tran('normal') : $value }}</span>
</div>
{{ /each }}
</div>
</div>
</div>
<div class="dplayer-full">
<button class="dplayer-icon dplayer-full-in-icon" data-balloon="{{ tran('Web full screen') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-full-in-icon" data-balloon="{{ tran('web-fullscreen') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.fullWeb }}</span>
</button>
<button class="dplayer-icon dplayer-full-icon" data-balloon="{{ tran('Full screen') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-full-icon" data-balloon="{{ tran('fullscreen') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.full }}</span>
</button>
</div>
@ -239,15 +254,15 @@
</div>
{{ if options.danmaku }}
<div class="dplayer-info-panel-item dplayer-info-panel-item-danmaku-id">
<span class="dplayer-info-panel-item-title">Danamku id</span>
<span class="dplayer-info-panel-item-title">Danmaku id</span>
<span class="dplayer-info-panel-item-data"></span>
</div>
<div class="dplayer-info-panel-item dplayer-info-panel-item-danmaku-api">
<span class="dplayer-info-panel-item-title">Danamku api</span>
<span class="dplayer-info-panel-item-title">Danmaku api</span>
<span class="dplayer-info-panel-item-data"></span>
</div>
<div class="dplayer-info-panel-item dplayer-info-panel-item-danmaku-amount">
<span class="dplayer-info-panel-item-title">Danamku amount</span>
<span class="dplayer-info-panel-item-title">Danmaku amount</span>
<span class="dplayer-info-panel-item-data"></span>
</div>
{{ /if }}
@ -255,8 +270,11 @@
<div class="dplayer-menu">
{{ each options.contextmenu }}
<div class="dplayer-menu-item">
<a target="_blank" href="{{ $value.link || 'javascript:void(0);' }}">{{ tran($value.text) }}</a>
<a{{ if $value.link }} target="_blank"{{ /if }} href="{{ $value.link || 'javascript:void(0);' }}">{{ if $value.key }} {{ tran($value.key) }}{{ /if }}{{ if $value.text }} {{$value.text}}{{ /if }}</a>
</div>
{{ /each }}
</div>
<div class="dplayer-notice"></div>
<div class="dplayer-notice-list"></div>
<button class="dplayer-mobile-play">
{{@ icons.play }}
</button>

View File

@ -2,13 +2,21 @@
<video
class="dplayer-video {{ if current }}dplayer-video-current{{ /if }}"
webkit-playsinline
{{ if airplay }} x-webkit-airplay="allow" {{ /if }}
playsinline
{{ if pic }}poster="{{ pic }}"{{ /if }}
{{ if screenshot || enableSubtitle }}crossorigin="anonymous"{{ /if }}
{{ if preload }}preload="{{ preload }}"{{ /if }}
{{ if url }}src="{{ url }}"{{ /if }}
{{ if airplay }}
nosrc
{{ else if url }}
src="{{ url }}"
{{ /if }}
>
{{ if airplay }}
<source src="{{ url }}">
{{ /if}}
{{ if enableSubtitle }}
<track kind="metadata" default src="{{ subtitle.url }}"></track>
<track class="dplayer-subtrack" kind="metadata" default src="{{ typeof subtitle.url === 'string' ? subtitle.url : subtitle.url[subtitle.index].url }}"></track>
{{ /if }}
</video>

6
tea.yaml Normal file
View File

@ -0,0 +1,6 @@
# https://tea.xyz/what-is-this-file
---
version: 1.0.0
codeOwners:
- '0x185bfcef7b37010e2511309048a130f477f54fBf'
quorum: 1

View File

@ -1,15 +1,15 @@
/* eslint-disable no-undef */
const path = require('path');
const webpack = require('webpack');
const GitRevisionPlugin = require('git-revision-webpack-plugin');
const { GitRevisionPlugin } = require('git-revision-webpack-plugin');
const gitRevisionPlugin = new GitRevisionPlugin();
module.exports = {
mode: 'development',
devtool: 'cheap-module-source-map',
entry: {
'DPlayer': './src/js/index.js'
DPlayer: './src/js/index.js',
},
output: {
@ -19,105 +19,90 @@ module.exports = {
libraryTarget: 'umd',
libraryExport: 'default',
umdNamedDefine: true,
publicPath: '/'
publicPath: '/',
},
resolve: {
modules: ['node_modules'],
extensions: ['.js', '.scss']
extensions: ['.js', '.less'],
fallback: {
dgram: false,
fs: false,
net: false,
tls: false,
},
},
module: {
strictExportPresence: true,
rules: [
{
test: /\.js$/,
enforce: 'pre',
loader: require.resolve('eslint-loader'),
include: path.resolve(__dirname, '../src/js'),
},
{
test: /\.js$/,
use: [
{
loader: require.resolve('babel-loader'),
loader: 'babel-loader',
options: {
cacheDirectory: true,
presets: ['env']
}
}
]
presets: ['@babel/preset-env'],
},
},
],
},
{
test: /\.scss$/,
test: /\.less$/,
use: [
require.resolve('style-loader'),
'style-loader',
{
loader: require.resolve('css-loader'),
loader: 'css-loader',
options: {
importLoaders: 1
}
importLoaders: 1,
},
},
{
loader: require.resolve('postcss-loader'),
loader: 'postcss-loader',
options: {
config: {
path: path.join(__dirname, 'postcss.config.js')
}
}
postcssOptions: {
plugins: ['postcss-preset-env'],
},
},
},
require.resolve('sass-loader')
]
'less-loader',
],
},
{
test: /\.(png|jpg)$/,
loader: require.resolve('url-loader'),
loader: 'url-loader',
options: {
'limit': 40000
}
limit: 40000,
},
},
{
test: /\.svg$/,
loader: 'svg-inline-loader'
loader: 'svg-inline-loader',
},
{
test: /\.art$/,
loader: 'art-template-loader'
}
]
loader: 'art-template-loader',
},
],
},
devServer: {
compress: true,
contentBase: path.resolve(__dirname, '..', 'demo'),
clientLogLevel: 'none',
quiet: false,
open: true,
historyApiFallback: {
disableDotRule: true
static: {
directory: path.join(__dirname, '..', 'demo'),
},
watchOptions: {
ignored: /node_modules/
}
compress: true,
open: true,
},
plugins: [
new webpack.NamedModulesPlugin(),
new webpack.DefinePlugin({
DPLAYER_VERSION: `"${require('../package.json').version}"`,
GIT_HASH: JSON.stringify(gitRevisionPlugin.version())
})
GIT_HASH: JSON.stringify(gitRevisionPlugin.version()),
}),
],
node: {
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty'
},
performance: {
hints: false
}
hints: false,
},
};

View File

@ -1,5 +0,0 @@
module.exports = {
plugins: {
'autoprefixer': {}
}
};

View File

@ -1,18 +1,17 @@
/* eslint-disable no-undef */
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const GitRevisionPlugin = require('git-revision-webpack-plugin');
const { GitRevisionPlugin } = require('git-revision-webpack-plugin');
const gitRevisionPlugin = new GitRevisionPlugin();
module.exports = {
mode: 'production',
bail: true,
devtool: 'source-map',
entry: {
'DPlayer': './src/js/index.js'
DPlayer: './src/js/index.js',
},
output: {
@ -22,104 +21,79 @@ module.exports = {
libraryTarget: 'umd',
libraryExport: 'default',
umdNamedDefine: true,
publicPath: '/'
publicPath: '/',
},
resolve: {
modules: ['node_modules'],
extensions: ['.js', '.scss']
extensions: ['.js', '.less'],
fallback: {
dgram: false,
fs: false,
net: false,
tls: false,
},
},
module: {
strictExportPresence: true,
rules: [
{
test: /\.js$/,
enforce: 'pre',
loader: require.resolve('eslint-loader'),
include: path.resolve(__dirname, '../src/js'),
},
{
test: /\.js$/,
use: [
require.resolve('template-string-optimize-loader'),
'template-string-optimize-loader',
{
loader: require.resolve('babel-loader'),
loader: 'babel-loader',
options: {
compact: true,
presets: ['env']
}
}
]
cacheDirectory: true,
presets: ['@babel/preset-env'],
},
},
],
},
{
test: /\.scss$/,
use: ExtractTextPlugin.extract({
fallback: require.resolve('style-loader'),
use: [
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
minimize: true,
sourceMap: true
}
test: /\.less$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
{
loader: require.resolve('postcss-loader'),
options: {
config: {
path: path.join(__dirname, 'postcss.config.js')
}
}
},
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: ['postcss-preset-env'],
},
},
require.resolve('sass-loader')
]
})
},
'less-loader',
],
},
{
test: /\.(png|jpg)$/,
loader: require.resolve('url-loader'),
loader: 'url-loader',
options: {
'limit': 40000
}
limit: 40000,
},
},
{
test: /\.svg$/,
loader: 'svg-inline-loader'
loader: 'svg-inline-loader',
},
{
test: /\.art$/,
loader: 'art-template-loader'
}
]
loader: 'art-template-loader',
},
],
},
plugins: [
new webpack.DefinePlugin({
DPLAYER_VERSION: `"${require('../package.json').version}"`,
GIT_HASH: JSON.stringify(gitRevisionPlugin.version())
GIT_HASH: JSON.stringify(gitRevisionPlugin.version()),
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
output: {
comments: false,
ascii_only: true
},
sourceMap: true
}),
new ExtractTextPlugin({
filename: '[name].min.css'
})
],
node: {
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
}
};

5918
yarn.lock

File diff suppressed because it is too large Load Diff