• Stars
    star
    3,842
  • Rank 11,435 (Top 0.3 %)
  • Language
    PHP
  • License
    MIT License
  • Created about 4 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔥 Stay motivated and show off your contribution streak! 🌟 Display your total contributions, current streak, and longest streak on your GitHub profile README

Github Readme Streak Stats

Display your total contributions, current streak,
and longest streak on your GitHub profile README

⚡ Quick setup

  1. Copy-paste the markdown below into your GitHub profile README
  2. Replace the value after ?user= with your GitHub username
[![GitHub Streak](https://streak-stats.demolab.com/?user=DenverCoder1)](https://git.io/streak-stats)
  1. Star the repo 😄

Check out the Demo Site or Options below for available customizations.

It is recommended to self-host the project more better reliability.

Deploy to Heroku Deploy to Vercel

See Deploying it on your own for more details.

⚙ Demo Site

Here you can customize your Streak Stats card with a live preview.

https://streak-stats.demolab.com

Demo Site

🔧 Options

The user field is the only required option. All other fields are optional.

If the theme parameter is specified, any color customizations specified will be applied on top of the theme, overriding the theme's values.

Parameter Details Example
user GitHub username to show stats for DenverCoder1
theme The theme to apply (Default: default) dark, radical, etc. 🎨➜
hide_border Make the border transparent (Default: false) true or false
border_radius Set the roundness of the edges (Default: 4.5) Number 0 (sharp corners) to 248 (ellipse)
background Background color (eg. f2f2f2, 35,d22,00f) hex code without #, css color, or gradient in the form angle,start_color,...,end_color
border Border color hex code without # or css color
stroke Stroke line color between sections hex code without # or css color
ring Color of the ring around the current streak hex code without # or css color
fire Color of the fire in the ring hex code without # or css color
currStreakNum Current streak number hex code without # or css color
sideNums Total and longest streak numbers hex code without # or css color
currStreakLabel Current streak label hex code without # or css color
sideLabels Total and longest streak labels hex code without # or css color
dates Date range text color hex code without # or css color
excludeDaysLabel Excluded days of the week text color hex code without # or css color
date_format Date format pattern or empty for locale format See note below on 📅 Date Formats
locale Locale for labels and numbers (Default: en) ISO 639-1 code - See 🗪 Locales
type Output format (Default: svg) Current options: svg, png or json
mode Streak mode (Default: daily) daily (contribute daily) or weekly (contribute once per Sun-Sat week)
exclude_days List of days of the week to exclude from streaks Comma-separated list of day abbreviations (Sun, Mon, Tue, Wed, Thu, Fri, Sat) e.g. Sun,Sat
disable_animations Disable SVG animations (Default: false) true or false
card_width Width of the card in pixels (Default: 495) Positive integer, minimum width is 100px per column
hide_total_contributions Hide the total contributions (Default: false) true or false
hide_current_streak Hide the current streak (Default: false) true or false
hide_longest_streak Hide the longest streak (Default: false) true or false
starting_year Starting year of contributions Integer, must be 2005 or later, eg. 2017. By default, your account creation year is used.

🖌 Themes

To enable a theme, append &theme= followed by the theme name to the end of the source URL:

[![GitHub Streak](https://streak-stats.demolab.com/?user=DenverCoder1&theme=dark)](https://git.io/streak-stats)
Theme Preview
default default
dark dark
highcontrast highcontrast
More themes! 🎨 See a list of all available themes

If you have come up with a new theme you'd like to share with others, please see Issue #32 for more information on how to contribute.

🗪 Locales

The following are the locales that have labels translated in Streak Stats. The locale query parameter accepts any ISO language or locale code, see here for a list of valid locales. The locale provided will be used for the date format and number format even if translations are not yet available.

en - English
English 100%
am - አማርኛ
አማርኛ 100%
ca - català
català 100%
da - dansk
dansk 100%
de - Deutsch
Deutsch 100%
el - Ελληνικά
Ελληνικά 100%
es - español
español 100%
fr - français
français 100%
he - עברית
עברית 100%
hu - magyar
magyar 100%
id - Indonesia
Indonesia 100%
it - italiano
italiano 100%
kn - ಕನ್ನಡ
ಕನ್ನಡ 100%
ko - 한국어
한국어 100%
ms - Melayu
Melayu 100%
ne - नेपाली
नेपाली 100%
nl - Nederlands
Nederlands 100%
pt_BR - português (Brasil)
português (Brasil) 100%
sa - संस्कृत भाषा
संस्कृत भाषा 100%
sr - српски
српски 100%
su - Basa Sunda
Basa Sunda 100%
th - ไทย
ไทย 100%
tr - Türkçe
Türkçe 100%
uk - українська
українська 100%
ur_PK - اردو (پاکستان)
اردو (پاکستان) 100%
vi - Tiếng Việt
Tiếng Việt 100%
yo - Èdè Yorùbá
Èdè Yorùbá 100%
zh_Hans - 中文(简体)
中文(简体) 100%
zh_Hant - 中文(繁體)
中文(繁體) 100%
ar - العربية
العربية 86%
bg - български
български 86%
bn - বাংলা
বাংলা 86%
fa - فارسی
فارسی 86%
hi - हिन्दी
हिन्दी 86%
ht - Haitian Creole
Haitian Creole 86%
hy - հայերեն
հայերեն 86%
ja - 日本語
日本語 86%
mr - मराठी
मराठी 86%
pl - polski
polski 86%
ps - پښتو
پښتو 86%
ru - русский
русский 86%
rw - Kinyarwanda
Kinyarwanda 86%
sv - svenska
svenska 86%
sw - Kiswahili
Kiswahili 86%
ta - தமிழ்
தமிழ் 86%

If you would like to help translate the Streak Stats cards, please see Issue #236 for more information.

📅 Date Formats

If date_format is not provided or is empty, the PHP Intl library is used to determine the date format based on the locale specified in the locale query parameter.

A custom date format can be specified by passing a string to the date_format parameter.

The required format is to use format string characters from PHP's date function with brackets around the part representing the year.

When the contribution year is equal to the current year, the characters in brackets will be omitted.

Examples:

Date Format Result
d F[, Y]
"2020-04-14" => "14 April, 2020"

"2023-04-14" => "14 April"
j/n/Y
"2020-04-14" => "14/4/2020"

"2023-04-14" => "14/4/2023"
[Y.]n.j
"2020-04-14" => "2020.4.14"

"2023-04-14" => "4.14"
M j[, Y]
"2020-04-14" => "Apr 14, 2020"

"2023-04-14" => "Apr 14"

Example

[![GitHub Streak](https://streak-stats.demolab.com/?user=denvercoder1&currStreakNum=2FD3EB&fire=pink&sideLabels=F00&date_format=[Y.]n.j)](https://git.io/streak-stats)

ℹ️ How these stats are calculated

This tool uses the contribution graphs on your GitHub profile to calculate which days you have contributed.

To include contributions in private repositories, turn on the setting for "Private contributions" from the dropdown menu above the contribution graph on your profile page.

Contributions include commits, pull requests, and issues that you create in standalone repositories.

The longest streak is the highest number of consecutive days on which you have made at least one contribution.

The current streak is the number of consecutive days ending with the current day on which you have made at least one contribution. If you have made a contribution today, it will be counted towards the current streak, however, if you have not made a contribution today, the streak will only count days before today so that your streak will not be zero.

Note
You may need to wait up to 24 hours for new contributions to show up (Learn how contributions are counted)

📤 Deploying it on your own

It is preferable to host the files on your own server and it takes less than 2 minutes to set up.

Doing this can lead to better uptime and more control over customization (you can modify the code for your usage).

You can deploy the PHP files on any website server with PHP installed including Heroku and Vercel.

The Inkscape dependency is required for PNG rendering, as well as Segoe UI font for the intended rendering. If using Heroku, the buildpacks will install these for you automatically.

Deploy to Vercel

Vercel is the recommended option for hosting the files since it is free and easy to set up. Watch the video below or expand the instructions to learn how to deploy to Vercel.

Note PNG mode is not supported since Inkscape will not be installed but the default SVG mode will work.

📺 Click here for a video tutorial on how to self-host on Vercel

Instructions for deploying to Vercel

Step-by-step instructions for deploying to Vercel

Option 1: Deploy to Vercel quickly with the Deploy button (recommended)

  1. Click the Deploy button below

Deploy with Vercel

  1. Create your repository by filling in a Repository Name and clicking "Create"
  2. Visit this link to create a new Personal Access Token (no scopes required)
  3. Scroll to the bottom and click "Generate token"
  4. Add the token as a Config Var with the key TOKEN:

vercel environment variables

  1. Click "Deploy" at the end of the form
  2. Once the app is deployed, click the screenshot of your app or continue to the dashboard to find your domain to use in place of streak-stats.demolab.com

deployment

Option 2: Deploy to Vercel manually

  1. Sign in to Vercel or create a new account at https://vercel.com
  2. Use the following command to clone the repository: git clone https://github.com/DenverCoder1/github-readme-streak-stats.git. If you plan to make changes, you can also fork the repository and clone your fork instead. If you do not have Git installed, you can download it from https://git-scm.com/downloads.
  3. Navigate to the cloned repository's directory using the command cd github-readme-streak-stats
  4. Switch to the "vercel" branch using the command git checkout vercel
  5. Make sure you have the Vercel CLI (Command Line Interface) installed on your system. If not, you can download it from https://vercel.com/download.
  6. Run the command vercel and follow the prompts to link your Vercel account and choose a project name
  7. After successful deployment, your app will be available at <project-name>.vercel.app
  8. Open this link to create a new Personal Access Token on GitHub. You don't need to select any scopes for the token.
  9. Scroll to the bottom of the page and click on "Generate token"
  10. Visit the Vercel dashboard at https://vercel.com/dashboard and select your project. Then, click on "Settings" and choose "Environment Variables".
  11. Add a new environment variable with the key TOKEN and the value as the token you generated in step 9, then save your changes
  12. To apply the new environment variable, you need to redeploy the app. Run vercel --prod to deploy the app to production.

image

Note To set up automatic Vercel deployments from GitHub, make sure to turn off "Include source files outside of the Root Directory" in the General settings and use vercel as the production branch in the Git settings.

Deploy on Heroku

Heroku is another great option for hosting the files. All features are supported on Heroku and it is where the default domain is hosted. Heroku is not free, however, and you will need to pay between $5 and $7 per month to keep the app running. Expand the instructions below to learn how to deploy to Heroku.

Instructions for deploying to Heroku

Step-by-step instructions for deploying to Heroku

  1. Sign in to Heroku or create a new account at https://heroku.com
  2. Visit this link to create a new Personal Access Token (no scopes required)
  3. Scroll to the bottom and click "Generate token"
  4. Click the Deploy button below

Deploy to Heroku

  1. Add the token as a Config Var with the key TOKEN:

heroku config variables

  1. Click "Deploy App" at the end of the form
  2. Once the app is deployed, you can use <your-app-name>.herokuapp.com in place of streak-stats.demolab.com

Deploy on your own

You can transfer the files to any webserver using FTP or other means, then refer to CONTRIBUTING.md for installation steps.

🤗 Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request if you have a way to improve this project.

Make sure your request is meaningful and you have tested the app locally before submitting a pull request.

Refer to CONTRIBUTING.md for more details on contributing, installing requirements, and running the application.

🙋‍♂️ Support

💙 If you like this project, give it a ⭐ and share it with friends!

Youtube Sponsor with Github

☕ Buy me a coffee


Made with ❤️ and PHP

Powered by Heroku

More Repositories

1

readme-typing-svg

⚡ Dynamically generated, customizable SVG that gives the appearance of typing and deleting text for use on your profile page, repositories, or website.
PHP
4,230
star
2

custom-icon-badges

🛡 Allows users to more easily use Octicons and their own icons and logos on shields.io badges
TypeScript
536
star
3

DenverCoder1

Jonah Lawrence's Profile README
496
star
4

latex-gboard-dictionary

⌨ Importable dictionary for typing math symbols more easily on your Android phone by using keyboard shortcuts inspired by LaTeX
332
star
5

minimalistic-wallpaper-collection

Minimalistic, flat art, and colorful, digital nature wallpapers and an API for randomly selecting them
PHP
223
star
6

weather-app-tutorial

Weather app written in HTML, CSS, and JavaScript using the APIs for fetching weather and geolocation information.
HTML
149
star
7

github-readme-youtube-cards

Workflow for displaying recent YouTube videos as SVG cards in your readme
Python
130
star
8

unedit-for-reddit

Creates a link next to edited and deleted Reddit comments to show the original from before it was edited. The unedited comment gets displayed inline.
JavaScript
64
star
9

unicode-formatter

Convert portions of text to fancy text using unicode fonts for use on Twitter and other sites that don't support rich text
JavaScript
56
star
10

table2ascii

An intuitive and type-safe Python library for converting lists to fancy ASCII tables for displaying in the terminal or code-blocks
Python
54
star
11

doxygen-github-pages-action

GitHub Action for deploying Doxygen documentation to a GitHub pages branch
50
star
12

github-readme-youtube-stats

Youtube stats badges for your Github profile README. Displays the total number of subscribers or the view count for your channel.
PHP
47
star
13

tutorial-discord-bot

Example Discord bot for YouTube tutorials
Python
31
star
14

dev-pro-tips-bot

Bot for the Dev Pro Tips Discord server
Python
27
star
15

Simple-View-Counter

Simple view counter for websites and Github READMEs.
PHP
25
star
16

Responsive-Birthday-Card

Responsive Card with HTML and CSS + YouTube tutorial
CSS
22
star
17

readme-download-button-action

GitHub Action workflow configuration for keeping a direct download link to the latest version on your repo's readme
18
star
18

dynamic-badge-formatter

Format dynamic shields.io badges to look consistent using formatters for metrics, versions, and more
JavaScript
16
star
19

discord-bot-template

Nextcord (discord.py fork) template for simple and maintainable Discord Bot creation
Python
16
star
20

Advent-of-Code-2021

Advent of Code Solutions 2021 in Python
Python
13
star
21

discord-wordle-clone

Discord bot to play a Wordle-inspired word puzzle game entirely within Discord
Python
12
star
22

jct-discord-bot

Bot for JCT ESP CompSci Discord Server
Python
11
star
23

unit-converter-albert-ext

Albert launcher extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecular substance, and more
Python
9
star
24

Advent-of-Code-2020---Javascript

Advent of Code 2020 Solutions in JavaScript
JavaScript
6
star
25

play-lichess

Module for creating match links on Lichess that players can join
Python
5
star
26

Tic-Tac-Toe

Tic-Tac-Toe in Javascript
JavaScript
5
star
27

discord-voice-activities-bot

A simple bot for launching Discord's activities in voice channels using Nextcord
Python
4
star
28

Tag-Owl-Reddit-Bot

Reddit bot to tag long lists of users
Python
4
star
29

professor-vector-discord-bot

Discord bot for r/Arithmancy - A reddit feed bot and more!
Python
4
star
30

dotfiles

Jonah Lawrence's dotfiles for computer configurations 👨‍💻
Shell
3
star
31

countdown

Website to display a countdown timer to a specified date.
PHP
3
star
32

timezone-convert-albert-ext

Albert launcher extension for converting between timezones
Python
3
star
33

anagram-solver

Anagram solver to find words in multi-word anagrams. Includes Harry Potter word dictionary.
HTML
3
star
34

php-simple-crud-api

Simple API for storing and retrieving labeled data (grouped key-value pairs)
PHP
3
star
35

weasley-chess-bot

Discord bot for Weasley's Chess Club server
Python
3
star
36

docstring-utils

Parser and checker for Numpy, Sphinx, and Google-style docstrings
Python
3
star
37

dice-roll-albert-ext

Albert launcher extension for rolling dice.
Python
2
star
38

jack-man

PAC-MAN clone written in Jack Language
2
star
39

facebook-group-feed

Send new messages from public Facebook groups to a Discord channel
Python
2
star
40

saucerobot

Reddit bot for fetching image sources
Python
2
star
41

popup-for-google-tasks

Browser extension for opening Google Tasks in a popup window
JavaScript
2
star
42

C-Workshop

Exercise work for C Workshop course August 2021
C
2
star
43

Jack-to-Hack-Compiler-Ceylon

Jack to Hack Compiler in Ceylon completed for Fundamentals of Programming Languages Course, 2020-2021.
Ceylon
1
star
44

CPP-Console-2048

C++
1
star
45

Connect-4-AI

Connect 4 with an AI using the Minimax algorithm
Python
1
star
46

Java-Ray-Tracing-Project

3D-Renderer with Ray Tracing completed for Introduction to Software Engineering Course, Spring 2021
Java
1
star
47

hogwarts-ghosts

Bot for the Hogwarts Ghosts Discord server with features for ticket channels and archiving
Python
1
star
48

give-and-take-bot

Bot for validating messages in the Give and Take game
Python
1
star
49

chess-piece-classifier

Demonstration of Tensorflow Lite for classifying images of chess pieces
JavaScript
1
star
50

godel-program-converter

Program to convert a program encoding based on its Gödel number to 𝒮 Language (S Language) or convert an 𝒮 Language program to it's program number
Python
1
star
51

CPP-Yaniv

Yaniv Card Game written in C++
C++
1
star
52

DarkReader-API-Sample-Code

Sample usage of the DarkReader package for enabling dark mode on your website.
HTML
1
star
53

Jonah-Villas-WPF-Project

Property management system allowing hosts to list their rental homes and customers to search for properties and make requests. Project in WPF, C# .NET Framework for the 2019-2020 school year.
C#
1
star