Skip to content

Latest commit

 

History

History
90 lines (62 loc) · 3.3 KB

README.md

File metadata and controls

90 lines (62 loc) · 3.3 KB

Bookmarks Patcher

Updates the URLs of your bookmarks. Useful if a site changed its domain.

Contents

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

A browser. I recommend Firefox.

Installing

Visit this page. The program runs in the browser.

Export your bookmarks from your browser.

Load them into the program.

Choose the options you like.

Hit Convert. The browser will automatically present you the patched bookmarks file.

Save this file and restore your bookmarks from this file.

Built With

Contributing

Please open an issue if you wanna help or have questions.

Roadmap

Things I already plan to implement, but didn't have yet:

  • [] Above: Turn all patched sites' links into https.
  • [] Above: Patch all.
  • [] If the user selects a file it will be automatically read.
  • [] Infos: name, type, size, last changed.
  • [] user can patch multiple times.

Authors

  • Max Fuxjäger - Initial work - MaxValue

License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

Acknowledgments

  • Mozilla Developer Network Documentation - Infos about Web Standards - MDN
  • Stackoverflow - Infos about Implementation Questions - Stackoverflow

Project History

This project was created because I (Max) was asked by a friend of mine to build him a program which can update his browser bookmarks. I put this off for a very long time, because I didn't know how to make a simple GUI with the programming languages I knew. Since I am now more focused on web development, I realized that a web app is much more suited for this task.

Technical Notes

While implementing this, I noticed some things about the bookmark container formats.

Mozilla's JSON Bookmark Export

  • Every bookmark is an object.
  • There are 3 different types of objects (defined at the type key):
    • "text/x-moz-place": This is a bookmark.
    • "text/x-moz-place-container": This is a subfolder of bookmarks.
    • "text/x-moz-place-separator": This is a separator (the horizontal lines in your bookmarks list) between bookmarks or folders.
  • If an object has sub-objects, those get stored in an array at the children key.
  • Such a children array only has objects as elements.
  • In an "text/x-moz-place" object, the uri key stores the bookmarked link.

"Netscape" HTML Bookmark Export

  • Is an html document, can be parsed by DOMParser().
  • Bookmarks are anchor elements, the bookmarked link is stored in href attribute.