Files
read-it-later/README.md
T

2.5 KiB

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) or loaded in a Developer Edition / Nightly build 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.