mirror of
https://github.com/ivuorinen/github-stats.git
synced 2026-01-26 11:34:10 +00:00
Update README.md
This commit is contained in:
156
README.md
156
README.md
@@ -1,155 +1,15 @@
|
|||||||
# [GitHub Stats Visualization](https://github.com/jstrieb/github-stats)
|
# [GitHub Stats Visualization](https://github.com/ivuorinen/github-stats)
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
https://github.community/t/support-theme-context-for-images-in-light-vs-dark-mode/147981/84
|
https://github.community/t/support-theme-context-for-images-in-light-vs-dark-mode/147981/84
|
||||||
-->
|
-->
|
||||||
<a href="https://github.com/jstrieb/github-stats">
|
<a href="https://github.com/ivuorinen/github-stats">
|
||||||
<img src="https://github.com/jstrieb/github-stats/blob/master/generated/overview.svg#gh-dark-mode-only" />
|
<img src="https://github.com/ivuorinen/github-stats/blob/master/generated/overview.svg#gh-dark-mode-only" />
|
||||||
<img src="https://github.com/jstrieb/github-stats/blob/master/generated/languages.svg#gh-dark-mode-only" />
|
<img src="https://github.com/ivuorinen/github-stats/blob/master/generated/languages.svg#gh-dark-mode-only" />
|
||||||
<img src="https://github.com/jstrieb/github-stats/blob/master/generated/overview.svg#gh-light-mode-only" />
|
<img src="https://github.com/ivuorinen/github-stats/blob/master/generated/overview.svg#gh-light-mode-only" />
|
||||||
<img src="https://github.com/jstrieb/github-stats/blob/master/generated/languages.svg#gh-light-mode-only" />
|
<img src="https://github.com/ivuorinen/github-stats/blob/master/generated/languages.svg#gh-light-mode-only" />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
Generate visualizations of GitHub user and repository statistics with GitHub
|
---
|
||||||
Actions. Visualizations can include data for both private repositories, and for
|
|
||||||
repositories you have contributed to, but do not own.
|
|
||||||
|
|
||||||
Generated images automatically switch between GitHub light theme and GitHub
|
Generated using [Jacob Strieb](https://github.com/jstrieb)'s [GitHub Stats Visualization](https://github.com/jstrieb/github-stats).
|
||||||
dark theme.
|
|
||||||
|
|
||||||
## Background
|
|
||||||
|
|
||||||
When someone views a profile on GitHub, it is often because they are curious
|
|
||||||
about a user's open source projects and contributions. Unfortunately, that
|
|
||||||
user's stars, forks, and pinned repositories do not necessarily reflect the
|
|
||||||
contributions they make to private repositories. The data likewise does not
|
|
||||||
present a complete picture of the user's total contributions beyond the current
|
|
||||||
year.
|
|
||||||
|
|
||||||
This project aims to collect a variety of profile and repository statistics
|
|
||||||
using the GitHub API. It then generates images that can be displayed in
|
|
||||||
repository READMEs, or in a user's [Profile
|
|
||||||
README](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme).
|
|
||||||
|
|
||||||
Since the project runs on GitHub Actions, no server is required to regularly
|
|
||||||
regenerate the images with updated statistics. Likewise, since the user runs
|
|
||||||
the analysis code themselves via GitHub Actions, they can use their GitHub
|
|
||||||
access token to collect statistics on private repositories that an external
|
|
||||||
service would be unable to access.
|
|
||||||
|
|
||||||
## Disclaimer
|
|
||||||
|
|
||||||
If the project is used with an access token that has sufficient permissions to
|
|
||||||
read private repositories, it may leak details about those repositories in
|
|
||||||
error messages. For example, the `aiohttp` library—used for asynchronous API
|
|
||||||
requests—may include the requested URL in exceptions, which can leak the name
|
|
||||||
of private repositories. If there is an exception caused by `aiohttp`, this
|
|
||||||
exception will be viewable in the Actions tab of the repository fork, and
|
|
||||||
anyone may be able to see the name of one or more private repositories.
|
|
||||||
|
|
||||||
Due to some issues with the GitHub statistics API, there are some situations
|
|
||||||
where it returns inaccurate results. Specifically, the repository view count
|
|
||||||
statistics and total lines of code modified are probably somewhat inaccurate.
|
|
||||||
Unexpectedly, these values will become more accurate over time as GitHub
|
|
||||||
caches statistics for your repositories. Additionally, repositories that were
|
|
||||||
last contributed to more than a year ago may not be included in the statistics
|
|
||||||
due to limitations in the results returned by the API.
|
|
||||||
|
|
||||||
For more information on inaccuracies, see issue
|
|
||||||
[#2](https://github.com/jstrieb/github-stats/issues/2),
|
|
||||||
[#3](https://github.com/jstrieb/github-stats/issues/3), and
|
|
||||||
[#13](https://github.com/jstrieb/github-stats/issues/13).
|
|
||||||
|
|
||||||
# Installation
|
|
||||||
|
|
||||||
<!-- TODO: Add details and screenshots -->
|
|
||||||
|
|
||||||
1. Create a personal access token (not the default GitHub Actions token) using
|
|
||||||
the instructions
|
|
||||||
[here](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token).
|
|
||||||
Personal access token must have permissions: `read:user` and `repo`. Copy
|
|
||||||
the access token when it is generated – if you lose it, you will have to
|
|
||||||
regenerate the token.
|
|
||||||
- Some users are reporting that it can take a few minutes for the personal
|
|
||||||
access token to work. For more, see
|
|
||||||
[#30](https://github.com/jstrieb/github-stats/issues/30).
|
|
||||||
2. Create a copy of this repository by clicking
|
|
||||||
[here](https://github.com/jstrieb/github-stats/generate). Note: this is
|
|
||||||
**not** the same as forking a copy because it copies everything fresh,
|
|
||||||
without the huge commit history.
|
|
||||||
3. Go to the "Secrets" page of your copy of the repository. If this is the
|
|
||||||
README of your copy, click [this link](../../settings/secrets/actions) to go
|
|
||||||
to the "Secrets" page. Otherwise, go to the "Settings" tab of the
|
|
||||||
newly-created repository and go to the "Secrets" page (bottom left).
|
|
||||||
4. Create a new secret with the name `ACCESS_TOKEN` and paste the copied
|
|
||||||
personal access token as the value.
|
|
||||||
5. It is possible to change the type of statistics reported by adding other
|
|
||||||
repository secrets.
|
|
||||||
- To ignore certain repos, add them (in owner/name format e.g.,
|
|
||||||
`jstrieb/github-stats`) separated by commas to a new secret—created as
|
|
||||||
before—called `EXCLUDED`.
|
|
||||||
- To ignore certain languages, add them (separated by commas) to a new
|
|
||||||
secret called `EXCLUDED_LANGS`. For example, to exclude HTML and TeX you
|
|
||||||
could set the value to `html,tex`.
|
|
||||||
- To show statistics only for "owned" repositories and not forks with
|
|
||||||
contributions, add an environment variable (under the `env` header in the
|
|
||||||
[main
|
|
||||||
workflow](https://github.com/jstrieb/github-stats/blob/master/.github/workflows/main.yml))
|
|
||||||
called `EXCLUDE_FORKED_REPOS` with a value of `true`.
|
|
||||||
- These other values are added as secrets by default to prevent leaking
|
|
||||||
information about private repositories. If you're not worried about that,
|
|
||||||
you can change the values directly [in the Actions workflow
|
|
||||||
itself](https://github.com/jstrieb/github-stats/blob/05de1314b870febd44d19ad2f55d5e59d83f5857/.github/workflows/main.yml#L48-L53).
|
|
||||||
6. Go to the [Actions
|
|
||||||
Page](../../actions?query=workflow%3A"Generate+Stats+Images") and press "Run
|
|
||||||
Workflow" on the right side of the screen to generate images for the first
|
|
||||||
time.
|
|
||||||
- The images will be automatically regenerated every 24 hours, but they can
|
|
||||||
be regenerated manually by running the workflow this way.
|
|
||||||
7. Take a look at the images that have been created in the
|
|
||||||
[`generated`](generated) folder.
|
|
||||||
8. To add your statistics to your GitHub Profile README, copy and paste the
|
|
||||||
following lines of code into your markdown content. Change the `username`
|
|
||||||
value to your GitHub username.
|
|
||||||
```md
|
|
||||||

|
|
||||||

|
|
||||||
```
|
|
||||||
```md
|
|
||||||

|
|
||||||

|
|
||||||
```
|
|
||||||
9. Link back to this repository so that others can generate their own
|
|
||||||
statistics images.
|
|
||||||
10. Star this repo if you like it!
|
|
||||||
|
|
||||||
|
|
||||||
# Support the Project
|
|
||||||
|
|
||||||
There are a few things you can do to support the project:
|
|
||||||
|
|
||||||
- Star the repository (and follow me on GitHub for more)
|
|
||||||
- Share and upvote on sites like Twitter, Reddit, and Hacker News
|
|
||||||
- Report any bugs, glitches, or errors that you find
|
|
||||||
|
|
||||||
These things motivate me to to keep sharing what I build, and they provide
|
|
||||||
validation that my work is appreciated! They also help me improve the
|
|
||||||
project. Thanks in advance!
|
|
||||||
|
|
||||||
If you are insistent on spending money to show your support, I encourage you to
|
|
||||||
instead make a generous donation to one of the following organizations. By advocating
|
|
||||||
for Internet freedoms, organizations like these help me to feel comfortable
|
|
||||||
releasing work publicly on the Web.
|
|
||||||
|
|
||||||
- [Electronic Frontier Foundation](https://supporters.eff.org/donate/)
|
|
||||||
- [Signal Foundation](https://signal.org/donate/)
|
|
||||||
- [Mozilla](https://donate.mozilla.org/en-US/)
|
|
||||||
- [The Internet Archive](https://archive.org/donate/index.php)
|
|
||||||
|
|
||||||
|
|
||||||
# Related Projects
|
|
||||||
|
|
||||||
- Inspired by a desire to improve upon
|
|
||||||
[anuraghazra/github-readme-stats](https://github.com/anuraghazra/github-readme-stats)
|
|
||||||
- Makes use of [GitHub Octicons](https://primer.style/octicons/) to precisely
|
|
||||||
match the GitHub UI
|
|
||||||
|
|||||||
Reference in New Issue
Block a user