{"id":13911282,"url":"https://github.com/Benbinbin/TagDown","last_synced_at":"2025-07-18T11:30:46.278Z","repository":{"id":47674101,"uuid":"328861519","full_name":"Benbinbin/TagDown","owner":"Benbinbin","description":"A bookmarks manager Chrome extension.","archived":false,"fork":false,"pushed_at":"2023-05-04T14:53:33.000Z","size":1843,"stargazers_count":127,"open_issues_count":3,"forks_count":17,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-08T13:03:34.061Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Benbinbin.png","metadata":{"files":{"readme":"README-CN.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"benbinbin","custom":"https://afdian.net/a/benbinbin"}},"created_at":"2021-01-12T03:31:24.000Z","updated_at":"2025-05-12T10:37:28.000Z","dependencies_parsed_at":"2024-08-07T02:06:15.702Z","dependency_job_id":null,"html_url":"https://github.com/Benbinbin/TagDown","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Benbinbin/TagDown","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benbinbin%2FTagDown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benbinbin%2FTagDown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benbinbin%2FTagDown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benbinbin%2FTagDown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Benbinbin","download_url":"https://codeload.github.com/Benbinbin/TagDown/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Benbinbin%2FTagDown/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265750895,"owners_count":23822680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-07T00:02:04.849Z","updated_at":"2025-07-18T11:30:45.942Z","avatar_url":"https://github.com/Benbinbin.png","language":"Vue","funding_links":["https://ko-fi.com/benbinbin","https://afdian.net/a/benbinbin"],"categories":["Vue"],"sub_categories":[],"readme":":loudspeaker: 我创建了另一个书签管理扩展程序，名为 [Nut Mark](https://nutmark.benbinbin.com/)\n\n我基于当前这个插件对功能进行了精简，进一步优化了交互和UI设计，使插件更加针对性、更简单易用。\n\n与 TagDown 扩展相比，Nut Mark 专注于提供以下功能，使书签收集过程更加顺畅和简单：\n\n:sparkles: 「一键清理」链接\n\n:sparkles: 「自由」地浏览目录树，以便快速地寻找到目标文件夹\n\n:sparkles: 支持基于书签名称或目录名称搜索文件夹\n\nNut Mark 让收藏书签变得更轻松，为什么不试试呢？ :point_right: [查看详情](https://nutmark.benbinbin.com/)\n\n---\n\n# TagDown\n\n\u003cp align=\"center\"\u003e\n    \u003cimg style=\"width: 60%; padding:5rem\" src=\"https://user-images.githubusercontent.com/40909550/132101266-ebb79e42-4f1d-45bb-ba61-4013c9fb63ed.png\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e一款增强型的书签管理插件\u003c/p\u003e\n\n## 简介\nTagDown 是一款开源的书签管理插件， 您可以使用扩展程序*浏览*、*新增*、*修改*书签，它也支持以不同方式*导出*书签。\n\n![UI](https://user-images.githubusercontent.com/40909550/137291507-f04ce62e-82fc-4835-ad9d-7c98aa07cdbd.png)\n\n:link: [Introduction English Version](./README.md)\n\n## 特点\n\n* 支持 :clapper: [新增](https://www.bilibili.com/video/BV1up4y1s7VP?p=4)书签，并**附加额外的信息，例如 `tags`、`groups` 等**\n* 支持 :clapper: [导出](https://www.bilibili.com/video/BV1up4y1s7VP?p=7)任意书签为 `json` 文档\n* 以 :clapper: [树图](https://www.bilibili.com/video/BV1up4y1s7VP?p=3)的形式浏览层级结构的书签数据\n* 一键打开多个书签，支持在 :clapper: [标签组](https://www.bilibili.com/video/BV1up4y1s7VP)内打开书签\n* IndexedDB 数据库支持 :clapper: [WebDAV 备份](https://www.bilibili.com/video/BV1up4y1s7VP?p=12)\n* 支持将书签 :clapper: [分享为 Gist](https://www.bilibili.com/video/BV1up4y1s7VP?p=10)\n\n:bulb: 该扩展程序使用两部分数据，存储在 Chrome 中的书签数据和保存在 IndexedDB 数据库中关于书签的额外数据，**它们都保存在本地**。额外附加的信息是「非破坏性」的，即卸载扩展程序后，不会影响浏览器的书签数据\n\n## 安装\n1. 下载最新版本的 [TagDown](https://github.com/Benbinbin/TagDown/releases) `zip` 文件并解压\n2. 根据官方[指南](https://developer.chrome.com/docs/extensions/mv2/getstarted/#:~:text=added%20as%20an%20extension%20in%20developer%20mode%20in%20its%20current%20state)「加载已解压的扩展程序」：\n    * 打开 Chrome 浏览器并访问 `chrome://extensions` 网址\n    * 在页面的右上角激活 `开发者模式`\n    * 点击左上角 `加载已解压的扩展程序` 选择解压后的文件夹以安装扩展程序\n3. 然后您可以使用此扩展程序和 Chrome 作为您的书签管理器。请尝试使用！\n\n:bulb: :clapper: [此系列视频](https://www.bilibili.com/video/BV1up4y1s7VP)是关于扩展程序的使用说明\n\n## 数据\nTagDown 使用 Chrome 提供的 APIs 与书签和标签进行交互，它不依赖于任何后台服务器，所以**所有数据都存储在本地浏览器中**。\n\n:bulb: 如果您的 Chrome 浏览器登录账号，并[打开同步选项](https://support.google.com/chrome/answer/185277)，书签将由 Google 进行同步，这样您可以使用同一账户在不同设备之间共享书签（如果您使用微软推出的 Edge 浏览器，它也是基于 Chromium 内核进行开发的，也可以安装该插件，书签将由微软进行[同步](https://support.microsoft.com/en-us/microsoft-edge/sign-in-to-sync-microsoft-edge-across-devices-e6ffa79b-ed52-aa32-47e2-5d5597fe4674)）。\n\n除了通过调用 Chrome 的 APIs 来使用书签外，TagDown 还将一些数据保存在 **[IndexedDB](https://developer.mozilla.org/zh-TW/docs/Web/API/IndexedDB_API)** 中，这是一个由浏览器提供的数据库，用于持久性地存储数据。当您 :clapper: **[通过 TagDown 添加新书签](https://www.bilibili.com/video/BV1up4y1s7VP?p=4)**，可以为新书签提供额外的信息，如 `tags`、`groups` 和 `description` 等，这些数据将保存在 IndexedDB 中，它们**不会**被 Google 同步，它总是保存在本地。\n\nTagDown 提供了 :clapper: [`export` 和 `import` 功能](https://www.bilibili.com/video/BV1up4y1s7VP?p=10)，您可以将整个 IndexedDB 数据库导出为 `json` 文件并保存在您指定的地方作为备份，并通过导入该文件恢复数据库。\n\n:bulb: Chrome 会为每个书签分配一个唯一的 ID，TagDown 使用这个唯一的 ID 作为 IndexedDB 的索引，将数据库中不同部分的数据与不同的书签相匹配。\n\n:warning: 如果您想在 IndexedDB 为书签创建一条相应记录，请在新增书签时优先使用 TagDown 插件。话虽如此，如果在安装 TagDown 之前，浏览器中已经存在很多书签，或者您顺手[用 Chrome 的默认工具创建书签](https://support.google.com/chrome/answer/188842)也是没问题，因为之后您还可以通过修改书签的方式，手动添加数据到 IndexedDB 数据库中。\n\n## 常见疑问解答\n\n### TagDown 为什么需要使用 IndexedDB 数据库？\n虽然书签都保存在浏览器中，但它们只包含 `id`、`title`、`url` 和文件夹信息，TagDown 希望给书签附加更多的信息，如 `tags`、`description` 等，因此使用一个内置在浏览器中的本地数据库来保存这些数据。\n\n### 如何同步、备份、分享数据？\n数据是属于您的，因此您可以随时导出该扩展程序的数据。\n\n* 如果您希望导出全部书签数据，请使用浏览器提供的默认导出功能，您将会得到一个 HTML 文件：\n\n    1. 进入书签管理器：`chrome://bookmarks/`\n    2. 点击页面右上角的汉堡菜单（三个小点）\n    3. 从下拉菜单中选择 `导出书签`\n\n* 如果您希望 :clapper: [导出](https://www.bilibili.com/video/BV1up4y1s7VP?p=10)存储在 IndexedDB 中关于部分书签的额外数据，可以在扩展程序的设置页面点击相应的按钮导出，您将得到一个 JSON 文件\n\n* 如果您希望同步全部书签数据，请在 Chrome 中登录账号，并[打开同步选项](https://support.google.com/chrome/answer/185277)，书签将由 Google 进行同步，这样您可以使用同一账户在不同设备之间共享书签。\n\n* 如果您希望备份存储在 IndexedDB 中关于部分书签的额外数据，可以在扩展程序的设置页面中 :clapper: [配置 WebDAV 服务](https://www.bilibili.com/video/BV1up4y1s7VP?p=12)，例如使用[坚果云](https://help.jianguoyun.com/?p=2064)进行同步备份。\n    :warning: 如果希望使用坚果云**以外**的 WebDAV 服务，需要将修改扩展程序文件夹下的 `manifest.json` 文件，将 WebDAV 服务器地址添加到 `host_permissions` 属性中。例如希望支持的服务器地址为 `https://example.com/dav`，则 `host_permissions` 属性应为\n    ```json\n    {\n      // 省略显示其他部分\n      \"host_permissions\": [\n        \"https://dav.jianguoyun.com/dav/\",\n        \"https://example.com/dav\"\n      ],\n      // 省略显示其他部分\n    }\n    ```\n\n* 如果希望 :clapper: [分享书签](https://www.bilibili.com/video/BV1up4y1s7VP?p=9)，可以在扩展程序的弹出页面中，切换到 Pin 页面，导出选择的任意书签，也可以在扩展程序的设置页面，点击相应的按钮导出书签，您将得到一个 JSON 文件；也可以[配置 Github 个人令牌](https://docs.github.com/cn/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)，:clapper: [将书签同步分享为 Gist](https://www.bilibili.com/video/BV1up4y1s7VP?p=10)。\n\n\n### 如果卸载/移除扩展程序会丢失哪一部分数据？\n\n书签保存在浏览器中并由 Google 同步（如果您使用 Chrome 并打开同步选项），**因此如果您卸载扩展程序，请放心，所有书签都不会受影响**。\n\n但是 TagDown 创建并保存在 **IndexedDB 中的相关数据将会丢失**。 您可以在卸载扩展前 :clapper: **[导出](https://www.bilibili.com/video/BV1up4y1s7VP?p=10)** 这些数据，获得的 `json` 文件可以作为备份数据库，下次重新安装扩展时可以导入以恢复 IndexedDB 相关数据。\n\n顺便说一句，JSON 格式的文件是很常见的，您可以使用其他文本编辑器打开它，例如 [Visual Studio Code](https://code.visualstudio.com/)，直接浏览文档内容。\n\n### 如果重新安装扩展程序会丢失哪一部分数据？\n\n当安装解压后的扩展时，Chrome 会给每个扩展分配一个唯一的 ID，而 IndexedDB 遵循[同源策略](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Terminology)限制，如果Chrome 为 TagDown 分配了另一个 ID，那么在重新安装扩展后，**可能会导致 IndexedDB 数据丢失**。\n\n您可以在卸载扩展之前**导出**这些数据，这个 `json` 文件可以作为一个备份数据库，您可以在下次重新安装扩展时导入它。\n\n### 如何升级 TagDown？\n如果从 TagDown v1.0.0 升级到 v2.0.0 可以直接卸载原有旧版本，安装新版本。但是从 v2.0.0 版本开始 TagDown 使用数据库，**而重新安装扩展程序可能会导致 IndexedDB 数据丢失，所以之后的升级，您只需要直接用新版本的文件夹*覆盖*替换**原来的扩展的文件夹。\n\n### 在浏览器中保存的书签数据与 IndexedDB 中保存的数据的区别\nIndexedDB 数据是浏览器书签数据的副本，它在书签上都附加有其他信息。\n\n**但事实上，它并*不是*一个完整拷贝**。\n\n**只有通过 TagDown 创建或修改过的书签，才会在 IndexedDB 中有相应的记录**。因此，导出的 Indexed 数据库所获得的 JSON 文件可能并不包含所有书签。\n\n如果您想得到所有的书签数据，请使用浏览器提供的默认导出功能，您将会得到一个 HTML 文件：\n\n1. 进入书签管理器：`chrome://bookmarks/`\n2. 点击页面右上角的汉堡菜单（三个小点）\n3. 从下拉菜单中选择 `导出书签`\n\n### 如何为所有标签页批量创建书签？\nChrome 提供了「为所有标签页添加书签」的功能，以批量创建书签，您可以使用快捷键 `Ctrl + Shift + D` 来触发该功能。\n\n强烈推荐使用另一个扩展程序 [OneTab](https://www.one-tab.com/)，它关闭所有标签，并返回一个带有相应链接列表的页面，也可以将该页面开启在线功能，共享给其他人查看。\n\n## Wiki\n在 [wiki](https://github.com/Benbinbin/TagDown/wiki/TagDown-%E6%89%A9%E5%B1%95%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0) 或[掘金](https://juejin.cn/column/7018368500662009892)可查看该项目的开发笔记。\n\n## 版本\n* [v2.1.0](https://github.com/Benbinbin/TagDown/releases/tag/v2.1.0) 新增 WebDAV 同步备份功能，新增 Gist 同步分享功能。优化了弹出框的交互，提供更多自定义选项。\n\n* [v2.0.0](https://github.com/Benbinbin/TagDown/releases/tag/v2.0.0) 提供两种模式，**树图模式**和**网格模式**，以**浏览器和可视化**层次化的书签数据，您可以在 2.0.0 版本中**添加**新书签和**编辑**现有书签，并添加 `tags` 和 `groups` 等额外信息。 通过附加到书签的 tag 和 group，您可以**以多种方式导出书签**。 所有数据都将保存在本地，您可以随时**导出整个数据库或导入备份以恢复它**，因此请尝试使用该扩展程序和 chrome 作为您的书签管理器。\n\n* [v1.0.0](https://github.com/Benbinbin/BookDown/releases/tag/v1.0.0) 提供两种模式，**浏览和可视化**层次化的书签数据。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBenbinbin%2FTagDown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBenbinbin%2FTagDown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBenbinbin%2FTagDown/lists"}