# Shelf — Read Later A new-tab page that shows everything you've saved to read later, as a sortable grid or list. No account, no server — everything lives in your browser's local extension storage. ## How to save something - **Click the toolbar icon** — saves the page you're currently on. - **Right-click a page** → "Save page for later" - **Right-click a link** → "Save link for later" (doesn't need to be open) A ✓ briefly appears on the icon to confirm the save. ## The shelf (new tab page) - Toggle between **grid** (cards with thumbnails) and **list** (compact, bookshelf-spine style) — top right. - **Sort** by newest, oldest, title, or site. - **Search** filters by title, domain, or URL as you type. - **Archive** tucks an item away without deleting it; "Show archived" reveals archived items again. - **Delete** removes an item, with a 5-second **Undo**. Thumbnails are captured automatically when you save the *current* page (a screenshot of what's on screen). Links saved via right-click show a favicon instead, since the browser hasn't loaded that page yet. ## Install — Chrome / Edge (unpacked) 1. Go to `chrome://extensions` (or `edge://extensions`). 2. Turn on **Developer mode** (top right). 3. Click **Load unpacked** and select this folder. 4. Open a new tab — you should see the Shelf page. ## Install — Firefox (temporary, for testing) 1. Go to `about:debugging#/runtime/this-firefox`. 2. Click **Load Temporary Add-on…** 3. Select the `manifest.json` file inside this folder. 4. Open a new tab. Firefox will ask permission to let the extension override the new tab page the first time — allow it. > Temporary add-ons in Firefox are removed when you close the browser. > For a permanent install, the extension needs to be signed by Mozilla > (via [addons.mozilla.org](https://addons.mozilla.org)) or loaded in a > [Developer Edition / Nightly build](https://www.mozilla.org/firefox/developer/) > with `xpinstall.signatures.required` set to `false`. ## Notes / things you might want to change - Storage uses `chrome.storage.local`, so saved links stay on the device you saved them on. Swapping the `chrome.storage.local` calls for `chrome.storage.sync` in `background.js` and `newtab.js` would sync small link lists across your signed-in browsers, but `sync` storage has a much smaller quota (~100KB) and doesn't handle thumbnails well — not recommended once you have images in the mix. - Icons in `icons/` are placeholders — swap them for your own artwork any time; sizes 16/32/48/128 are already wired up in `manifest.json`.