查看: 104|回复: 0

Bookmark Dupes

[复制链接]

9464

主题

0

回帖

2万

积分

超级版主

积分
28505
发表于 2026-8-26 08:49:44 | 显示全部楼层 |阅读模式

概述
# 书签骗子

(C) Martin Väth ,

该项目遵循 GNU 公共许可证 2.0。

可以显示/删除重复书签、空文件夹或说明的 WebExtension

安装好bookmarkdupes后,使用方法就相当简单了:

要打开书签重复项,请单击扩展符号(重复的星号)或
使用扩展程序选项页面中的链接。
**请勿启用“专家模式”**(除非您完全了解后果,
参见单独的部分)。
然后选择你想要显示的内容:

1. 为重复项添加书签
2. 清空文件夹
3. 不重复的书签

之后,您将看到带有复选框的书签列表;
在情况 1 中,数字表示匹配书签的顺序
根据内部存储的日期添加。
还有一些按钮可以选择/取消选择方便的复选框组。

最后,还有用于删除所选书签的按钮。

**请注意,删除书签是不可逆的!**
*建议先备份您的书签!*

目前,没有适用于 Android 的扩展的工作版本
(请参阅**已知错误**部分)。

## 重要

当您重新组织/添加/删除书签时,请务必更新
删除之前显示的列表(通过按相应按钮)
书签!

## 权限

由于这些原因,扩展程序需要以下权限:

1.“书签”读取/修改书签
2.“存储”用于存储/恢复专家模式下的自定义规则。
不幸的是,“存储”不是可选权限之一,这可能会导致
仅当用户实际请求该功能时才需要。

## 专家模式

当选择专家模式的复选框时,可以配置详细信息
在计算列表时或在什么情况下忽略某些书签
书签被认为是彼此的欺骗。

在非专家模式下,两个书签被认为是每个书签的重复项
其他(如果它们的 URL 一致)。
在专家模式下,有一些自定义规则,根据这些规则,实际的 URL
用于比较的要进行修改。详情如下。

对于每个书签,规则都按给定的顺序应用。
规则有2种类型:过滤规则和URL修改规则
(还有一些禁用规则,仅列出但没有任何作用)。

对于这两种类型的规则,可以指定使用 4 个正则表达式
判断规则是否适用:如果对应的正则表达式是
非空,则必须满足相应的条件,否则规则将不成立
申请。 (在过滤规则的情况下,这 4 个常规规则中至少有一个
表达式必须非空,否则过滤规则也将不适用。)

4个正则表达式分别指的是书签的名称或url,
正则表达式必须分别匹配或不匹配。

- 术语“正则表达式”是指 javascript 类型的正则表达式。
- 书签的名称是指出现在书签中的完整书签路径。
文件夹名称由空字符分隔的浏览器。
例如,如果“书签菜单”中有一个文件夹“Collection”
其中包含您的书签“Example”,书签的名称变为
`Bookmark Menu\0Collection\0Example` (其中 `\0` 表示空字符
可以用正则表达式“\0”或“\x00”来匹配)。
- 书签的URL是指可能修改后的书签URL
按照之前的修改规则。

如果应用过滤规则,则忽略相应的书签,即
它不会被视为重复,也不会出现在
空文件夹或所有书签的列表。

如果应用 URL 修改规则,则会发生文本替换:
与指定正则表达式匹配的所有部分都被替换为
替换文本(可能为空)。
此规则对应于 javascript String.prototype.replace
带有全局修饰符的函数。
特别是,替换文本可以包含类似的符号
`$&` 或 `$1` 引用整个匹配文本或
分别匹配正则表达式中第一个大括号。

以下5个替换文本具有超出范围的特殊含义
标准 javascript 替换规则。

请注意,只有在完全替换时,此特殊含义才有效
文本。换句话说,要获得特殊含义,替换文本一定不能
包含除这 4-6 个字符之外的任何内容。
(这并没有真正限制功能,因为可以组合
如有必要,有几条规则可以解决该限制。)

