新开发了一款浏览器Tab管理插件,OneTab 的升级替代品, 欢迎品尝!这是一款用来管理浏览器 Tab 标签页的浏览器
这是一款用来管理浏览器 Tab 标签页的浏览器插件,主要采用 React + Typescript + antd
等技术栈开发, 目前已经开源。发布插件审核被拒绝多次之后,终于成功发布了。
希望能跟大家一起探讨,期待您的宝贵建议。
项目介绍
- 项目地址: NiceTab
- 这款浏览器插件名叫
Nice Tab
, 取这个名字是希望它是一个用起来很 nice 的 tab 标签页管理工具;不过由于插件在 Chrome 浏览器中发布时,提交审核一直被拒绝,后来咨询 Google 官方支持后,才知道Nice Tab
这个名字太大众, 所以在扩展商店中的名称改为了[Nice Tab Manager | 标签页管理器]
, 审核通过了(针对审核中的一些注意事项,后面有时间了写一篇踩坑笔记)。 - 本插件功能类似于
OneTab
、N-Tab
等标签页管理插件,在它们的基础上新增了一些功能。支持谷歌Chrome、Firefox、微软Edge等浏览器。 - 项目采用
React + Typescript
语言,基于wxt框架开发(wxt框架内置vanilla | vue | react | svelte | solid
语言的初始化模板)。 - UI则直接使用了
Ant Design
框架。
项目初衷
我本人有点强迫症,浏览器标签页开多了就会焦虑,而且想要在众多标签页中切换到指定的页面也比较费劲儿。 后来用上 OneTab 之后,管理标签页方便了不少,提升了效率也节省了内存。因此很长一段时间一直使用 OneTab 插件来管理浏览器标签页。
经过一段时间对 OneTab 的使用体验,个人感觉有几个点不是特别顺手:
- 标签组虽然能重命名,但是导出后再导入就会丢失。
- 由于标签组重命名会丢失,所以我懒得花时间重命名,当标签组积累多了之后,很难找到指定的标签组。
- 插件图标右键菜单经常会出现好几个重复的菜单组,其中只有一个菜单组是能用的,但是你得挨个试才知道。
- 有时候我只是想要将一些标签页收藏进列表,并不想关闭它们,但是 OneTab 没有对应的设置项(这个只是我个人体验)。
- 还有就是,我想将某个标签组中的标签页移动到新的标签组,但是又没办法创建标签组,只能通过插件图标发送标签页到 OneTab 列表来创建新标签页。
- 等等等
另外,N-Tab
插件是开源的,当我看了它的源码后发现技术栈相对比较老旧,想参与共建有心无力了。
基于上面几点原因,最终促使我开发了 NiceTab
这个插件,在借鉴 OneTab
、N-Tab
等插件现有部分功能的基础上,添加了一些其他的功能。
功能介绍
- 支持分类、标签组、标签页管理,包括一键收集保存、恢复、星标、锁定、增删改查、拖拽排序等功能。
- 分类支持展开/收起,支持创建分类和标签组,方便移动其他标签组/标签页到新分类/新标签组。
- 支持多种插件格式的 导入/导出 功能,支持导出到本地。目前支持
NiceTab
、OneTab
格式的交叉导入导出(比如:可选择导入OneTab格式并导出为NiceTab格式;或者将NiceTab格式导出为OneTab格式),后续可根据需求增加其他插件格式的导入导出功能。 - 支持远程同步,您可根据需求将标签页同步到自己的 github 和 gitee 账号,只需要配置自己的 access token 即可,(注意 token 权限只勾选 gists 操作)。
- 支持皮肤主题切换,目前暂时设置了有限的几种主题色提供选择,后续可根据需求扩大选择范围。
- 支持多语言,目前暂时支持中英文切换 (英文版可能翻译的不够专业)。
- 支持回收站功能,回收站中的标签页可还原到标签列表或者彻底删除。标签列表和回收站支持根据分类和标签组归类合并,方便管理。
- 支持设置 发送标签页时-是否自动关闭标签页。
- 支持设置 发送标签页时-是否打开NiceTab管理后台。
- 支持设置 发送标签页时-是否发送固定标签页到NiceTab。
- 支持设置 恢复标签页/标签组时-是否保留或删除标签页/标签组。
- 支持设置 是否固定NiceTab管理后台。
- 支持一键发送 所有标签页、当前标签页、其他标签页、左侧标签页、右侧标签页。
- 支持快捷键(目前只添加了分类、标签组的上下移动排序的快捷键操作,后续可根据需求添加其他功能的快捷键操作)
功能截图
点击扩展图标
- 点击扩展图标,弹出popup面板。
- popup面板,可快速访问 列表页,设置页面,导入导出页面,回收站页面。
- popup面板,可快捷切换主题色。
- popup面板,可快捷访问和关闭当前打开的标签页。
右键菜单
右击扩展图标,展示右键菜单,可打开扩展管理后台页面。支持 一键发送 所有标签页、当前标签页、其他标签页、左侧标签页、右侧标签页。
扩展管理后台-列表页
- 管理发送到NiceTab的标签页,支持分类,标签组管理。
- 左侧列表支持拖拽和快捷键排序,右侧面板展示当前分类中的所有标签组和标签页,可进行相应的操作。
- 支持标签组删除和跨分类移动,以及多选标签页删除和跨标签组移动。
扩展管理后台-偏好设置页
您可根据自己的喜好,作相应的偏好设置。
扩展管理后台-导入导出
导入导出功能目前支持 NiceTab
和 OneTab
格式的交叉导入导出。
- 可导入
OneTab
格式的列表并解析为NiceTab
格式。 - 可将
NiceTab
格式的列表导出为NiceTab
或OneTab
格式。
扩展管理后台-回收站
- 分类、标签组、标签页删除后,会保留到回收站,您可将回收站的分类、标签组等还原到列表页或者彻底删除。
切换主题色
插件支持主题切换,您可以在扩展管理后台页或者 popup 弹窗中进行切换。
切换语言
插件支持语言切换,您可以在扩展管理后台页进行切换。
扩展商店
目前插件发布到了Chrome 应用商店和 Edge 商店。
其中谷歌的审核会比较严格,在多次修改审核被拒绝后才最终发布成功,如果符合发布规范,一般情况一天时间就审核完成了。
微软 Edge 商店的审核政策比较宽松,只是审核流程时长比较长,一般7天左右。
- 谷歌 Chrome 应用商店:Chrome Web Store (请升级新版)
- 微软 Edge 商店:Microsoft Edge Addons (由于审核周期比较长,版本发布会比Chrome版本慢)
- Firefox 暂未发布。
迭代计划
插件还有待完善的地方,后续会根据情况优化迭代。
- NiceTab 和 OneTab 格式导入导出功能
- 回收站功能
- 切换皮肤功能
- 支持多语言(目前暂时支持中英文切换)
- 标签页支持自定义编辑修改标题和url
- 版本检测,提示更新
- 发送标签页支持浏览器自带的标签组单独成组
- 远程同步功能:由于 Chrome Api限制,远程同步有数据大小和频次限制,大小限制 100K,频次限制 1次/2秒。所以目前暂时使用浏览器本地存储+支持导出到本地的方案。后续会添加远程存储同步功能
- 发送标签页操作添加快捷键
- 扩展图标右键菜单支持按需配置
- 其他
后面有时间,希望把插件开发过程和功能实现做一些分享。
参考链接
转载自:https://juejin.cn/post/7382966707059867684