r3bl-org/r3bl-shortlink
GitHub: r3bl-org/r3bl-shortlink
这是一个浏览器扩展,允许用户通过短链接快速打开多个标签页,简化多标签管理并提升访问效率。
Stars: 12 | Forks: 11
# R3BL Shortlink - 用 Typescript 和 React 编写的浏览器扩展
目录:
- [它是什么?](#what-is-it)
- [前置条件](#prerequisites)
- [可选项](#option)
- [包含内容](#includes-the-following)
- [项目结构](#project-structure)
- [设置](#setup)
- [构建](#build)
- [监视模式构建](#build-in-watch-mode)
- [终端](#terminal)
- [Visual Studio Code](#visual-studio-code)
- [将扩展加载到 Chrome](#load-extension-to-chrome)
- [测试](#test)
## 演示视频
https://github.com/r3bl-org/shortlink/assets/2966499/fbe8df3f-2ad9-43b8-8a13-ad43e09a9bed
## 它是什么?
多年前我在 Google 工作时,有一种方法可以创建名为“go link”的东西。
Chrome 商店中有一个[已弃用的扩展](https://chrome.google.com/webstore/detail/shortlink/apgeooocopnncglmnlngfpgggkmlcldf)复制了此功能。其思路是创建一个你可以记住的名称,来代表一个或多个标签页。例如,如果你想访问你的“银行”网站,你可以创建一个名为“banking”的短链接,来打开美国银行和西岸银行等网站。
这等同于创建书签,但速度更快。你只需在 Chrome 地址栏中输入“go”,然后按 Tab 键,再输入“banking”。按下 Enter 键,你的标签页就会重新打开!
目前此浏览器扩展仅适用于 Chrome。如果你想参与贡献,有很多问题需要解决。其中之一是将其移植到 Firefox 和 Edge。
## 前置条件
- [node + npm](https://nodejs.org/) (当前版本)
## 可选项
- [Visual Studio Code](https://code.visualstudio.com/)
## 包含内容
- TypeScript
- Webpack
- React
- Jest
- Code
- Chrome Storage
- Badge number
- Background script
## 项目结构
| 文件夹 | 描述 |
| --------- | --------------------------- |
| `src/` | TypeScript 源文件 |
| `public/` | 静态文件 |
| `dist` | Chrome 扩展目录 |
| `dist/js` | 生成的 JavaScript 文件 |
## 设置
```
npm install
```
## 构建
```
npm run build
```
## 监视模式构建
### 终端
```
npm run watch
```
### Visual Studio Code
运行监视模式。
输入 `Ctrl + Shift + B`
## 将扩展加载到 Chrome
加载 `dist` 目录。
## 测试
运行 `npx jest` 或 `npm run test`。
## Firefox 版本
- [清单文件](https://addons.mozilla.org/en-US/developers/addon/r3bl-shortlink/)
- [为该版本所做的更改的 PR](https://github.com/r3bl-org/shortlink/pull/40)
- [从 Chrome 移植到 Firefox 扩展的信息](https://decembergarnetsmith.com/2024/05/10/how-to-port-an-mv3-chrome-extension-to-firefox/)
- [Chrome 和 Firefox 扩展之间的区别](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/background#browser_support)
标签:Edge扩展, Firefox扩展, GNU通用公共许可证, Node.js, React, Syscalls, TypeScript, URL缩短, 响应拦截, 安全插件, 快捷键, 扩展开发, 标签页管理, 浏览器扩展, 生产力工具, 短链接, 自动化攻击