A Chrome extension that enhances your Goodreads experience by showing where you can purchase books from Iranian online bookstores directly on book pages.
- Adds a convenient panel to Goodreads book pages
- Shows available Iranian online bookstores where the book can be purchased
- Seamlessly integrates with the existing Goodreads interface
- Helps Iranian readers find local sources for their desired books
- Go to the Releases page
- Download the latest
.zipfile from the most recent release - Extract the zip file to a folder on your computer
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right corner
- Click "Load unpacked" and select the extracted extension directory
- Clone this repository or download the source code
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right corner
- Click "Load unpacked" and select the extension directory
- Visit any book page on Goodreads.com
- Look for the new panel that appears on the page
- Browse through the list of Iranian online bookstores where the book is available
- Click on any store link to visit the book's page on that store
Two methods are available to package the extension locally:
- Using Node.js:
npm run pack
- Using Bash script:
npm run pack:bash
Both methods will generate:
- A
.crxfile that can be installed in Chrome - A
.zipfile that can be uploaded to the Chrome Web Store
The packaged files will be available in the dist directory.
This repository includes GitHub Actions workflows to automate the packaging process:
-
Automatic Packaging: On every push to the main branch, the extension is automatically packaged and made available as artifacts.
-
Release Creation: When you push a tag with the format
v*(e.g.,v1.0), a GitHub release is automatically created with the packaged extension attached. -
Dev Branch Testing: Pushes to the dev branch automatically trigger a test packaging process.
To create a new release:
# Update version in manifest.json first
git tag v1.0.1
git push origin v1.0.1The GitHub Actions will automatically create a release with the packaged extension files.
For detailed information about GitHub Actions setup and the development workflow, see ACTIONS.md.
This repository follows a branch-based development workflow:
main: Production-ready code. Changes pushed to this branch trigger automatic packaging.dev: Development branch for testing before merging to main.
For contributing:
- Fork the repository
- Create a feature branch from
dev - Make your changes
- Submit a pull request to the
devbranch
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.