diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..9e50aa4 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: jdevstatic diff --git a/README.md b/README.md index a087f94..541388b 100644 --- a/README.md +++ b/README.md @@ -1,156 +1,164 @@ -# Hacking The Github Stats +# The GitHub Stats Guide -*`updated 21 April 2022`* +*`updated August 3, 2024`* [![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fxdvrx1%2Fhacking-the-github-stats&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=PAGE+VIEWS&edge_flat=false)](https://hits.seeyoufarm.com) -The [GitHub Stats](https://github.com/anuraghazra/github-readme-stats) -is an external service to display your ranking based on commits, PRs, -issues etc. You just simply need the URL and change the details, -include it in your GitHub profile and you're done. +The [GitHub Stats](https://github.com/anuraghazra/github-readme-stats) is an +external service that displays your ranking based on commits, PRs, issues, +etc. You simply need the URL, change the details to refer to your account, +include it in your GitHub profile, and you're done. -If you don't have any idea how it works, it is an external web app -that uses GitHub data (through its API) to generate your rank. -You don't need to install anything, you just simply get the URL -of the app, change the details so that it's referring to your account -and you're done. - -``` -https://github-readme-stats.vercel.app/api?username=[yourusername] -``` -make sure you include your private repos, `&count_private=true`. - -Now, in order for you to display this in your profile, -if ever you don't have one, make sure you create one. -Create a repository with the same name as your username. -It is a special repository that will appear in your profile. - -so mine is: `xdvrx1/xdvrx1` +## How It Works +- GitHub Stats is an external web app that uses GitHub data (through its API) + to generate your rank. +- No installation is required; just get the URL of the app, change the details + to refer to your account, and you're done. + + ``` + https://github-readme-stats.vercel.app/api?username=[yourusername] + ``` -Make sure that you initialize it with the `README.md`, if not, -you should create one also. +## Displaying in Your Profile +1. Create a repository with the same name + as your username (e.g., `jdevfullstack/jdevfullstack`). + This special repository will appear in your profile. +2. Initialize it with a `README.md` file, or create one if it doesn't exist. +3. Add a description about yourself and include the following + code, replacing `[yourusername]` with your GitHub username : -Add description about you and this, of course, you must change -the details: + ```html +

+ ``` -``` -

