The CSES-Github Extension is a browser extension designed to enhance your experience with the CSES Problem Set on CSES. It integrates directly with GitHub to streamline the process of submitting solutions, checking the correctness of answers, and automatically managing your submissions.
- Solution Submission: Automatically push your CSES solutions to GitHub repositories.
- Problem Tracker: Track progress on problems and see which problems you've solved.
- Automatic Feedback: Get immediate feedback on your submissions.
- Problem Difficulty Sorting: Sort problems based on difficulty and your progress.
- User-Friendly UI: Simple and intuitive interface to navigate CSES problems and GitHub integration.
- A browser that supports extensions (e.g., Chrome, Firefox, or Edge).
- A GitHub account for submitting your solutions.
- CSES account for tracking problem submissions.
-
Clone this repository:
git clone https://github.com/your-username/cses-github-extension.git
-
Load the extension:
Follow the instructions based on your browser:
- For Chrome:
- Open Chrome and go to
chrome://extensions/ - Enable Developer mode (top right)
- Click Load unpacked(top left) and select the extension directory.
- Open Chrome and go to
- For Firefox:
- Open Firefox and go to
about:debugging - Select This Firefox and click Load Temporary Add-on
- Choose the
manifest.jsonfile in the extension directory.
- Open Firefox and go to
- For Chrome:
-
Set up your GitHub integration:
-
Generate a GitHub Token: To allow the extension to authenticate and push solutions to your GitHub account, you need to create a GitHub Personal Access Token. Here's how:
- Go to GitHub Developer Settings.
- Click on Generate new token.
- Choose a name for your token (e.g., "CSES GitHub Extension Token").
- Select the necessary scopes:
repo(for full control of private repositories)public_repo(if you're only using public repositories)
- Click Generate token.
- Copy the token and keep it secure (you won't be able to view it again).
- Paste the token into the extension's settings(recommended for security) or
.envfile (depending on your implementation).
-
Once you've added your GitHub token, authorize the extension to push your solutions to your GitHub repositories.
-
-
Start solving problems:
- Navigate to the CSES Problem Set and start solving problems.
- Once a solution is ready, the extension will help you upload it to GitHub.
- After installing the extension, open any problem on the CSES problem set.
- Once you have written your solution, click the Submit button on the extension popup.
- Your solution will be pushed to your GitHub repository.
- Track your progress and see which problems you've solved directly from the extension interface.
If you'd like to contribute to the project, follow these steps:
- Fork the repository.
- Clone your forked repository to your local machine.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with clear, descriptive messages.
- Push your changes to your forked repository.
- Open a pull request to merge your changes into the main repository.
This project is licensed under the MIT License - see the LICENSE file for details.
- CSES for providing the problem set.
- GitHub for seamless integration with code repositories.
For any questions or issues, feel free to open an issue on the GitHub repository.
Happy coding! 🎉