This is Bookit, a little Firefox/Chrome extension I made for people (like me) who keep way too many tabs open (sometimes). You don't want to close them because they might be important, maybe some research, an article, or just tabs you don't want to lose. But now you can't restart your browser or shut down your computer because you're scared you'll lose it all.
Here's what Bookit does: you click the button, and it saves all your tabs into a folder called Bookit in your bookmarks. Inside that folder, it creates another one with today's date. If you use it again on the same day, it'll number the folder so that they don't get messy.
That's it. Now you can close/restart your browser. When you're ready, just go to the folder, right-click, and reopen everything :)
This extension supports both Chrome and Firefox through different manifest versions:
Using NPM Scripts (Recommended):
# For Chrome development
npm run dev:chrome
# For Firefox development
npm run dev:firefox
# Build for both browsers
npm run build:allUsing Shell Scripts:
# For Chrome
./build-chrome.sh
# For Firefox
./build-firefox.shChrome (Manifest V3):
- Run
npm run dev:chromeor copymanifest_chrome.jsontomanifest.json - Open Chrome and go to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" and select this folder
Firefox (Manifest V2):
- Run
npm run dev:firefoxor copymanifest_firefox.jsontomanifest.json - Open Firefox and go to
about:debugging - Click "This Firefox"
- Click "Load Temporary Add-on"
- Select the
manifest.jsonfile
- Save All Tabs: Bookmark all open tabs with one click
- Smart Organization: Automatically organizes bookmarks by date
- Combine Folders: Move all bookmark folders into an archive
- Visual Feedback: Button text changes to confirm completion
- Cross-Browser: Works on both Chrome and Firefox
manifest_chrome.json- Chrome-specific manifest (Manifest V3)manifest_firefox.json- Firefox-specific manifest (Manifest V2)background.js- Cross-browser background scriptpopup.js- Cross-browser popup scriptpopup.html- Extension popup interfacebuild-*.sh- Build scripts for each browserpackage.json- NPM scripts for building