/Extension-Leetcode

Modifying to my Need - Adding single website option

Primary LanguageTypeScriptMIT LicenseMIT

This is a Plasmo extension project bootstrapped with plasmo init.

LeetCode Torture Logo

LeetCode Torture is an extension designed to make you productive to ace those technical interviews. When you activate this extension, you won't be able to access any websites except LeetCode until you solve your randomly assigned LeetCode problem. Here's the video on YouTube.

Features

  • Random Problem Assignment: Get a random LeetCode problem every day
  • Website Blocker: Prevents you from accessing any websites until you solve your problem

Local Installation for Testing and Development

Setting up:

  • Have Node.js Installed on your machine
  • Clone or download the repo
  • Navigate to the root directory
  • Install pnpm if you don't have it (it's recommended to use it from plasmo)
  • Run pnpm install to install the required dependencies

Building the Extension to run locally on Chrome:

  • In the terminal run the command pnpm dev or npm run dev
  • Open Chrome and open up your extensions page
  • Enable Developer Mode using the toggle at the top right of the page
  • Click on the Load unpacked button on the top left of the page
  • Locate and select the appropriate development build. For example, if you are developing for the chrome browser, using manifest v3, use: build/chrome-mv3-dev.
  • The extension should now be installed have fun
  • You can start editing the popup by modifying popup.tsx. It should auto-update as you make changes.

For Firefox development

  • Make sure your Firefox is on version 109 (we're using manifest v3)
  • In the terminal run the command pnpm dev --target=firefox-mv3 or npm run dev-firefox
  • In the build folder you should now see build/firefox-mv3-dev
  • In Firefox type about:debugging in the URL.
  • Go to "This Firefox"
  • In Temporary Extensions click "Load Temporary Add-on"
  • Select any file from your folder

To get the extension working properly right now on Firefox

  • Go to leetcode.com and right click the extension, and give the extension permission
  • Do the same for any websites you visit (Firefox, doesn't give permissions automatically like chrome which is why we have to do this, it's annoying)

FAQ

Why did you make this?

Just for fun

Do I need to be a senior 10x developer to help and contribute?

Nope, anybody can contribute to this torture machine, skill level does not matter. I made this project with no knowledge about making extensions

How do I help and improve LeetCode Torture?

Read our CONTRIBUTING.md file to learn how to help make this extension more painful for everyone

I don't even know where to start

That's perfectly fine, take some time and read the code to understand what's going on. You don't have to make super big changes, they can be as small as fixing my dumb typos on these files or adding helpful comments to the code.

For further guidance, visit our Documentation