Skip to content

Commit

Permalink
Merge pull request #26 from festoney8/dev
Browse files Browse the repository at this point in the history
merge dev to main, v3.0.2 alpha, #24
  • Loading branch information
festoney8 committed Jan 23, 2024
2 parents ef660e7 + 93412e6 commit 62c739d
Show file tree
Hide file tree
Showing 17 changed files with 217 additions and 122 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# CHANGELOG

## 3.0.2

- 新增:右键菜单新增 添加UP主到白名单
- 新增:标题关键词 支持正则(使用 `/` 包住,如 `/abc|\d+/`
- 优化:标题关键词 普通词汇大小写通配
- 优化:关键词编辑器样式

## 3.0.1

- 新增:白名单管理(UP主、标题关键词)
Expand Down
77 changes: 20 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
<h1>bilibili 页面净化大师</h1>
<div><b>高度定制化的 bilibili 网页净化插件,提供 300+ 个功能开关,深度净化页面元素</b></div>
<br>
<div>支持去广告、BV号转AV号、URL参数净化、播放器净化 等多种细节功能</div>
<div>专注于净化/优化页面,轻量高效无浏览器负担,载入时不闪屏</div>
<div>支持去广告、BV号转AV号、播放器净化、过滤视频 等多种细节功能</div>
<br>

[安装使用](#%E5%AE%89%E8%A3%85) / [功能介绍](#%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D) / [浏览器适配](#%E6%B5%8F%E8%A7%88%E5%99%A8%E9%80%82%E9%85%8D) / [净化效果](#%E5%87%80%E5%8C%96%E6%95%88%E6%9E%9C%E5%AF%B9%E6%AF%94) / [插件兼容](#%E4%B8%8E%E5%85%B6%E4%BB%96-bilibili-%E6%8F%92%E4%BB%B6%E7%9A%84%E5%85%BC%E5%AE%B9%E6%80%A7) / [数据导出](#%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%85%A5%E4%B8%8E%E5%AF%BC%E5%87%BA)
Expand All @@ -19,7 +18,7 @@

![](images/preview.png)

### 筛选推荐视频(测试阶段)
### 过滤视频推荐(测试阶段)

![](images/preview-filter.png)

Expand All @@ -36,7 +35,7 @@

## 使用

- **注意「首页、播放页、版权作品播放页、直播间、搜索页、动态页、热门视频/排行榜页」这 7 个页面,菜单各不相同**,「通用」项目对所有页面生效
- **注意「首页、播放页、版权作品播放页、直播间、搜索页、动态页、热门视频页」这 7 个页面,菜单各不相同**,「通用」项目对所有页面生效

- 按下图打开菜单,在每个页面进行自定义净化,支持实时预览

Expand All @@ -48,27 +47,25 @@

- 适用于 **净化新版 bilibili 网页**,不做老版本页面适配
- 目前支持「首页、播放页、版权作品播放页、直播间、搜索页、动态页、热门视频/排行榜页」这 7 个页面,可在每个页面下开启插件菜单,查看功能列表
- 「通用」功能主要用于净化顶栏,对全站所有页面生效
- 脚本默认用户已登录,大会员下(开发环境)体验最佳
- 脚本默认开启少数基础功能,其余功能由用户自行设定
- 大多数功能实时生效,方便用户进行页面定制
- 脚本在开启网页后立即注入,所有隐藏元素规则在开启页面后 1 秒内生效。其他需要等待元素出现的功能,如「净化分享」生效较慢
- 默认用户已登录,大会员下(开发环境)体验最佳
- 默认开启少数基础功能,其余功能由用户自行设定
- 大多数功能实时生效。脚本在开启网页后立即注入,所有隐藏元素规则在开启页面后 1 秒内生效。其他需要等待元素出现的功能,如「净化分享」生效较慢

### 过滤视频推荐
### 过滤视频

- **注意:功能目前处于测试阶段,仅供体验,不保证功能生效、不保证屏蔽记录稳定性**
- 支持「首页、播放页、热门页(热门视频/每周必看/排行榜)」共 3 个页面
- 支持「UP主、BV号、标题关键词、视频时长」共 4 种推荐模式
- 视频推荐功能实时生效
- 支持过滤页面「首页、播放页、热门页(热门视频/每周必看/排行榜)」
- 支持「UP主、BV号、标题关键词、视频时长」共 4 种过滤模式,支持同时启用
- 视频过滤功能实时生效
- 每个页面的功能开关相互独立
- 黑名单、白名单全站通用,一次屏蔽,全站隐藏(只要开关开启就会隐藏)
- 黑名单、白名单全站通用,**一次屏蔽,全站隐藏**(只要开关开启就会隐藏)
- 白名单权限高于黑名单,命中白名单的视频不会被隐藏

### 快捷键

- 支持使用快捷键 `Alt + B``Ctrl + Alt + B` 快速开启/关闭**页面净化**功能,迅速查看净化对比
- Firefox 浏览器仅支持 `Ctrl + Alt + B`
- 临时使用被隐藏的功能,只需快捷键快速关闭插件,不用打开菜单寻找选项
- 临时使用被隐藏的按钮时,只需快捷键快速关闭插件,不用打开菜单寻找选项
- 快速关闭只支持停用CSS规则,部分功能不支持,如:BV号转AV号

### 注意事项
Expand Down Expand Up @@ -116,36 +113,23 @@
## 净化效果对比

<details>
<summary><b>查看 播放页 对比图</b></summary>
<summary><b>查看 播放页 对比图(webp动图)</b></summary>

### before

![](images/screenshot-video-before.png)

### after

![](images/screenshot-video-after.png)
![](images/screenshot-video.webp)

</details>

<details>
<summary><b>查看 首页 对比图</b></summary>

### before,4 列模式,浏览器缩放 110%~125%
<summary><b>查看 首页 对比图(webp动图)</b></summary>

![](images/screenshot-homepage-before-4col.png)

### after
![](images/screenshot-homepage.webp)

![](images/screenshot-homepage-after-4col.png)

### before,5 列模式,浏览器缩放 90%~100%

![](images/screenshot-homepage-before-5col.png)
</details>

### after
<details>
<summary><b>查看 动态页 对比图(webp动图)</b></summary>

![](images/screenshot-homepage-after-5col.png)
![](images/screenshot-dynamic.webp)

</details>

Expand All @@ -162,19 +146,6 @@

</details>

<details>
<summary><b>查看 动态页 对比图</b></summary>

### before

![](images/screenshot-dynamic-before.png)

### after

![](images/screenshot-dynamic-after.png)

</details>

<details>

<summary><b>查看 热门视频/排行榜页 对比图</b></summary>
Expand All @@ -189,14 +160,6 @@

</details>

<details>

<summary><b>查看 插件混用首页 (cleaner + Evolved + app-recommend)</b></summary>

![](images/screenshot-homepage-multi-plugins.png)

</details>

## 与其他 bilibili 插件的兼容性

### [Bilibili-Evolved](https://github.com/the1812/Bilibili-Evolved) 的兼容性
Expand Down
Binary file added images/screenshot-dynamic.webp
Binary file not shown.
Binary file added images/screenshot-homepage.webp
Binary file not shown.
Binary file added images/screenshot-video.webp
Binary file not shown.
30 changes: 21 additions & 9 deletions src/components/panel.css
Original file line number Diff line number Diff line change
Expand Up @@ -182,33 +182,45 @@
#bili-cleaner-wordlist {
background: #fff;
border-radius: 5px;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
overflow: hidden;
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column;
border: 1px solid #000;
z-index: 2147483641;
}
#bili-cleaner-wordlist .wordlist-header {
background-color: #fb7299;
color: #fff;
font-size: 22px;
font-weight: bold;
margin: 8px auto;
height: 40px;
line-height: 40px;
margin: 0;
height: 100%;
width: 100%;
line-height: 36px;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
#bili-cleaner-wordlist .wordlist-description {
font-size: 18px;
margin: 6px auto;
line-height: 18px;
text-align: center;
}
#bili-cleaner-wordlist textarea.wordlist-body {
width: 340px;
height: 400px;
margin: 5px 15px;
border: 1px solid #000;
border-radius: 5px;
margin: 0 12px;
border: 2px solid #ccc;
overflow-y: scroll;
font-size: 18px;
line-height: 24px;
padding: 8px;
line-height: 28px;
padding: 5px 10px;
flex-grow: 1;
resize: none;
}
Expand Down
29 changes: 19 additions & 10 deletions src/components/panel.scss
Original file line number Diff line number Diff line change
Expand Up @@ -188,34 +188,43 @@
#bili-cleaner-wordlist {
background: white;
border-radius: 5px;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
overflow: hidden;
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column;
border: 1px solid black;
z-index: 2147483641;

