src/config.ts
file describes routes to work with and selectors to get data and inject it into the page.src/pages/background/modules/*
files where we listen to Patreon API and fill the storage with data.src/content/ui/*
files where we inject UI elements into the page.src/shared/components/*
reusable components.src/shared/storages/*
dynamic storage which is shared between every page.
- Clone this repository.
- Change
extensionDescription
andextensionName
in messages.json - Install pnpm globally:
npm install -g pnpm
(check your node version >= 16.6, recommended >= 18) - Run
pnpm install
- Run:
- Dev:
pnpm dev
ornpm run dev
- Prod:
pnpm build
ornpm run build
- Dev:
- Open in browser -
chrome://extensions
- Check -
Developer mode
- Find and Click -
Load unpacked extension
- Select -
dist
folder
- Run:
- Dev:
pnpm dev:firefox
ornpm run dev:firefox
- Prod:
pnpm build:firefox
ornpm run build:firefox
- Dev:
- Open in browser -
about:debugging#/runtime/this-firefox
- Find and Click -
Load Temporary Add-on...
- Select -
manifest.json
fromdist
folder
This code is licensed for viewing purposes only. Any modification, redistribution, or commercial use is strictly prohibited. See the LICENSE file for more details.
Used the storage permission to save Patreon authors' posts locally on your device. This allows me to display the content in a full-screen mode as part of the enhanced reading experience provided by the extension. The stored data is not shared and remains local to your browser.
Used the tabs permission to detect when you are on a Patreon tab and enhance your experience accordingly. If you are not on Patreon, the extension can automatically open a new tab for you to navigate to Patreon. This ensures that you always have access to the features provided by our extension without manually switching tabs
Used the scripting permission to inject custom scripts into Patreon pages. These scripts modify the content and layout of the page to provide an enhanced reading experience. For example, the scripts may restructure the page to display posts in a more reader-friendly format, add functionality like full-screen mode, or customize the appearance of posts based on your preferences.
The cookies permission is used to maintain your session data on Patreon and Scheduleon, ensuring that you stay logged in and your preferences are remembered while using the extension. This helps in providing a seamless and consistent experience when interacting with the websites.
Requested host permissions for the following domains to provide essential functionality for the Scheduleon extension: https://www.patreon.com/* This permission allows the extension to interact with Patreon, enhancing the user experience by modifying page layouts, injecting scripts, and enabling full-screen reading mode. https://www.readeon.com/*