{"id":13478729,"url":"https://github.com/james-cube/firefox-bookmarks-merger","last_synced_at":"2025-03-27T08:30:54.637Z","repository":{"id":30345368,"uuid":"98925064","full_name":"james-cube/firefox-bookmarks-merger","owner":"james-cube","description":"Tool for merging firefox bookmarks backups.","archived":false,"fork":false,"pushed_at":"2022-11-30T22:36:19.000Z","size":12,"stargazers_count":27,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-30T12:47:48.034Z","etag":null,"topics":["bookmarks","firefox"],"latest_commit_sha":null,"homepage":"","language":"Python","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/james-cube.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-31T20:02:23.000Z","updated_at":"2024-06-09T04:32:16.000Z","dependencies_parsed_at":"2023-01-14T16:48:12.526Z","dependency_job_id":null,"html_url":"https://github.com/james-cube/firefox-bookmarks-merger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-cube%2Ffirefox-bookmarks-merger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-cube%2Ffirefox-bookmarks-merger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-cube%2Ffirefox-bookmarks-merger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-cube%2Ffirefox-bookmarks-merger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/james-cube","download_url":"https://codeload.github.com/james-cube/firefox-bookmarks-merger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245809671,"owners_count":20676033,"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":["bookmarks","firefox"],"created_at":"2024-07-31T16:02:01.753Z","updated_at":"2025-03-27T08:30:54.262Z","avatar_url":"https://github.com/james-cube.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/james-cube/firefox-bookmarks-merger.svg?branch=master)](https://travis-ci.org/james-cube/firefox-bookmarks-merger)\n\n# firefox-bookmarks-merger\n\nTool for merging firefox bookmarks backups. Designed for people who don't want to use cloud based tools like firefox sync, plugins, want to version control their bookmarks backups or have any other reason to do this locally.\n\n## Usage\n\n### How to backup/restore firefox bookmarks? (up to date with Firefox 54)\n\nIn top menu `Bookmarks` under `Show All Bookmarks` there is button `Import and Backup` which allows you to perform those operations either using `json` or `html` file. This module uses and generates `json` backups. \n\n### How to use the tool?\n\n#### Listing bookmarks\n\nCreating simple tree structure showing all firefox bookmarks in menu, toolbar and starred.\n\n`python firefox_bookmarks_merger --list --files bookmarks-20XX-XX-XX.json --output output.txt`\n\n[Example output](https://github.com/james-cube/firefox-bookmarks-merger/blob/master/tests/pretty_print_expected.txt)\n\n#### Merge\n\nMerge two or more backup files into one. First one is considered \"primary\". Bookmarks from next backup files will be appended (if there is no duplication). Folders with same name are not merged, but duplication removal is recursive.\n\n`python firefox_bookmarks_merger --merge --files bookmarks-20XX-XX-XX.json bookmarks-20YY-YY-YY.json --output output.json`\n\n#### Merge to subdirectory\n\nSimple merge of two or more backup files. Each additional backup after primary is given his own folder in primary backup and all bookmarks are stored there, without duplicate removal. To put it simple, in example below, there will be folder named `bookmarks-20YY-YY-YY.json` generated alongside bookmarks from `bookmarks-20XX-XX-XX.json` with whole list stored there. \n\n`python firefox_bookmarks_merger --merge-to-subdir --files bookmarks-20XX-XX-XX.json bookmarks-20YY-YY-YY.json --output output.json`\n\n### All program arguments\n\n```\nusage: firefox_bookmarks_merger [-h] (--list | --merge | --merge-to-subdir)\n                                --files FILES [FILES ...] --output OUTPUT\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --list                Print titles and urls of all bookmarks\n  --merge               Merge bookmarks with duplicate removal\n  --merge-to-subdir     Create additional folder for merged bookmarks\n  --files FILES [FILES ...]\n                        List of files to process\n  --output OUTPUT       Output file\n```\n\n### Other modules \n\nI also developed similar tool for session management [Firefox Session Merger](https://github.com/james-cube/firefox-session-merger)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-cube%2Ffirefox-bookmarks-merger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjames-cube%2Ffirefox-bookmarks-merger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-cube%2Ffirefox-bookmarks-merger/lists"}