& .wordlist-header {
background-color: #fb7299;
color: #fff;
font-size: 22px;
font-weight: bold;
margin: 8px auto;
height: 40px;
line-height: 40px;
margin: 0;
height: 100%;
width: 100%;
line-height: 36px;
text-align: center;
user-select: none;
}
& .wordlist-description {
font-size: 18px;
margin: 6px auto;
line-height: 18px;
text-align: center;
}

& textarea.wordlist-body {
width: 340px;
height: 400px;
margin: 5px 15px;
border: 1px solid black;
border-radius: 5px;
margin: 0 12px;
border: 2px solid #ccc;
overflow-y: scroll;
font-size: 18px;
line-height: 24px;
padding: 8px;
line-height: 28px;
padding: 5px 10px;
flex-grow: 1;
resize: none;
&:focus {
Expand Down
2 changes: 1 addition & 1 deletion src/components/panel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { debug, error } from '../utils/logger'

class Panel {
panelCSS = `
#bili-cleaner{position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);width:max(32vw,300px);height:90vh;border-radius:10px;background:#f4f5f7;box-shadow:0 0 8px rgba(0,0,0,.25);overflow:auto;z-index:2147483640}#bili-cleaner #bili-cleaner-bar{width:max(32vw,300px);height:6vh;background:#fb7299;border-top-left-radius:10px;border-top-right-radius:10px;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}#bili-cleaner #bili-cleaner-bar #bili-cleaner-title{width:max(32vw,300px);height:6vh;display:flex;justify-content:center;align-items:center;color:#fff;font-weight:bold;font-size:22px}#bili-cleaner #bili-cleaner-bar #bili-cleaner-title span{text-align:center}#bili-cleaner #bili-cleaner-bar #bili-cleaner-close{position:absolute;top:0;right:0;width:6vh;height:6vh;border-radius:6vh;display:flex;justify-content:center;align-items:center;cursor:auto}#bili-cleaner #bili-cleaner-bar #bili-cleaner-close:hover{background:rgba(255,255,255,.2)}#bili-cleaner #bili-cleaner-bar #bili-cleaner-close svg{text-align:center}#bili-cleaner #bili-cleaner-group-list{height:84vh;overflow:auto;scrollbar-width:none !important}#bili-cleaner #bili-cleaner-group-list::-webkit-scrollbar{display:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group{margin:14px;background:#fff;border-radius:6px;padding:8px 16px;border:1px solid #ddd;-webkit-user-select:none;-moz-user-select:none;user-select:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group hr{border:1px solid #eee;margin:5px 0 10px 0}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-group-title{font-size:20px;font-weight:bold;padding:2px;color:#000;letter-spacing:1px}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-list label{display:flex;align-items:center;margin:6px 0 6px 10px;font-size:16px;color:#000}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-list hr{border:1px solid #eee;margin:15px 20px}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-checkbox{width:50px;min-width:50px;height:27px;margin:0 1em 0 0;position:relative;border:1px solid #dfdfdf;background-color:#fdfdfd;box-shadow:#dfdfdf 0 0 0 0 inset;border-radius:50px;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-checkbox:before{content:"";width:25px;height:25px;position:absolute;top:0px;left:0;border-radius:50px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.5)}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-checkbox:checked{border-color:#fb7299;box-shadow:#fb7299 0 0 0 16px inset;background-color:#fb7299}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-checkbox:checked:before{left:25px}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-number{width:50px;min-width:50px;height:27px;margin:0 .5em 0 .5em;position:relative;border:1px solid #dfdfdf;background-color:#fdfdfd;box-shadow:#dfdfdf 0 0 0 0 inset;border-radius:5px;-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align:center;color:blue;font-size:16px;-moz-appearance:textfield}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-number::-webkit-inner-spin-button,#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-number::-webkit-inner-spin-button{-webkit-appearance:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-button{width:50px;background-color:#fff;border:1px solid #666;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:16px;margin:0 1em 0 0;outline:none;padding:5px 0;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;transition:box-shadow .2s,transform .1s;-moz-user-select:none;user-select:none;-webkit-user-select:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-button:active{background-color:#f7f7f7;border-color:#000;transform:scale(0.96)}#bili-cleaner-wordlist{background:#fff;border-radius:5px;position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);display:flex;flex-direction:column;border:1px solid #000;z-index:2147483641}#bili-cleaner-wordlist .wordlist-header{font-size:22px;font-weight:bold;margin:8px auto;height:40px;line-height:40px;text-align:center}#bili-cleaner-wordlist textarea.wordlist-body{width:340px;height:400px;margin:5px 15px;border:1px solid #000;border-radius:5px;overflow-y:scroll;font-size:18px;line-height:24px;padding:8px;flex-grow:1;resize:none}#bili-cleaner-wordlist textarea.wordlist-body:focus{outline:none !important}#bili-cleaner-wordlist .wordlist-footer{height:50px;display:flex;justify-content:space-evenly;padding:0 10px;align-items:center}#bili-cleaner-wordlist .wordlist-footer button{width:100px;height:30px;border-radius:5px;border:1px solid #666;font-size:18px}#bili-cleaner-wordlist .wordlist-footer button:hover{background-color:#666;color:#fff}
#bili-cleaner{position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);width:max(32vw,300px);height:90vh;border-radius:10px;background:#f4f5f7;box-shadow:0 0 8px rgba(0,0,0,.25);overflow:auto;z-index:2147483640}#bili-cleaner #bili-cleaner-bar{width:max(32vw,300px);height:6vh;background:#fb7299;border-top-left-radius:10px;border-top-right-radius:10px;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}#bili-cleaner #bili-cleaner-bar #bili-cleaner-title{width:max(32vw,300px);height:6vh;display:flex;justify-content:center;align-items:center;color:#fff;font-weight:bold;font-size:22px}#bili-cleaner #bili-cleaner-bar #bili-cleaner-title span{text-align:center}#bili-cleaner #bili-cleaner-bar #bili-cleaner-close{position:absolute;top:0;right:0;width:6vh;height:6vh;border-radius:6vh;display:flex;justify-content:center;align-items:center;cursor:auto}#bili-cleaner #bili-cleaner-bar #bili-cleaner-close:hover{background:rgba(255,255,255,.2)}#bili-cleaner #bili-cleaner-bar #bili-cleaner-close svg{text-align:center}#bili-cleaner #bili-cleaner-group-list{height:84vh;overflow:auto;scrollbar-width:none !important}#bili-cleaner #bili-cleaner-group-list::-webkit-scrollbar{display:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group{margin:14px;background:#fff;border-radius:6px;padding:8px 16px;border:1px solid #ddd;-webkit-user-select:none;-moz-user-select:none;user-select:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group hr{border:1px solid #eee;margin:5px 0 10px 0}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-group-title{font-size:20px;font-weight:bold;padding:2px;color:#000;letter-spacing:1px}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-list label{display:flex;align-items:center;margin:6px 0 6px 10px;font-size:16px;color:#000}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-list hr{border:1px solid #eee;margin:15px 20px}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-checkbox{width:50px;min-width:50px;height:27px;margin:0 1em 0 0;position:relative;border:1px solid #dfdfdf;background-color:#fdfdfd;box-shadow:#dfdfdf 0 0 0 0 inset;border-radius:50px;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-checkbox:before{content:"";width:25px;height:25px;position:absolute;top:0px;left:0;border-radius:50px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.5)}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-checkbox:checked{border-color:#fb7299;box-shadow:#fb7299 0 0 0 16px inset;background-color:#fb7299}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-checkbox:checked:before{left:25px}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-number{width:50px;min-width:50px;height:27px;margin:0 .5em 0 .5em;position:relative;border:1px solid #dfdfdf;background-color:#fdfdfd;box-shadow:#dfdfdf 0 0 0 0 inset;border-radius:5px;-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align:center;color:blue;font-size:16px;-moz-appearance:textfield}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-number::-webkit-inner-spin-button,#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-number::-webkit-inner-spin-button{-webkit-appearance:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-button{width:50px;background-color:#fff;border:1px solid #666;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:16px;margin:0 1em 0 0;outline:none;padding:5px 0;position:relative;text-align:center;text-decoration:none;touch-action:manipulation;transition:box-shadow .2s,transform .1s;-moz-user-select:none;user-select:none;-webkit-user-select:none}#bili-cleaner #bili-cleaner-group-list .bili-cleaner-group .bili-cleaner-item-button:active{background-color:#f7f7f7;border-color:#000;transform:scale(0.96)}#bili-cleaner-wordlist{background:#fff;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.25);overflow:hidden;position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);display:flex;flex-direction:column;z-index:2147483641}#bili-cleaner-wordlist .wordlist-header{background-color:#fb7299;color:#fff;font-size:22px;font-weight:bold;margin:0;height:100%;width:100%;line-height:36px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}#bili-cleaner-wordlist .wordlist-description{font-size:18px;margin:6px auto;line-height:18px;text-align:center}#bili-cleaner-wordlist textarea.wordlist-body{width:340px;height:400px;margin:0 12px;border:2px solid #ccc;overflow-y:scroll;font-size:18px;line-height:28px;padding:5px 10px;flex-grow:1;resize:none}#bili-cleaner-wordlist textarea.wordlist-body:focus{outline:none !important}#bili-cleaner-wordlist .wordlist-footer{height:50px;display:flex;justify-content:space-evenly;padding:0 10px;align-items:center}#bili-cleaner-wordlist .wordlist-footer button{width:100px;height:30px;border-radius:5px;border:1px solid #666;font-size:18px}#bili-cleaner-wordlist .wordlist-footer button:hover{background-color:#666;color:#fff}
`
panelHTML = `
<div id="bili-cleaner">
Expand Down
Loading

0 comments on commit 62c739d

Please sign in to comment.