6.2 KiB
Contributing to github-readme-stats
We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting an issue.
- Discussing the current state of the code.
- Submitting a fix.
- Proposing new features.
- Becoming a maintainer.
All Changes Happen Through Pull Requests
Pull requests are the best way to propose changes. We actively welcome your pull requests:
- Fork the repo and create your branch from
master
. - If you've added code that should be tested, add some tests' examples.
- If you've changed APIs, update the documentation.
- Issue that pull request!
Under the hood of github-readme-stats
Interested in diving deeper into understanding how github-readme-stats works?
Bohdan wrote a fantastic in-depth post about it, check it out:
Under the hood of github-readme-stats project
Local Development
To run & test github-readme-stats, you need to follow a few simple steps:- (make sure you already have a Vercel account)
- Install Vercel CLI.
- Fork the repository and clone the code to your local machine.
- Run
npm install
in the repository root. - Run the command
vercel
in the root and follow the steps there. - Open
vercel.json
and set the maxDuration to 10. - Create a
.env
file in the root of the directory. - In the .env file add a new variable named
PAT_1
with your GitHub Personal Access Token. - Run the command
vercel dev
to start a development server at https://localhost:3000. - The cards will then be available from this local endpoint (i.e.
https://localhost:3000/api?username=anuraghazra
).
Note
You can debug the package code in Vscode by using the Node.js: Attach to process debug option. You can also debug any tests using the VSCode Jest extension. For more information, see https://github.com/jest-community/vscode-jest/issues/912.
Themes Contribution
GitHub Readme Stats supports custom theming, and you can also contribute new themes!
Note
If you are contributing your theme just because you are using it personally, then you can customize the looks of your card with URL params instead.
Note
Keep in mind that we already have a vast collection of different themes. To keep their number manageable, we began to add only themes supported by the community. Your pull request with theme addition will be merged once we get enough positive feedback from the community in the form of thumbs up (see #1935). Remember that you can also support themes of other contributors that you liked to speed up their merge.
Note
Before submitting pull request, please make sure that your theme pass WCAG 2.0 level AA constrast ration test. You can use this tool to check it.
To contribute your theme you need to edit the themes/index.js file and add it at the end of the file.
Any contributions you make will be under the MIT Software License
In short, when you submit changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.
Report issues/bugs using GitHub's issues
We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!
Frequently Asked Questions (FAQs)
Q: How to hide Jupyter Notebook?
Ans: &hide=jupyter%20notebook
Q: I could not figure out how to deploy on my own Vercel instance
Ans:
Q: Language Card is incorrect
Ans: Please read all the related issues/comments before opening any issues regarding language card stats:
Q: How to count private stats?
Ans: We can only count public commits & we cannot access any other private info of any users, so it's not possible. The only way to count your personal private stats is to deploy on your own instance & use your own PAT (Personal Access Token)
Bug Reports
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Share the snapshot, if possible.
- GitHub Readme Stats' live link
- What actually happens
- What you expected would happen
- Notes (possibly including why you think this might be happening or stuff you tried that didn't work)
People love thorough bug reports. I'm not even kidding.
Feature Request
Great Feature Requests tend to have:
- A quick idea summary
- What & why do you want to add the specific feature
- Additional context like images, links to resources to implement the feature, etc.
License
By contributing, you agree that your contributions will be licensed under its MIT License.