-``` -It's now embedded in your GitHub Profile! You can still change -the settings. Refer to the details [here](https://github.com/anuraghazra/github-readme-stats). +4. The stats are now embedded in your GitHub Profile! You can still change the + settings. Refer to the details [here](https://github.com/anuraghazra/github-readme-stats). ## App Stat Computation Breakdown -The breakdown of the components: - -``` - const COMMITS_OFFSET = 1.65; - const CONTRIBS_OFFSET = 1.65; - const ISSUES_OFFSET = 1; - const STARS_OFFSET = 0.75; - const PRS_OFFSET = 0.5; - const FOLLOWERS_OFFSET = 0.45; - const REPO_OFFSET = 1; -``` - -this is directly from the code of the app itself, so -you want to focus on `commits` and `contrib`. +This is the latest computation and the factors involved: -## Rationale -This is not to cheat an app or to fake something. -Much more, this should not be interpreted as spam. - -But remember, the stats of GitHub can be misleading -even if a software developer is good enough. +- **Commits**: 16.67% +- **Pull Requests (PRs)**: 25% +- **Issues**: 8.33% +- **Reviews**: 8.33% +- **Stars**: 33.33% +- **Followers**: 8.33% -If you only use GitHub to code and code, you -would not have a good standing. GitHub -encourages non-code use, always remember that. -It's just like it can be used as Google Docs. -That's the point. +Refer to the code for detailed information: [calculateRank.js](https://github.com/anuraghazra/github-readme-stats/blob/master/src/calculateRank.js) -If you really feel that you deserve that rank, -then go for it. +## Rationale +This is not about tricking the system or creating fake +contributions. Remember, GitHub Stats can sometimes +be misleading, even for highly skilled developers. + +If you only use GitHub for coding, your profile might not +fully reflect your abilities. GitHub encourages a variety +of activities beyond just coding, such as participating in +discussions, reviewing code, and contributing to +documentation. + +Think of GitHub as more than just a coding platform — +it's an interactive space similar +to any other social media. Engaging in +diverse activities on GitHub can provide a more accurate +representation of your contributions and skills. + +If you believe you deserve a higher rank, actively +participate in the community and showcase your full range +of abilities. This is why we have this *unofficial* ranking. ## Commits -Make sure that you turn on -private commits in the API, as was -instructed above, so that you can simply -create a diary, for example. It will generate -a lot of commits. - -Another option is to simply create a tutorial website, -even if it is not tech-related. Don't you know -that the markdown is really for blogging back then? -(Don't get me wrong, blogging is still relevant today.) -It simplifies everything, even a tutorial website. -Markdown is the default markup language of GitHub, -particularly for the README file. - -Or, if you are a writer writing stories, do that in -GitHub. Others were already using GitHub for -laws articles, to-do lists, music compositions, -itineraries etc. - -You can check -[this](https://github.com/xdvrx1/github-pages-tutorial) -out if you are not familiar -with GitHub Pages. - -## Contributed To -The `Contributed To` component as part of the -computation is when you create pull requests -and are merged to the `main` branch. - -It's not always about submitting -proposed changes in a code base, -even simply changing something at the -README file of others will do. What I did was -a pull request to add a Page View on a README file. -If you click the README file of others, then click -the edit button, it will automatically create a fork. -Then, edit the file and create a pull request. +If you did create your own instance of the app like +[this](https://github.com/anuraghazra/github-readme-stats?tab=readme-ov-file#deploy-on-your-own), +make sure you turn on private commits +in the API `include_all_commits=true`. +For sure, if your private commits are massive, +like you are privately coding, professionally or personally, +that will be counted. + +Another option is to create a tutorial website, tech or non-tech. +Markdown, originally designed for +blogging, simplifies creating content. It is the default +markup language for GitHub, especially for README files. + +If you are a writer, consider writing your stories on +GitHub. Many people use GitHub for various purposes, such +as legal articles, to-do lists, music compositions, and +itineraries. + +Additionally, you can generate commits by: + +- contributing to documentation for open-source projects +- participating in discussions and issue tracking +- creating and maintaining wikis +- managing project boards and tasks +- uploading design assets or artwork +- sharing research notes or academic papers + +For more information on creating websites with GitHub, +check out +[this tutorial](https://github.com/jdevfullstack/github-pages-tutorial) about GitHub Pages. + +## Pull Requests +Pull requests are a great way to contribute to projects and +generate activity on your GitHub profile. They are not +limited to coding; you can create pull requests for various +types of contributions : + +- **Documentation**: Improve or add documentation for + projects. This can include README files, wikis, or + tutorials. +- **Design**: Contribute design assets, such as logos, + icons, or UI/UX improvements. +- **Translations**: Help translate project documentation + into different languages. +- **Bug Reports**: Identify and document bugs, and propose + fixes or improvements. +- **Community Management**: Suggest improvements for + community guidelines, code of conduct, or contribution + guidelines. +- **Educational Content**: Add educational resources, such + as example projects, code snippets, or learning materials. + +By contributing in these ways, you can create meaningful +pull requests that benefit the community and enhance your +GitHub profile. ## Your Stars Take note, this is not the stars on GitHub when you leave a star to an external repo. This is the star that you received from your original repos. +So keep on creating quality content on GitHub, +code or non-code ! + ## Followers -You don't need to be famous to have followers. -All you need is the initiative to follow others too. -It's just like building a linkedin network. - -The simple rule is trying to reach out: follow others -that will follow you back and for those who followed -you, follow them back. The chances are high if -you follow those who are willing to follow others too. -My example is myself, I -am not even a famous, but I already have more -than 1k followers (as of this writing). -And even though the weight is just .45, -you still need an audience for your projects. -That's really a good reason to pursue this. - -When I started doing these things, I was shocked -when I visited my Google Analytics for my site. -The web traffic was good. - -And now, I realized one more thing: even if -others don't follow back, just continue following -more and more. Remember, others are paying -for their page to be promoted on other -sites, the act of following others is just -like an advertisement also: others will -know your content. The only difference -is that you don't pay following -others but with the same advertisement -effect. - -Just don't overdo it much on GitHub, because -it will appear on the dashboard of your -followers and if you follow, say, more -than 200 without a gap, their dashboard -will be clogged with that and all -the other necessary information for them -will be removed automatically. They will -be annoyed by that, for sure. +You don't need to be famous to have followers. All it takes +is the initiative to follow others. It's similar to building +a LinkedIn network. + +Be proactive: follow others who are likely to follow you +back, and reciprocate by following those who follow you. The +chances are high if you follow those who are also looking to +build their network. For example, I am not famous, but I +have more than 3k followers. + +In the past, when I started doing this, +I was surprised by the increase in web traffic to +my site, as shown by Google Analytics. + +Remember, even if some don't follow back, keep following +more people. This act is like free advertisement: others +will become aware of your content. Unlike paid promotions, +following others costs nothing but has a similar effect. + +However, don't overdo it on GitHub. Following too many +people in a short period can clutter your followers' +dashboards, potentially annoying them. Be mindful and +considerate in your approach. + +## More Of My Content +- [jdevfullstack Profile](https://github.com/jdevfullstack) +- [jdevfullstack Repos](https://github.com/jdevfullstack?tab=repositories) +- [jdevfullstack Projects](https://github.com/jdevfullstack-projects) +- [jdevfullstack Tutorials](https://github.com/jdevfullstack-tutorials)