Skip to content

Repository files navigation

Links in Bucket

A Chrome extension for collecting article links from newsletters into a "bucket" and dumping them into NotebookLM (or any text field) to generate podcasts.

Why

Programming newsletters are great, but reading them takes time. This extension lets you quickly save the articles you care about and later paste all the links into NotebookLM to create an audio overview you can listen to during your commute.

How It Works

  • Save to bucket: Right-click any link and select "Save to bucket". The extension follows any tracking/attribution redirects and saves the final article URL. A badge on the extension icon shows how many links are saved.
  • Dump from bucket: Right-click inside any text field and select "Dump from bucket". All saved links are pasted (one per line) and the bucket is emptied.

Setup

Prerequisites

  • Bun (used as package manager and bundler)
  • A Chromium-based browser (Chrome, Brave, Arc, Edge, etc.)

Install & Build

bun install
bun run build

Load in Chrome

  1. Open chrome://extensions/
  2. Enable Developer mode (toggle in the top-right corner)
  3. Click Load unpacked
  4. Select the dist/ folder from this project
  5. The extension icon should appear in your toolbar (pin it for easy access to the badge counter)

Usage

Saving links

  1. Open a newsletter email or web page
  2. Right-click on any article link
  3. Select "Save to bucket"
  4. The badge on the extension icon updates with the count

Dumping links

  1. Go to NotebookLM (or any page with a text field)
  2. Right-click inside the text input
  3. Select "Dump from bucket"
  4. All saved links appear in the field, one per line
  5. The bucket is now empty

Development

Project structure

src/
  background.ts   # Service worker: context menus, URL resolution, storage
  content.ts      # Content script: fills text fields with saved links
manifest.json     # Chrome extension manifest (Manifest V3)
icons/            # Extension icons (16, 48, 128px)
dist/             # Build output (this is what Chrome loads)

Commands

bun run build       # Compile TypeScript and assemble dist/
bun run typecheck   # Run the TypeScript compiler without emitting (catches type errors)

Making changes

  1. Edit the .ts files in src/
  2. Run bun run build
  3. Go to chrome://extensions/ and click the refresh icon on the extension card
  4. Test your changes

Tech stack

  • TypeScript — JavaScript with static types
  • Bun — all-in-one JS toolkit (package manager + bundler)
  • Chrome Extension Manifest V3 — the current extension platform

Known Limitations

  • JavaScript-based redirects are not resolved. The extension follows HTTP 301/302 redirects via fetch(), which covers the vast majority of newsletter tracking links. Links that redirect via client-side JavaScript will be saved as-is.

About

A Chrome extension for collecting links from newsletters into a "bucket" and dumping them into any text field

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages