Skip to content

qb20nh/qrg

Repository files navigation

qrg

A Chrome extension (Manifest V3) for generating QR codes for the current active tab.

Features

  • 🔗 Generate QR codes for web pages (http/https URLs)
  • 🌓 Dark and light theme support
  • 🎨 Pixel-perfect QR code rendering
  • ⚡ Fast and lightweight (~4KB QR library)
  • 🔒 Privacy-focused (no external requests)

Project Structure

qrg/
├── manifest.json              # Extension manifest (MV3)
├── background/                # Background service worker
│   └── background.js          # Extension lifecycle events
├── popup/                     # Popup interface
│   ├── popup.html             # Popup HTML
│   ├── popup.js               # Popup script
│   └── popup.css              # Popup styles
├── shared/                    # Shared modules
│   ├── config.js              # Centralized config (SSOT for colors & constants)
│   ├── theme.js               # Theme management (initialization, toggling, CSS vars)
│   └── qr.js                  # QR code generation wrapper
├── vendor/                    # Third-party dependencies
│   ├── lean-qr-nano.mjs       # QR code library (v2.6.0)
│   ├── lean-qr-LICENSE        # Library license
│   └── README.md              # Vendor documentation
├── icons/                     # Extension icons
│   ├── icon-16.png            # Light and dark theme variants
│   ├── icon-48.png
│   ├── icon-128.png
│   ├── light_mode.svg         # Light theme toggle icon
│   ├── dark_mode.svg          # Dark theme toggle icon
│   └── download.svg           # Download button icon
├── LICENSE                    # MIT License
├── NOTICES                    # Third-party attributions
└── README.md

Development

Loading the Extension

  1. Open Chrome and navigate to chrome://extensions/
  2. Enable "Developer mode" (toggle in top right)
  3. Click "Load unpacked"
  4. Select the qrg directory

Requirements

  • Chrome browser (or Chromium-based browser with Manifest V3 support)

License

This project is licensed under the MIT License. See LICENSE for details.

Third-party components are licensed under their respective licenses. See NOTICES for attribution details.