Skip to content

Benbinbin/TagDown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

83 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ข I build another bookmark manager extension called Nut Mark

I streamlined the features, and further optimized the interaction and UI design, making the plugin more targeted, simpler, and easier to use.

Compared to the TagDown extension, Nut Mark focus on collecting bookmarks with the following features to make the process more smoothly and easily

โœจ Clean "dirty" URL with one click

โœจ Navigate freely through the directory tree

โœจ Quick search to find the directory to hold the bookmark

Nut Mark makes bookmarking a breeze, so why not have a try? ๐Ÿ‘‰ check it out


TagDown

An Enhanced Bookmarks Manager Extension

Introduction

TagDown is an open source browser extension to manage bookmarks, you can browse, add, edit the bookmarks, it also supports for exporting bookmarks in different ways.

UI

๐Ÿ”— ไธญๆ–‡็‰ˆๆœฌ็š„็ฎ€ไป‹

Highlight

๐Ÿ’ก The extension uses two parts of data, the bookmark data in Chrome and additional data about the bookmarks stored in the IndexedDB database. They are all stored locally. Additional information enhancement is non-destructive and does not affect browser bookmarks data after uninstalling the extension.

Install

  1. Download the latest version TagDown zip file and unzip it

  2. Follow the instruction to install the unpacked extension:

    • open Chrome and navigate to chrome://extensions
    • Enable Developer Mode by clicking the toggle switch next to Developer mode
    • Click the LOAD UNPACKED button and select the unzip directory
  3. Then you can use this extension and Chrome as your bookmarks manager. feel free to play around!

๐Ÿ’ก Watch this ๐ŸŽฌ video playlist for more instructions on how to use it

Data

TagDown uses Chrome APIs to interact with the bookmarks and tabs, it doesn't depend on any backend server, so all data store in browser.

๐Ÿ’ก If you login the Chrome and turn sync on, the bookmarks will sync by Google, so you can share bookmarks between different devices with the same account (if you use Microsoft Edge, which is also based on Chromium, the bookmarks will sync by Microsoft).

In addition to using the bookmarks by calling the Chrome API, TagDown also save some data in IndexedDB, which is a database provided by browser to persistently store data. When you ๐ŸŽฌ add a new bookmarks by TagDown, you can provide addition information for the new bookmark, like tags, groups and description, this data will save inside the IndexedDB and they will not sync by Google, it always exist locally.

TagDown provides an ๐ŸŽฌ export and import feature, you can export the whole IndexedDB database as a json file and save it at you own place as a backup, and restore the database by import the file.

๐Ÿ’ก Each bookmark will be assigned a unique ID by Chrome, TagDown use this unique ID as the index at IndexedDB to connect different part of the data to different bookmark.

โš ๏ธ Please using TagDown all the time when you create a new bookmark, if you want to create a relative record at IndexedDB at the same time. But it will be fine, if there're a lot of bookmarks in the browser before installing TagDown, or create bookmark with the Chrome default tool. You can open the bookmark at any time and click the edit button on the TagDown, then save the relative data to IndexedDB manually.

FAQ

Why the TagDown uses IndexedDB as a database?

Although all bookmarks save inside the browser, they only contain the id, title, url and folder information, TagDown wants to attach more information to bookmark, like tags, description about the bookmark, so TagDown use an local database to save these data.

How to sync, backup or share data?

The data belongs to you. You can export the extensionโ€™s data at any time.

  • If you want to get all bookmarks data please use default exporting function provided by browser, you can get a HTML file instead:

    1. Go to the bookmark manager: chrome://bookmarks/
    2. Click the three dots in the upper/right
    3. Select Export Bookmarks from the drop-down menu
  • If you want ๐ŸŽฌ Export additional information about some bookmarks stored in IndexedDB, you can click the button in the settings page of the extension, you will get a JSON file

  • If you login the Chrome and turn sync on, the bookmarks will sync by Google, so you can share bookmarks between different devices with the same account

  • If you want to back up additional information about some bookmarks stored in IndexedDB, you can go to the extension's settings page to ๐ŸŽฌ set up WebDAV service, for example using Nutstore for backup. :warning: If you want to use other WebDAV services other than Nutstore, you need to modify the manifest.json file under the extension folder, and add the WebDAV server address to the host_permissions property. For example, if the server address you want to use is https://example.com/dav, the host_permissions attribute should be

    {
      // Omit other parts
      "host_permissions": [
        "https://dav.jianguoyun.com/dav/",
        "https://example.com/dav"
      ],
      // Omit other parts
    }
  • If you want to ๐ŸŽฌ Share bookmark, you can switch to the Pin page in the popup page of the extension, and export any bookmark you have chosen, you can also click the button to export the bookmark on the extension's settings page, and you will get a JSON file; you can also create a Token of Github to ๐ŸŽฌ share bookmarks as Gist.

If I uninstall the extension which part of the data will lose?

The bookmarks save inside the browser and sync by Google (if you use Chrome and turn sync on), so all the bookmarks will be fine if you uninstall the extension.

But the relative data create by TagDown and save in IndexedDB will be lost. You can ๐ŸŽฌ export these data before uninstall the extension, the json file can be a backup database, you can import it if you install the extension again in the next time.

By the way, the JSON format is so popular and you can open it with other text editors, like Visual Studio Code, and read or get the information directly.

If I re-install the extension which part of the data will lose?

When install the unpacked extension, Chrome will assign a unique ID for each extension, and IndexedDB follows a same-origin policy, which may cause the IndexedDB data lose after re-installing the extension if Chrome assign another ID for TagDown.

You can export these data before uninstall the extension, the json file can be a backup database, you can import it if you install the extension again in the next time.

How to upgrade TagDown?

If you upgrade TagDown from v1.0.0 to v2.0.0, you can uninstall the old version directly, then install the new version. But TagDown use IndexedDB from v2.0.0, and re-install the extension may cause IndexedDB data lost, so you only need to replace the folder of the extension source code with the new version directly in file system.

The difference between bookmarks data save in Browser and the IndexedDB.

IndexedDB data is a copy of the browser bookmark data, which has other information attached to each bookmark.

But in fact, it is not a complete copy version.

Only bookmarks created or modified through TagDown will have corresponding records in IndexedDB. Therefore, the exported Indexed database JSON file may not contain all bookmarks.

If you want to get all bookmarks data please use default exporting function provided by browser, you can get a HTML file instead:

  1. Go to the bookmark manager: chrome://bookmarks/
  2. Click the three dots in the upper/right
  3. Select Export Bookmarks from the drop-down menu

How to add a bulk bookmarks from multiple tabs at the same time?

Chrome provides a feature to add all tabs as bookmarks into a folder at the same time, you can use the short cut Ctrl + Shift + D to trigger this function.

Highly recommended to use another extension OneTab, which closes all tabs and returns a page with a corresponding list of links, which can also be shared as an online page for others user to view these links.

Wiki

ๅœจ wiki ๆˆ–ๆŽ˜้‡‘ๅฏๆŸฅ็œ‹่ฏฅ้กน็›ฎ็š„ๅผ€ๅ‘็ฌ”่ฎฐใ€‚

Version

  • v2.1.0 Add database backing up with WebDAV feature, add sharing bookmarks as gist feature. Optimized the interaction of popup page and provide more customization options.

  • v2.0.0 providing two modes, tree mode and grid mode, to browser and visualize the hierarchy bookmarks data, you can add new bookmarks and edit the existed bookmarks with some tags and groups in Version 2.0.0. With tags and groups attached to bookmark, you can export bookmarks in many ways. All data will be save in local, you can export the entire database or restore it by importing backup data at any time, so feel free to use this extension and chrome as your bookmarks manager.

  • v1.0.0 provide two modes to visualize the hierarchy data, you can browser and visualize the hierarchy bookmarks data fast and conveniently.

Todos

  • redesign the UI (Figma prototype)
  • support for adding new bookmark
  • support for editing existed bookmark
  • support for adding tags and groups to classify the bookmarks
  • support for adding memo/description to describe bookmark
  • override the Bookmark Manager page add pinning bookmarks temporarily feature to provide a more convenient way to manipulate bookmarks in batch
  • support for backing up and exporting the bookmark
  • support for sharing bookmarks as gist
  • support for backup database with WebDAV
  • support for searching bookmarks based on tags or groups