A cross-browser extension to improve 🚀 productivity on Leetcode.
It is a light-weight browser extension which runs in the menu bar. It boosts your productivity by hiding unnecessary visual elements from the screen, enabling you to focus on what is important. You can change your preferences form the popup menu and find out what best suits your needs.
- Hide Locked Problems
- Hide / Show Specific Table Columns (incl. Difficulty, Acceptance etc.)
- Highlight Solved Problems
- Hide Difficulty Count
- Hide Solutions Users' Profile Images
Note: The extension functions on the following URLs :
- https://leetcode.com/problemset/all/ (old and new UI)
- https://leetcode.com/tag/
- https://leetcode.com/problems/
- https://leetcode.com/problems/discuss/
-
To install this extension from Chrome Web Store click here.
-
After installation, you should pin this extension to use its features.
- To install this extension from Firefox Browser Addons click here.
- To install this extension from Microsoft Edge Addons click here.
- In case of Mozilla Firefox, the icon will appear in the address bar as this is a page specific extension, this makes sure the extension is running, only when you need it and not all the time.
Clone the source code locally:
Would really appreciate if you can ⭐ the repository
$ git clone https://github.com/loveshdongre/leetcode-enhancer/
$ cd leetcode-enhancer
- Go to
chrome://extensions/
and enableDeveloper mode
- Click on
load unpacked
and select the folder containingmanifest.json
file - Pin this extension to use it.
- Go to
about:debugging
and click onThis Firefox
(if you are not already there) - Click on
Load Temporary Add-on...
and select themanifest.json
file - The addon will appear next to the address bar only when you are on leetcode
- follow steps in this link
- Install Live Sass Compiler (Ritwick Dey) extension on VS code or any other compiler of you choice and make sure before testing the compiler is watching and converting you scss file into css if making any changes in scss file.
- Install browserify globally
npm i browserify -g
- Once code changes are done run
run_browserify.sh
file. This take content-script-main.js, popup-main.js and service-worker-main.js and convert them to content-script.js, popup.js and service-worker.js respectively. For script files only edit the ones inside the scripts folder as the ones in root directory are generated via browserify.
- docs: Contains terms and condition, Licence and guide to obtain API key of Cohere
- icons: contains app logo, custom checkmark logos, etc
- images: contains display images for web stores (not deployed so don't add images in this folder)
- scripts: this is the main source folder where all the scripts are present. Browserify will bundle scripts within this folder.
- .babelrc: babel configuration file
- .gitignore: files ignored by git
- content-script.css: for injecting custom style sheet.
- deployment-zip-maker.sh: bash file to create zip file of the only files important for deployment
- manifest.json: Heart of the extension which contains all the configurations. (tip: understand this first)
- popup.css: style sheet for extension pop
- popup.css.map: intermediate file generated while converting .scss file to .css file with Live Sass Compiler extension (Vscode)
- popup.html: html file for extension pop
- popup.js: js file to handle changes like storaging checkbox preferences.
- popup.scss: Scss file for styling popup.html file.
- README.md: Guide for the entire extension
- run_browserify.sh: It will convert scripts written in scripts folder to service-worker.js, content-scripts.js and popup.js in the root directory.
- service-worker.js (background script): One important function is listens event from the content-script and enables extensioin icon in the browser
Contributions are always welcomed, here is what you need to do:
- Work on an existing issue or create a new one here
- Create a pull request linked to that issue
Note: Please set up your git config for user and email so your name gets updated as a contributor
Know more about pull request.
In order to add more useful features and keep the extension bug free your feedback is important. It will be really appreciated, if you could take out some time to write a review so that this extension can be improved ASAP.
- Ubuntu 20.04
- Mozilla Firefox 83.0
- Google Chrome 87.0
MIT © Lovesh Dongre