SuperBook is an open-source Chrome extension that enhances your reading experience by providing instant word definitions and improved text interaction on any webpage.
- β¨ Features
- π₯οΈ Demo
- π Installation
- π οΈ Development
- π Project Structure
- π§ Technologies Used
- π€ Contributing
- π License
- π Bug Reports & Feature Requests
- π Support
- β‘ Instant Definitions: Select any word to get instant dictionary meanings
- π¨ Beautiful UI: Modern, minimal, and accessible design with React + Tailwind CSS
- π Fast & Lightweight: Built with performance and low resource usage in mind
- π Privacy-Focused: Works entirely offline after setup; no data collection
- π Universal Compatibility: Works seamlessly across all websites
- β¨οΈ Keyboard Navigation: Use β/β arrows to browse word history
- π Word History: Automatically saves and displays recent lookups
π§ Coming soon β The Chrome Web Store release is under review.
For now, you can test it manually via Developer Mode (see below).
Coming soon β extension will be published to the Chrome Web Store.
-
Download or clone this repository
git clone https://github.com/BennyPerumalla/SuperBook
-
Open Chrome and go to:
chrome://extensions/ -
Enable Developer mode (top right corner)
-
Click Load unpacked and select the
publicfolder -
Youβll now see SuperBook listed in your extensions
Before starting, ensure you have Node.js (v16 or higher) installed. We recommend using pnpm β a fast, disk-efficient package manager.
pnpm is a next-generation package manager that:
- π Installs dependencies faster by using a global content-addressable store
- πΎ Saves disk space β shared packages arenβt duplicated across projects
- β‘ Improves performance with efficient caching and linking
- π§© Maintains strict version control, ensuring consistent builds
In short, itβs faster, leaner, and more reliable than traditional npm installs.
You can install pnpm globally using npm:
npm install -g pnpmTo verify the installation:
pnpm -vYou should see the version number (e.g., 9.0.0 or later).
-
Fork the repository
git clone https://github.com/your-username/SuperBook.git cd SuperBook -
Create a new branch
git checkout -b feature/your-feature-name
-
Install dependencies using pnpm
pnpm install
-
Start local development (demo site)
pnpm run dev
-
Build and test your changes
pnpm run build
SuperBook/
βββ public/ # Extension bundle + web demo static
β βββ manifest.json # Chrome Extension Manifest V3
β βββ background/ # Background service worker (MV3)
β β βββ background.js
β βββ content/ # Content scripts injected on pages
β β βββ content.js
β βββ popup/ # Popup scripts (canonical popup is popup.html)
β β βββ popup.js
β βββ styles/ # CSS for inβpage tooltip/highlights
β β βββ tooltip.css
β βββ icons/ # Extension icons
β β βββ icon16.png
β β βββ icon48.png
β β βββ icon128.png
β βββ popup.html # Canonical popup UI (terminalβstyle)
β βββ popup-terminal.html # Alternate popup kept for reference
βββ src/ # React demo app (Vite)
β βββ components/ # Reusable UI + demo components
β βββ hooks/ # Custom React hooks
β βββ lib/ # Helpers / utilities
β βββ pages/ # Demo pages (Index, NotFound)
βββ index.html # Demo app HTML shell (Vite)
βββ package.json # Project dependencies
βββ vite.config.ts # Vite setup (alias `@` β ./src)
| Category | Stack |
|---|---|
| Frontend | React 18, TypeScript |
| Styling | Tailwind CSS, shadcn/ui |
| Build Tool | Vite |
| Extension API | Chrome Extension Manifest V3 |
| Dictionary API | Free Dictionary API |
- The extension runtime (MV3) assets live under
public/background/,public/content/, andpublic/styles/, referenced bypublic/manifest.json. - The popupβs canonical entry is
public/popup.html. The alternatepublic/popup-terminal.htmlis retained for reference. - The React demo app under
src/showcases the tooltip UX (DictionaryDemo+DictionaryTooltip) and is separate from the extension popup.
Contributions are the heart of open-source β€οΈ
Whether itβs fixing a typo, improving documentation, or adding a new feature β your help is welcome!
Please read our CONTRIBUTING.md for setup instructions, guidelines, and best practices before submitting a PR.
This project is licensed under the MIT License β see the LICENSE file for details.
If you find a bug or want to suggest an improvement:
-
Open an issue here β GitHub Issues
-
Clearly describe:
- The problem or suggestion
- Steps to reproduce (if applicable)
- Expected vs actual behavior
If you have questions or need help:
- Check the Issues page
- Or create a new issue β weβre happy to assist!
Made with β€οΈ by the SuperBook Team