Skip to content

Commit

Permalink
Merge pull request #72 from festoney8/dev
Browse files Browse the repository at this point in the history
merge dev to main, v3.5.4
  • Loading branch information
festoney8 committed May 17, 2024
2 parents 191f651 + eee238f commit 1b04a90
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 23 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# CHANGELOG

## 3.5.4

- 更新:首页净化,适配AdGuard和网页变动
- 新增:动态页隐藏评论区投票
- 优化:功能细节

## 3.5.3

- 新增:首页隐藏稍后再看提示语
Expand Down
4 changes: 2 additions & 2 deletions src/filters/commentFilter/pages/actions/action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ export class UsernameAction implements CommentFilterAction {
this.blacklist = new WordList(
this.valueKey,
'用户名 黑名单',
'保存时自动去重,实时生效',
'每行一个用户名,保存时自动去重',
(values: string[]) => {
this.edit(values)
},
Expand Down Expand Up @@ -110,7 +110,7 @@ export class ContentAction implements CommentFilterAction {
this.blacklist = new WordList(
this.valueKey,
'评论关键词 黑名单',
`每行一个关键词,支持正则(iv),语法:/abc|\\d+/`,
`每行一个关键词或正则,不区分大小写\n正则无需flag(默认iv模式)语法:/abc|\\d+/`,
(values: string[]) => {
this.edit(values)
},
Expand Down
39 changes: 27 additions & 12 deletions src/filters/videoFilter/pages/actions/action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,14 @@ export class UploaderAction implements VideoFilterAction {
uploaderFilterInstance.setStatus(this.status)
uploaderFilterInstance.setParams(this.value)
// 初始化黑名单, callback触发edit, 必需用箭头函数
this.blacklist = new WordList(this.valueKey, 'UP主 黑名单', '保存时自动去重,实时生效', (values: string[]) => {
this.edit(values)
})
this.blacklist = new WordList(
this.valueKey,
'UP主 黑名单',
'每行一个UP主昵称,保存时自动去重',
(values: string[]) => {
this.edit(values)
},
)
}

enable() {
Expand Down Expand Up @@ -229,9 +234,14 @@ export class BvidAction implements VideoFilterAction {
bvidFilterInstance.setStatus(this.status)
bvidFilterInstance.setParams(this.value)
// 初始化黑名单, callback触发edit
this.blacklist = new WordList(this.valueKey, 'BV号 黑名单', '保存时自动去重,实时生效', (values: string[]) => {
this.edit(values)
})
this.blacklist = new WordList(
this.valueKey,
'BV号 黑名单',
'每行一个BV号,保存时自动去重',
(values: string[]) => {
this.edit(values)
},
)
}

enable() {
Expand Down Expand Up @@ -286,7 +296,7 @@ export class TitleKeywordAction implements VideoFilterAction {
this.blacklist = new WordList(
this.valueKey,
'标题关键词 黑名单',
`每行一个关键词,支持正则(iv),语法:/abc|\\d+/`,
`每行一个关键词或正则,不区分大小写\n正则无需flag(默认iv模式)语法:/abc|\\d+/`,
(values: string[]) => {
this.edit(values)
},
Expand Down Expand Up @@ -345,7 +355,7 @@ export class UploaderKeywordAction implements VideoFilterAction {
this.blacklist = new WordList(
this.valueKey,
'UP主昵称关键词 黑名单',
`每行一个关键词,支持正则(iv),语法:/abc|\\d+/`,
`每行一个关键词或正则,不区分大小写\n正则无需flag(默认iv模式)语法:/abc|\\d+/`,
(values: string[]) => {
this.edit(values)
},
Expand Down Expand Up @@ -401,9 +411,14 @@ export class UploaderWhitelistAction implements VideoFilterAction {
uploaderWhitelistFilterInstance.setStatus(this.status)
uploaderWhitelistFilterInstance.setParams(this.value)
// 初始化白名单, callback触发edit
this.whitelist = new WordList(this.valueKey, 'UP主 白名单', '保存时自动去重,实时生效', (values: string[]) => {
this.edit(values)
})
this.whitelist = new WordList(
this.valueKey,
'UP主 白名单',
'每行一个UP主昵称,保存时自动去重',
(values: string[]) => {
this.edit(values)
},
)
}

enable() {
Expand Down Expand Up @@ -458,7 +473,7 @@ export class TitleKeywordWhitelistAction implements VideoFilterAction {
this.whitelist = new WordList(
this.valueKey,
'标题关键词 白名单',
`每行一个关键词,支持正则(iv),语法:/abc|\\d+/`,
`每行一个关键词或正则,不区分大小写\n正则无需flag(默认iv模式)语法:/abc|\\d+/`,
(values: string[]) => {
this.edit(values)
},
Expand Down
12 changes: 12 additions & 0 deletions src/rules/dynamic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,12 @@ if (isPageDynamic()) {
defaultStatus: true,
itemCSS: `.reply-header .reply-notice {display: none !important;}`,
}),
// 隐藏 投票
new CheckboxItem({
itemID: 'video-page-hide-top-vote-card',
description: '隐藏 投票',
itemCSS: `.comment-container .top-vote-card {display: none !important;}`,
}),
// 隐藏 整个评论框
new CheckboxItem({
itemID: 'video-page-hide-main-reply-box',
Expand Down Expand Up @@ -344,6 +350,12 @@ if (isPageDynamic()) {
itemCSS: `.bili-avatar-nft-icon {display: none !important;}
.comment-container .bili-avatar-icon {display: none !important;}`,
}),
// 隐藏 用户投票 (红方/蓝方)
new CheckboxItem({
itemID: 'video-page-hide-vote-info',
description: '隐藏 用户投票 (红方/蓝方)',
itemCSS: `.comment-container .vote-info {display: none !important;}`,
}),
// 隐藏 评论内容下tag(UP觉得很赞)
new CheckboxItem({
itemID: 'video-page-hide-reply-tag-list',
Expand Down
5 changes: 3 additions & 2 deletions src/rules/homepage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -389,10 +389,11 @@ if (isPageHomepage()) {
itemID: 'homepage-hide-ad-card',
description: '隐藏 广告',
defaultStatus: true,
itemCSS: `.feed-card:has(.bili-video-card__info--ad, [href*="cm.bilibili.com"]) {
itemCSS: `
:is(.feed-card, .bili-video-card.is-rcmd):has(.bili-video-card__info--ad, [href*="cm.bilibili.com"]) {
display: none !important;
}
.bili-video-card.is-rcmd:has(.bili-video-card__info--ad, [href*="cm.bilibili.com"]) {
:is(.feed-card, .bili-video-card.is-rcmd):not(:has(.bili-video-card__wrap, .bili-video-card__skeleton)) {
display: none !important;
}
Expand Down
4 changes: 2 additions & 2 deletions src/rules/video.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Group } from '../components/group'
import { CheckboxItem } from '../components/item'
import { debugRules as debug, error } from '../utils/logger'
import { matchAvidBvid, matchBvid } from '../utils/tool'
import { isPageBnj, isPagePlaylist, isPageVideo } from '../utils/page-type'
import { isPageFestival, isPagePlaylist, isPageVideo } from '../utils/page-type'
import { GM_getValue, GM_setValue } from '$'

/** BV号转AV号 */
Expand Down Expand Up @@ -297,7 +297,7 @@ if (isPageVideo() || isPagePlaylist()) {
}

// 部分适配拜年祭视频页(播放器、弹幕栏规则多数生效)
if (isPageVideo() || isPagePlaylist() || isPageBnj()) {
if (isPageVideo() || isPagePlaylist() || isPageFestival()) {
// 播放器
const playerItems = [
// 隐藏 一键三连弹窗
Expand Down
8 changes: 4 additions & 4 deletions src/utils/page-type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ const currPage = (): string => {
if (!href.includes('bilibili.com/v/popular/') && href.includes('bilibili.com/v/')) {
return 'channel'
}
if (href.match(/bilibili\.com\/festival\/20\d\dbnj/) || href.includes('bilibili.com/festival/bnj20')) {
// 匹配拜年祭活动页、拜年祭单品视频
return 'bnj'
// 拜年祭等活动
if (href.includes('www.bilibili.com/festival/')) {
return 'festival'
}
return ''
}
Expand All @@ -60,6 +60,6 @@ export const isPageLiveHome = () => ans === 'liveHome'
export const isPageLiveRoom = () => ans === 'liveRoom'
export const isPageBangumi = () => ans === 'bangumi'
export const isPagePlaylist = () => ans === 'playlist'
export const isPageBnj = () => ans === 'bnj'
export const isPageFestival = () => ans === 'festival'
export const isPageChannel = () => ans === 'channel'
export const isPageSpace = () => ans === 'space'
2 changes: 1 addition & 1 deletion vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default defineConfig({
userscript: {
name: 'bilibili 页面净化大师',
namespace: 'http://tampermonkey.net/',
version: '3.5.3',
version: '3.5.4',
description:
'净化 B站/哔哩哔哩 页面,支持「精简功能、播放器净化、过滤视频、过滤评论、全站黑白名单」,提供 300+ 功能,定制自己的 B 站',
author: 'festoney8',
Expand Down

0 comments on commit 1b04a90

Please sign in to comment.