1 分•作者: sellswordsoft•5 个月前
嗨,HN,
我开发了 JustBookmarks,这是一个小型的桌面书签管理器,适用于那些希望拥有一个独立于浏览器的书签“真相来源”的人。我之所以开发它,是因为我经常切换浏览器:Vivaldi、Zen、Helium、Brave 等。我希望有一种中心化的方式来管理书签,而这种方式独立于任何单个浏览器。我最终会得到不同状态的、相互之间同步程度不同的导出书签文件,管理起来非常令人沮丧。所以我研究了现有的工具,它们要么是在线的(Raindrop),要么是自托管的但过于复杂(Linkwarden),同时不知何故缺少最基本的书签管理功能——文件夹,反而专注于非标准化的分组方式,比如标签。
这些其他工具构建了自己的数据模型来引入非标准功能,需要你导出到受支持的文件才能将这些书签导入你的浏览器。所以,我决定直接使用最通用兼容的书签文件类型——Netscape 书签文件格式,这样会更简单。
基本思路是:
* 直接使用 Netscape 书签 HTML 格式作为数据模型
* 你只需要管理一个 .html 文件
* 该文件可以直接导入到你正在使用的任何浏览器中
* 没有云端、SaaS、废话,它只是你电脑上的一个文件
功能:
* 文件夹树
* 搜索(非常快)
* 拖放重新排序文件夹和书签
* 记住上一次会话的状态
* 自动获取图标和标题
* 每次编辑时自动保存
* 能够将多个书签文件合并成一个
* 直观的键盘快捷键
```
- ctrl+z 撤销,ctrl+shift+z & ctrl+y 重做
- ? 或 F1 打开帮助/快捷键菜单
- Ctrl/Shift 配合鼠标或箭头键进行多选,以进行批量操作
- F2 重命名
- 更多
```
它并不想搞花哨。没有标签,也没有同步平台或浏览器扩展。只有一个书签文件,你可以根据自己的需要进行备份或同步。
希望得到一些反馈,因为我发现我找不到类似的东西,这有点疯狂。我确信它已经存在,只是我找不到,这就是我在这里发帖的原因,希望将来有人搜索时能找到它。
为什么选择 Go 和 Svelte?
主要是因为我不想花太长时间开发它,我希望它存在,这样我就可以使用它。Web 堆栈确实非常适合制作 UI,但 Electron 在很多方面都很糟糕,所以我想选择一个替代方案。虽然 Tauri 可能是“更好”的选择,但 Rust 的工具堆栈有点重,编译速度也比较慢,而 Go 则不同。如果我设想几年后的情况,有人试图拉取和构建代码,我认为 Go 会更容易。Wails 采用了与 Tauri 类似的方法,只是用 Go 代替了 Rust,并且性能相当不错。至于 Svelte?我只是喜欢它。它很好。开发速度快,性能也快。也就是说。我强烈考虑将前端重写为 Fyne,这样就可以全部使用 Go,从而简化维护和构建堆栈。Web 堆栈/npm 世界中的任何东西都有很多变化。