Skip to content

Commit 5c048dc

Browse files
committed
feat: ✨ 增加 ehentai 在缩略图列表页里展开标签列表功能
1 parent de40170 commit 5c048dc

12 files changed

Lines changed: 165 additions & 42 deletions

File tree

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
"site.add_feature.quick_tag_define",
7171
"site.add_feature.remember_current_site",
7272
"site.add_feature.tag_lint",
73+
"site.add_feature.expand_tag_list",
7374
"description",
7475
"img_status.error",
7576
"img_status.loading",

README.md

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
168168
- [百合会新站](https://www.yamibo.com)
169169
- [动漫之家](https://manhua.idmzj.com)
170170
- 解锁隐藏漫画
171-
- [ehentai](https://e-hentai.org)
171+
- [E-Hentai](https://e-hentai.org)
172172
- [关联 nhentai](#关联-nhentai)
173173
- [快捷收藏](#快捷收藏)
174174
- [标签染色](#标签染色)
@@ -240,14 +240,15 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
240240

241241
明明在板块顶部有个“新窗”的选项来选择帖子的默认打开位置,但即使勾上了新窗,通过点击帖子后面的页数打开的页面还是会在当前页打开。开启这个功能可以补上这个缺漏。
242242

243-
## ehentai
243+
## E-Hentai
244244

245245
![ehentai例图](/docs/public/ehentai例图.png)
246246

247247
除悬浮按钮外,也会在右侧边栏会增加一个「Load comic」按钮,功能和悬浮按钮一样。
248248

249-
> ehentai 图片链接会在一段时间后过期失效,因此建议开启「始终加载所有图片」,确保在过期前加载好所有图片,避免在过期后需要重新获取新链接增加耗时。
250-
> 如果还需要下载和翻译的话,建议开启「[图像识别](#图像识别)」功能,避免在下载和翻译时出错。
249+
> E-Hentai 的图片链接会在一段时间后过期失效,因此建议开启「始终加载所有图片」设置,在过期前就加载好所有图片。
250+
>
251+
> 如果需要经常下载和翻译的话,建议再开启「[图像识别](#图像识别)」功能,在加载阶段直接下载好图片文件,避免之后因图片链接过期而出错。
251252
252253
### 加载指定页码
253254

@@ -257,13 +258,13 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
257258

258259
### 关联外站
259260

260-
关联其他站点的漫画源,使用外站源来加载图片,避免消耗 ehentai 的配额,同时或许也能用更快的速度加载图片
261+
关联其他站点的漫画源,使用外站源来加载图片,避免消耗配额,同时或许(?)也能用更快的速度加载图片
261262

262263
结果会以标签的形式显示在标签列表中,鼠标悬停在标签上可以看到外站漫画的具体标题,点击标签后会出现跳至外站或直接加载的选项,也可以直接右键标签点击「在新标签页中打开」来跳至外站。
263264

264265
目前支持 nhentai 和 hitomi。
265266

266-
> nhentai 的反爬风控会定期调整,有时候会严格到即使已经在 nhentai 登录了也会出错,只能嗯等阶段性调整过去
267+
> nhentai 的反爬风控会不定期调整,有时会严格到即使已经在 nhentai 登录了也不行,这时候只能嗯等阶段性调整过去
267268
268269
### 快捷收藏
269270

@@ -273,7 +274,9 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
273274

274275
![eh快捷收藏-列表页](/docs/public/eh快捷收藏-列表页.webp)
275276

276-
> 使用 `鼠标中键` 点击或按住 `ctrl``shift``alt` 等任意修饰键再点击可以调出原本的收藏弹窗
277+
> 因为没有空间放输入框,加上感觉收藏备注功能很少会使用,所以不支持收藏备注。
278+
>
279+
> 如有需要,可以使用 `鼠标中键` 点击或按住 `ctrl``shift``alt` 等任意修饰键再点击可以调出原本的收藏弹窗
277280
278281
### 标签染色
279282

@@ -285,20 +288,26 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
285288

286289
> 标签颜色数据将在 `功能开启时``进入 My Tags 时``在 My Tags 中修改后` 更新
287290
288-
同时顺便对 My Tags 和列表页显示的标签按照颜色、命名空间、权重等信息进行排序。
291+
> 同时顺便对 My Tags 和列表页上显示的标签,按照颜色、命名空间、权重等信息进行排序。
289292
290293
### 悬浮标签列表
291294

292295
因为「[E绅士标签翻译辅助工具-标签编辑](https://github.com/EhTagTranslation/UserScripts/tree/master/TagEditor)」无法和本脚本适配所以就自己实现了这个功能。让标签列表可以随意拖动和被快捷键唤出。默认关闭,需手动开启。
293296

294297
![eh悬浮标签列表](/docs/public/eh悬浮标签列表.webp)
295298

296-
相较原脚本增加了快捷键 `q` 以便在阅读模式下唤出(可在设置中修改),并能同时显示「[EhSyringe](https://github.com/EhTagTranslation/EhSyringe)」的标签描述,透明度改用 `Shift + 鼠标滚轮` 调节
299+
相较原脚本增加了快捷键 `q` 以便在阅读模式下唤出(可在设置中修改),并能同时显示「[EhSyringe](https://github.com/EhTagTranslation/EhSyringe)」的标签描述,使用 `Shift + 鼠标滚轮` 调节透明度
297300

298-
在悬浮状态下:打完标签后输入框会自动失焦以便能快速用快捷键关掉、输入框只要用鼠标划过就会自动聚焦省去鼠标点击
301+
在悬浮状态下,打完标签后输入框会自动失焦以便能立刻用快捷键关闭窗口,并且输入框只要用鼠标划过就会自动聚焦省去鼠标点击
299302

300303
标签可以直接拖拽进输入框。判定范围很广,不一定要拖到输入框上,只要在面板里就行。
301304

305+
### 展开标签列表
306+
307+
默认缩略图列表下只会显示关注的标签。开启此功能后,点击标签区域即可展开详细的标签列表,也可以通过将鼠标移至目标上后按快捷键 `q` 来展开(和「[悬浮标签列表](#悬浮标签列表)」功能共用一个快捷键)。
308+
309+
![eh展开标签列表](/docs/public/eh展开标签列表.webp)
310+
302311
### 标签检查
303312

304313
检查并提示下列情况:
@@ -353,9 +362,7 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
353362

354363
### 彻底屏蔽漫画
355364

356-
nhentai 的屏蔽机制是在被屏蔽漫画封面加上一层半透明遮罩,所以对于那些屏蔽范围比较大的人来说,在首页或搜索结果里连续翻上几页都是满屏的被屏蔽漫画完全是家常便饭。开启此功能后,被屏蔽漫画将被彻底屏蔽,不会再出现在首页或搜索结果里了。
357-
358-
> 开启此功能后可能出现一整页的漫画都被屏蔽的情况,建议搭配无限滚动
365+
nhentai 只给被屏蔽漫画加上了一层半透明遮罩而没有隐藏,被屏蔽漫画还是会占用着页面空间。开启此功能后,被屏蔽漫画将被彻底屏蔽。
359366

360367
### 无限滚动
361368

docs/index.md

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
168168
- [百合会新站](https://www.yamibo.com)
169169
- [动漫之家](https://manhua.idmzj.com)
170170
- 解锁隐藏漫画
171-
- [ehentai](https://e-hentai.org)
171+
- [E-Hentai](https://e-hentai.org)
172172
- [关联 nhentai](#关联-nhentai)
173173
- [快捷收藏](#快捷收藏)
174174
- [标签染色](#标签染色)
@@ -240,14 +240,15 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
240240

241241
明明在板块顶部有个“新窗”的选项来选择帖子的默认打开位置,但即使勾上了新窗,通过点击帖子后面的页数打开的页面还是会在当前页打开。开启这个功能可以补上这个缺漏。
242242

243-
## ehentai
243+
## E-Hentai
244244

245245
![ehentai例图](https://comic-read-docs.pages.dev/ehentai例图.png)
246246

247247
除悬浮按钮外,也会在右侧边栏会增加一个「Load comic」按钮,功能和悬浮按钮一样。
248248

249-
> ehentai 图片链接会在一段时间后过期失效,因此建议开启「始终加载所有图片」,确保在过期前加载好所有图片,避免在过期后需要重新获取新链接增加耗时。
250-
> 如果还需要下载和翻译的话,建议开启「[图像识别](#图像识别)」功能,避免在下载和翻译时出错。
249+
> E-Hentai 的图片链接会在一段时间后过期失效,因此建议开启「始终加载所有图片」设置,在过期前就加载好所有图片。
250+
>
251+
> 如果需要经常下载和翻译的话,建议再开启「[图像识别](#图像识别)」功能,在加载阶段直接下载好图片文件,避免之后因图片链接过期而出错。
251252
252253
### 加载指定页码
253254

@@ -257,13 +258,13 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
257258

258259
### 关联外站
259260

260-
关联其他站点的漫画源,使用外站源来加载图片,避免消耗 ehentai 的配额,同时或许也能用更快的速度加载图片
261+
关联其他站点的漫画源,使用外站源来加载图片,避免消耗配额,同时或许(?)也能用更快的速度加载图片
261262

262263
结果会以标签的形式显示在标签列表中,鼠标悬停在标签上可以看到外站漫画的具体标题,点击标签后会出现跳至外站或直接加载的选项,也可以直接右键标签点击「在新标签页中打开」来跳至外站。
263264

264265
目前支持 nhentai 和 hitomi。
265266

266-
> nhentai 的反爬风控会定期调整,有时候会严格到即使已经在 nhentai 登录了也会出错,只能嗯等阶段性调整过去
267+
> nhentai 的反爬风控会不定期调整,有时会严格到即使已经在 nhentai 登录了也不行,这时候只能嗯等阶段性调整过去
267268
268269
### 快捷收藏
269270

@@ -273,7 +274,9 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
273274

274275
![eh快捷收藏-列表页](https://comic-read-docs.pages.dev/eh快捷收藏-列表页.webp)
275276

276-
> 使用 `鼠标中键` 点击或按住 `ctrl``shift``alt` 等任意修饰键再点击可以调出原本的收藏弹窗
277+
> 因为没有空间放输入框,加上感觉收藏备注功能很少会使用,所以不支持收藏备注。
278+
>
279+
> 如有需要,可以使用 `鼠标中键` 点击或按住 `ctrl``shift``alt` 等任意修饰键再点击可以调出原本的收藏弹窗
277280
278281
### 标签染色
279282

@@ -285,20 +288,26 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
285288

286289
> 标签颜色数据将在 `功能开启时``进入 My Tags 时``在 My Tags 中修改后` 更新
287290
288-
同时顺便对 My Tags 和列表页显示的标签按照颜色、命名空间、权重等信息进行排序。
291+
> 同时顺便对 My Tags 和列表页上显示的标签,按照颜色、命名空间、权重等信息进行排序。
289292
290293
### 悬浮标签列表
291294

292295
因为「[E绅士标签翻译辅助工具-标签编辑](https://github.com/EhTagTranslation/UserScripts/tree/master/TagEditor)」无法和本脚本适配所以就自己实现了这个功能。让标签列表可以随意拖动和被快捷键唤出。默认关闭,需手动开启。
293296

294297
![eh悬浮标签列表](https://comic-read-docs.pages.dev/eh悬浮标签列表.webp)
295298

296-
相较原脚本增加了快捷键 `q` 以便在阅读模式下唤出(可在设置中修改),并能同时显示「[EhSyringe](https://github.com/EhTagTranslation/EhSyringe)」的标签描述,透明度改用 `Shift + 鼠标滚轮` 调节
299+
相较原脚本增加了快捷键 `q` 以便在阅读模式下唤出(可在设置中修改),并能同时显示「[EhSyringe](https://github.com/EhTagTranslation/EhSyringe)」的标签描述,使用 `Shift + 鼠标滚轮` 调节透明度
297300

298-
在悬浮状态下:打完标签后输入框会自动失焦以便能快速用快捷键关掉、输入框只要用鼠标划过就会自动聚焦省去鼠标点击
301+
在悬浮状态下,打完标签后输入框会自动失焦以便能立刻用快捷键关闭窗口,并且输入框只要用鼠标划过就会自动聚焦省去鼠标点击
299302

300303
标签可以直接拖拽进输入框。判定范围很广,不一定要拖到输入框上,只要在面板里就行。
301304

305+
### 展开标签列表
306+
307+
默认缩略图列表下只会显示关注的标签。开启此功能后,点击标签区域即可展开详细的标签列表,也可以通过将鼠标移至目标上后按快捷键 `q` 来展开(和「[悬浮标签列表](#悬浮标签列表)」功能共用一个快捷键)。
308+
309+
![eh展开标签列表](https://comic-read-docs.pages.dev/eh展开标签列表.webp)
310+
302311
### 标签检查
303312

304313
检查并提示下列情况:
@@ -353,9 +362,7 @@ Cotrans 也有自己的油猴脚本 —— 「[Cotrans 漫画/图片翻译器](h
353362

354363
### 彻底屏蔽漫画
355364

356-
nhentai 的屏蔽机制是在被屏蔽漫画封面加上一层半透明遮罩,所以对于那些屏蔽范围比较大的人来说,在首页或搜索结果里连续翻上几页都是满屏的被屏蔽漫画完全是家常便饭。开启此功能后,被屏蔽漫画将被彻底屏蔽,不会再出现在首页或搜索结果里了。
357-
358-
> 开启此功能后可能出现一整页的漫画都被屏蔽的情况,建议搭配无限滚动
365+
nhentai 只给被屏蔽漫画加上了一层半透明遮罩而没有隐藏,被屏蔽漫画还是会占用着页面空间。开启此功能后,被屏蔽漫画将被彻底屏蔽。
359366

360367
### 无限滚动
361368

683 KB
Loading

locales/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@
208208
"colorize_tag": "Colorize tags",
209209
"cross_site_link": "Cross-site Link",
210210
"detect_ad": "Detect advertise page",
211+
"expand_tag_list": "Expand tag list",
211212
"float_tag_list": "Floating tag list",
212213
"load_original_image": "Load original image",
213214
"lock_option": "Lock site option",

locales/hu.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@
208208
"colorize_tag": "标签染色",
209209
"cross_site_link": "Helyközi link",
210210
"detect_ad": "识别广告页",
211+
"expand_tag_list": "Címke lista kibontása",
211212
"float_tag_list": "悬浮标签列表",
212213
"load_original_image": "加载原图",
213214
"lock_option": "锁定站点配置",

locales/ru.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@
208208
"colorize_tag": "Раскрасить теги",
209209
"cross_site_link": "Кросс-сайтовая ссылка",
210210
"detect_ad": "Detect advertise page",
211+
"expand_tag_list": "Развернуть список тегов",
211212
"float_tag_list": "Плавающий список тегов",
212213
"load_original_image": "Загружать оригинальное изображение",
213214
"lock_option": "Блокировка опции сайта",

locales/ta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@
208208
"colorize_tag": "குறிச்சொல் கறை",
209209
"cross_site_link": "குறுக்கு-தள இணைப்பு",
210210
"detect_ad": "விளம்பர பக்கத்தை அடையாளம் காணவும்",
211+
"expand_tag_list": "டேக் பட்டியலை விரிக்கவும்",
211212
"float_tag_list": "இடைநீக்க சிட்டை பட்டியல்",
212213
"load_original_image": "ஏற்றுகிறது",
213214
"lock_option": "பூட்டு தள உள்ளமைவு",

locales/zh.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@
208208
"colorize_tag": "标签染色",
209209
"cross_site_link": "关联外站",
210210
"detect_ad": "识别广告页",
211+
"expand_tag_list": "展开标签列表",
211212
"float_tag_list": "悬浮标签列表",
212213
"load_original_image": "加载原图",
213214
"lock_option": "锁定站点配置",

src/site/ehentai/colorizeTag.ts

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,6 @@ import { debounce, getGmValue, hijackFn } from 'helper';
33
import { updateMyTags, handleMyTagsChange, type Tag } from './myTags';
44
import { type EhContext } from './helper';
55

6-
// 为每个标签单独生成 css。用于方便调试时排查和修改样式时使用
7-
// const buildTagColorCss = (
8-
// tag: string,
9-
// color: string,
10-
// border: string,
11-
// background: string,
12-
// ) => `
13-
// #td_${tag} { background: ${background}; }
14-
// #td_${tag}.gt { border-color: ${border}; }
15-
// #td_${tag}:not(.gt) { border-color: ${color}; }
16-
// #taglist a#ta_${tag} { color: ${color} !important; position: relative; }
17-
// `;
18-
196
const buildTagList = (tagList: Set<string>, prefix: string) =>
207
`\n${[...tagList].map((tag) => `${prefix}${CSS.escape(tag)}`).join(',\n')}\n`;
218

@@ -49,13 +36,13 @@ export const updateTagColor = async (tagList: Tag[]) => {
4936
css += `{ border-color: ${color}; }\n\n`;
5037

5138
css += `#taglist a:is(${buildTagList(tags, '#ta_')})`;
52-
css += `{ color: ${color} !important; position: relative; }\n\n`;
39+
css += `{ color: ${color}; position: relative; }\n\n`;
5340
}
5441

5542
css += `
5643
/* 禁用 eh 的变色效果 */
57-
#taglist a[id] { color: var(--tag) !important; position: relative; }
58-
#taglist a[id]:hover { color: var(--tag-hover) !important; }
44+
#taglist a[id] { color: var(--tag); position: relative; }
45+
#taglist a[id]:hover { color: var(--tag-hover); }
5946
6047
#taglist a[id]::after {
6148
content: "";

0 commit comments

Comments
 (0)