Skip to content

hiWyatt/leetcode-enhancer

 
 

Repository files navigation

logo full


License: MIT

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.



✔️ Features

  • 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 :

🌟 Installation

Google Chrome

  • To install this extension from Chrome Web Store click here.

  • After installation, you should pin this extension to use its features.

Mozilla Firefox

  • To install this extension from Firefox Browser Addons click here.

Microsoft Edge

  • To install this extension from Microsoft Edge Addons click here.
mozilla page action extension location
  • 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.

👑 For developers

Clone the source code locally:

Would really appreciate if you can ⭐ the repository

$ git clone https://github.com/loveshdongre/leetcode-enhancer/
$ cd leetcode-enhancer

Google Chrome

  • Go to chrome://extensions/ and enable Developer mode
  • Click on load unpacked and select the folder containing manifest.json file
  • Pin this extension to use it.

Mozilla Firefox

  • Go to about:debugging and click on This Firefox (if you are not already there)
  • Click on Load Temporary Add-on... and select the manifest.json file
  • The addon will appear next to the address bar only when you are on leetcode

Microsoft Edge

  • follow steps in this link

Testing a change

  1. 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.
  2. Install browserify globally npm i browserify -g
  3. 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.

📁 File Description

  • 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

🤝 Contribution

Contributions are always welcomed, here is what you need to do:

  1. Work on an existing issue or create a new one here
  2. 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.

📝 Feedback

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.

  • Google Chrome users can leave a feedback here
  • Mozilla Firefox users can leave a feedback here

🌏 Development Env Tools

  • Ubuntu 20.04
  • Mozilla Firefox 83.0
  • Google Chrome 87.0

📋 License

MIT © Lovesh Dongre

About

A cross-browser extension to improve productivity on Leetcode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 84.3%
  • HTML 6.1%
  • CSS 4.2%
  • SCSS 4.1%
  • Shell 1.3%