1. `\L$&` 是小写的匹配。
2. `\U$&` 是大写的匹配。
3. `$URL` 是应用任何其他规则之前的 url。
4. `$NAME` 是书签的全名/路径,文件夹之间用
空字符,例如“书签菜单\0收藏\0示例”
5. `$TITLE` 是书签的标题,不带路径;例如,对于
书签名称“书签菜单|收藏|示例”它是“示例”。

## 可以在专家模式下完成的特殊任务的示例

### 任务

1. 如果两个书签的 URL 仅在开头的“https:”与“http:”不同,则将两个书签视为重复。

2. 如果两个书签的 URL 与第一个“?”符号匹配,即仅其附加信息不同,则将两个书签视为重复。

3. 不要考虑任何名为“Mr.”的文件夹中的任何书签。 Dupe`` 作为重复项。

4. 将所有书签添加到重复项列表中,无论是否重复。

5. 添加文件夹“书签菜单|”中的所有书签将`Remove`添加到重复项列表中(无论它们实际上是否重复)。

6. 如果两个书签具有相同的名称(而不是相同的 URL),则将它们视为重复。

7. 如果两个书签位于同一文件夹中,则将它们视为重复。

### 如何在专家模式下完成上述任务

1. 使用替换规则:“Replace URL matches” `^http:` “by” `^https:`
说明:通过替换所有以“http:”开头的 URL
通过 `https:`,实际 URL 是否以 `http:` 开头并不重要
或“https:”。当然,我们可以交换`http`的角色
以及我们规则中的“https”。

2. 使用替换规则:“Replace URL matches” `\?.*` “by” ` `(空字符串)

说明:只需省略 ?符号及其后面的所有其他符号
在所有 URL 中。

3. 使用过滤规则:“姓名匹配”`\0Mr\。 Dupe\0` 或 `\0Mr[.] Dupe\0`

说明:如果书签位于名为“Mr. Dupe”的文件夹中,则其全名(路径)将包含文本“\0Mr. Dupe\0”;所以匹配该文本。自从“。”符号对于正则表达式有特殊的含义,我们必须引用它。这可以通过“\.”或通过查找仅包含单个符号“.”的字符类“[…]”来完成。

4. 使用替换规则:“Replace URL matches” `.+` “by” `constant`

说明:通过用该文本替换原始 URL 的所有字符 (`.+`),假装每个书签都具有 URL `constant`。

5. 使用替换规则:“Name Matches” `^Bookmark Menu\0Remove\0` “Replace URL matches” `.+` “by” `constant`

与 4 相同,但仅适用于全名以匹配路径开头的书签。
仅当文件夹包含至少 2 个书签时,此功能才有效(因为否则“constant”不是重复的 URL)。当然,可以使用实际重复的 URL 而不是“常量”来解决此限制。

6. 使用替换规则:“Replace URL matches” `.+` “by” `$TITLE`

说明:查找重复项时,将所有书签 URL 替换为相应的书签标题。

7. 使用替换规则“Replace URL matches”`.+`“by”`$NAME`,后接进一步的替换规则“Replace URL matches”`[^\0]*$`“by”``(空字符串)

说明:首先将 URL 替换为其全名路径,然后通过删除末尾最长的非“\0”符号序列来省略该路径的最后一个组成部分。

## 贡献者

(按字母顺序排列)
- Henaro 又名 Ironwool(俄语和乌克兰语翻译;重新设计 svg 中的图标;提供 favicon)
- 胡安·萨尔瓦多·亚历山德烈·塔伦斯(西班牙语翻译)
- YFdyh000(简体中文翻译)
.crx
7.2
74.14KiB
支持
.zip
7.2
74.14KiB
不支持
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|天翼网

相关侵权、举报、投诉及建议等,请发 E-mail:2026@typc.net

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|晋ICP备2026008270号-1|晋公网安备14010602111293号

QQ客服返回顶部