From a4486d032705f804965f22ebea4ed268e2af49a0 Mon Sep 17 00:00:00 2001
From: kingthorin
Date: Fri, 31 Jul 2020 03:29:25 -0400
Subject: [PATCH 01/12] docs: typo fix (#269)
---
readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/readme.md b/readme.md
index 62377fe..44d263c 100644
--- a/readme.md
+++ b/readme.md
@@ -136,7 +136,7 @@ You can customize the appearance of your `Stats Card` or `Repo Card` however you
- `hide_rank` - _(boolean)_
- `show_icons` - _(boolean)_
- `count_private` - Count private commits _(boolean)_
-- `line_height` - Sets the line-height betweent text _(number)_
+- `line_height` - Sets the line-height between text _(number)_
#### Repo Card Exclusive Options:
From 416f027faea5ee00afeaac6a114ae15fc70b8868 Mon Sep 17 00:00:00 2001
From: Anurag Hazra
Date: Fri, 31 Jul 2020 13:37:39 +0530
Subject: [PATCH 02/12] fix: total commit counts (#211)
* fix: wip fix total commit counts
* tests: added tests
* chore: remove console logs
* docs: added docs for include_all_commits
* chore: increased value offset x
* chore: added reference/links comments
* docs: updated docs
---
api/index.js | 8 +++++-
package.json | 1 +
readme.md | 5 ++++
src/fetchStats.js | 56 ++++++++++++++++++++++++++++++++++++----
src/renderStatsCard.js | 23 ++++++++++++++---
tests/fetchStats.test.js | 35 +++++++++++++++++++++++--
6 files changed, 117 insertions(+), 11 deletions(-)
diff --git a/api/index.js b/api/index.js
index a17387c..b16990c 100644
--- a/api/index.js
+++ b/api/index.js
@@ -18,6 +18,7 @@ module.exports = async (req, res) => {
hide_rank,
show_icons,
count_private,
+ include_all_commits,
line_height,
title_color,
icon_color,
@@ -31,7 +32,11 @@ module.exports = async (req, res) => {
res.setHeader("Content-Type", "image/svg+xml");
try {
- stats = await fetchStats(username, parseBoolean(count_private));
+ stats = await fetchStats(
+ username,
+ parseBoolean(count_private),
+ parseBoolean(include_all_commits)
+ );
} catch (err) {
return res.send(
renderError(
@@ -56,6 +61,7 @@ module.exports = async (req, res) => {
hide_title: parseBoolean(hide_title),
hide_border: parseBoolean(hide_border),
hide_rank: parseBoolean(hide_rank),
+ include_all_commits: parseBoolean(include_all_commits),
line_height,
title_color,
icon_color,
diff --git a/package.json b/package.json
index 0adc010..d167c1b 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"dependencies": {
"dotenv": "^8.2.0",
"emoji-name-map": "^1.2.8",
+ "github-username-regex": "^1.0.0",
"word-wrap": "^1.2.3"
},
"husky": {
diff --git a/readme.md b/readme.md
index 44d263c..55e17e4 100644
--- a/readme.md
+++ b/readme.md
@@ -135,6 +135,7 @@ You can customize the appearance of your `Stats Card` or `Repo Card` however you
- `hide_title` - _(boolean)_
- `hide_rank` - _(boolean)_
- `show_icons` - _(boolean)_
+- `include_total_commits` - Count total commits instead of just the current year commits _(boolean)_
- `count_private` - Count private commits _(boolean)_
- `line_height` - Sets the line-height between text _(number)_
@@ -235,6 +236,10 @@ You can use the `&layout=compact` option to change the card design.

+- Include All Commits
+
+
+
- Themes
Choose from any of the [default themes](#themes)
diff --git a/src/fetchStats.js b/src/fetchStats.js
index 66df9d0..711d59e 100644
--- a/src/fetchStats.js
+++ b/src/fetchStats.js
@@ -1,6 +1,9 @@
const { request, logger } = require("./utils");
+const axios = require("axios");
const retryer = require("./retryer");
const calculateRank = require("./calculateRank");
+const githubUsernameRegex = require("github-username-regex");
+
require("dotenv").config();
const fetcher = (variables, token) => {
@@ -46,7 +49,45 @@ const fetcher = (variables, token) => {
);
};
-async function fetchStats(username, count_private = false) {
+// https://github.com/anuraghazra/github-readme-stats/issues/92#issuecomment-661026467
+// https://github.com/anuraghazra/github-readme-stats/pull/211/
+const totalCommitsFetcher = async (username) => {
+ if (!githubUsernameRegex.test(username)) {
+ logger.log("Invalid username");
+ return 0;
+ }
+
+ // https://developer.github.com/v3/search/#search-commits
+ const fetchTotalCommits = (variables, token) => {
+ return axios({
+ method: "get",
+ url: `https://api.github.com/search/commits?q=author:${variables.login}`,
+ headers: {
+ "Content-Type": "application/json",
+ Accept: "application/vnd.github.cloak-preview",
+ Authorization: `bearer ${token}`,
+ },
+ });
+ };
+
+ try {
+ let res = await retryer(fetchTotalCommits, { login: username });
+ if (res.data.total_count) {
+ return res.data.total_count;
+ }
+ } catch (err) {
+ logger.log(err);
+ // just return 0 if there is something wrong so that
+ // we don't break the whole app
+ return 0;
+ }
+};
+
+async function fetchStats(
+ username,
+ count_private = false,
+ include_all_commits = false
+) {
if (!username) throw Error("Invalid username");
const stats = {
@@ -61,6 +102,11 @@ async function fetchStats(username, count_private = false) {
let res = await retryer(fetcher, { login: username });
+ let experimental_totalCommits = 0;
+ if (include_all_commits) {
+ experimental_totalCommits = await totalCommitsFetcher(username);
+ }
+
if (res.data.errors) {
logger.error(res.data.errors);
throw Error(res.data.errors[0].message || "Could not fetch user");
@@ -72,11 +118,11 @@ async function fetchStats(username, count_private = false) {
stats.name = user.name || user.login;
stats.totalIssues = user.issues.totalCount;
- stats.totalCommits = contributionCount.totalCommitContributions;
+ stats.totalCommits =
+ contributionCount.totalCommitContributions + experimental_totalCommits;
+
if (count_private) {
- stats.totalCommits =
- contributionCount.totalCommitContributions +
- contributionCount.restrictedContributionsCount;
+ stats.totalCommits += contributionCount.restrictedContributionsCount;
}
stats.totalPRs = user.pullRequests.totalCount;
diff --git a/src/renderStatsCard.js b/src/renderStatsCard.js
index ace6bcb..b5e41d2 100644
--- a/src/renderStatsCard.js
+++ b/src/renderStatsCard.js
@@ -8,7 +8,15 @@ const { getStyles } = require("./getStyles");
const icons = require("./icons");
const Card = require("./Card");
-const createTextNode = ({ icon, label, value, id, index, showIcons }) => {
+const createTextNode = ({
+ icon,
+ label,
+ value,
+ id,
+ index,
+ showIcons,
+ shiftValuePos,
+}) => {
const kValue = kFormatter(value);
const staggerDelay = (index + 3) * 150;
@@ -24,7 +32,12 @@ const createTextNode = ({ icon, label, value, id, index, showIcons }) => {
${iconSvg}
${label}:
- ${kValue}
+ ${kValue}
`;
};
@@ -45,6 +58,7 @@ const renderStatsCard = (stats = {}, options = { hide: [] }) => {
hide_title = false,
hide_border = false,
hide_rank = false,
+ include_all_commits = false,
line_height = 25,
title_color,
icon_color,
@@ -74,7 +88,9 @@ const renderStatsCard = (stats = {}, options = { hide: [] }) => {
},
commits: {
icon: icons.commits,
- label: "Total Commits",
+ label: `Total Commits${
+ include_all_commits ? "" : ` (${new Date().getFullYear()})`
+ }`,
value: totalCommits,
id: "commits",
},
@@ -107,6 +123,7 @@ const renderStatsCard = (stats = {}, options = { hide: [] }) => {
...STATS[key],
index,
showIcons: show_icons,
+ shiftValuePos: !include_all_commits,
})
);
diff --git a/tests/fetchStats.test.js b/tests/fetchStats.test.js
index 34e7781..b63312f 100644
--- a/tests/fetchStats.test.js
+++ b/tests/fetchStats.test.js
@@ -9,7 +9,10 @@ const data = {
user: {
name: "Anurag Hazra",
repositoriesContributedTo: { totalCount: 61 },
- contributionsCollection: { totalCommitContributions: 100, restrictedContributionsCount: 50 },
+ contributionsCollection: {
+ totalCommitContributions: 100,
+ restrictedContributionsCount: 50,
+ },
pullRequests: { totalCount: 300 },
issues: { totalCount: 200 },
followers: { totalCount: 100 },
@@ -102,4 +105,32 @@ describe("Test fetchStats", () => {
rank,
});
});
-});
\ No newline at end of file
+
+ it("should fetch total commits", async () => {
+ mock.onPost("https://api.github.com/graphql").reply(200, data);
+ mock
+ .onGet("https://api.github.com/search/commits?q=author:anuraghazra")
+ .reply(200, { total_count: 1000 });
+
+ let stats = await fetchStats("anuraghazra", true, true);
+ const rank = calculateRank({
+ totalCommits: 1000 + 150,
+ totalRepos: 5,
+ followers: 100,
+ contributions: 61,
+ stargazers: 400,
+ prs: 300,
+ issues: 200,
+ });
+
+ expect(stats).toStrictEqual({
+ contributedTo: 61,
+ name: "Anurag Hazra",
+ totalCommits: 1000 + 150,
+ totalIssues: 200,
+ totalPRs: 300,
+ totalStars: 400,
+ rank,
+ });
+ });
+});
From 56e3745a5cf834106b849b0bb19ab9858a88b25d Mon Sep 17 00:00:00 2001
From: anuraghazra
Date: Fri, 31 Jul 2020 13:46:27 +0530
Subject: [PATCH 03/12] docs: fix typo in options
---
readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/readme.md b/readme.md
index 55e17e4..981b473 100644
--- a/readme.md
+++ b/readme.md
@@ -135,7 +135,7 @@ You can customize the appearance of your `Stats Card` or `Repo Card` however you
- `hide_title` - _(boolean)_
- `hide_rank` - _(boolean)_
- `show_icons` - _(boolean)_
-- `include_total_commits` - Count total commits instead of just the current year commits _(boolean)_
+- `include_all_commits` - Count total commits instead of just the current year commits _(boolean)_
- `count_private` - Count private commits _(boolean)_
- `line_height` - Sets the line-height between text _(number)_
From f0b89d0f7282b3c9734f1f36ef63a8a3e23bb6bf Mon Sep 17 00:00:00 2001
From: Anurag Hazra
Date: Fri, 31 Jul 2020 14:54:41 +0530
Subject: [PATCH 04/12] fix: label overlap (#274)
---
src/renderStatsCard.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/renderStatsCard.js b/src/renderStatsCard.js
index b5e41d2..1eb2d41 100644
--- a/src/renderStatsCard.js
+++ b/src/renderStatsCard.js
@@ -34,7 +34,7 @@ const createTextNode = ({
${label}:
${kValue}
From 8dca589a1342e506ac12c6d418ef6eeba8e32502 Mon Sep 17 00:00:00 2001
From: Manolo Edge
Date: Sun, 2 Aug 2020 09:10:19 +0200
Subject: [PATCH 05/12] docs(translation): Updated readme_es.md (#286)
---
readme_es.md | 176 +++++++++++++++++++++++++++++++++++----------------
1 file changed, 123 insertions(+), 53 deletions(-)
diff --git a/readme_es.md b/readme_es.md
index 28a338b..738e0b6 100644
--- a/readme_es.md
+++ b/readme_es.md
@@ -44,7 +44,7 @@
# Características
- [Tarjeta de estadísticas de GitHub](#tarjeta-de-estadísticas-de-github)
-- [Pins extra de GitHub](#pins-extra-de-github)
+- [Pins adicionales de GitHub](#pines-adicionales-de-github)
- [Temas](#temas)
- [Personalización](#personalización)
- [Despliega por tu cuenta](#despliega-tu-propia-instancia-de-vercel)
@@ -107,69 +107,59 @@ dark, radical, merko, gruvbox, tokyonight, onedark, cobalt, synthwave, highcontr
-Puedes ver una vista previa de [todos los temas disponibles](./themes/README.md) o ver el [archivo de configuración](./themes/index.js) del tema y también **puedes contribuir con nuevos temas** si lo deseas: D
+Puedes ver una vista previa de [todos los temas disponibles](./themes/README.md) o ver el [archivo de configuración](./themes/index.js) del tema y también **puedes contribuir con nuevos temas** si lo deseas :D
### Personalización
Puedes personalizar el aspecto de tu `Stats Card` o `Repo Card` de la manera que desees con los parámetros URL.
-Opciones de personalización:
+#### Opciones Comunes:
-| Option | type | description | Stats Card (default) | Repo Card (default) |
-| ----------- | --------- | ----------------------------- | -------------------- | ------------------- |
-| title_color | hex color | color del título | 2f80ed | 2f80ed |
-| text_color | hex color | color del contenido | 333 | 333 |
-| icon_color | hex color | color del ícono | 4c71f2 | 586069 |
-| bg_color | hex color | color de fondo | FFFEFE | FFFEFE |
-| line_height | number | controla el line_height | 30 | N/A |
-| hide_rank | boolean | oculta la clasificación | false | N/A |
-| hide_title | boolean | oculta el título | false | N/A |
-| hide_border | boolean | oculta el borde | false | N/A |
-| show_owner | boolean | muestra el propietario | N/A | false |
-| show_icons | boolean | muestra los íconos | false | N/A |
-| theme | string | establece un tema incorporado | 'default' | 'default_repocard' |
+- `title_color` - Color del título _(hex color)_
+- `text_color` - Color del contenido _(hex color)_
+- `icon_color` - Color de icono si esta disponible _(hex color)_
+- `bg_color` - Color de fondo _(hex color)_
+- `theme` - Nombre del tema, elige uno de [todos los temas disponible ](./themes/README.md)
+- `cache_seconds` - Cache _(min: 1800, max: 86400)_
+
+> Nota sobre la caché: las tarjetas de Repo tienen un caché predeterminado de 30 minutos (1800 segundos) si el recuento forks y el recuento de estrellas es inferior a 1k; de lo contrario, son 2 horas (7200). También tenga en cuenta que el caché está sujeto a un mínimo de 30 minutos y un máximo de 24 horas
+
+#### Opciones exclusivas de la tarjeta de estadísticas:
+
+- `hide` - Ocultar los elementos especificados de las estadísticas _ (valores separados por comas) _
+- `hide_title` - _(boolean)_
+- `hide_rank` - _(boolean)_
+- `show_icons` - _(boolean)_
+- `include_all_commits` - Cuente los commits totales en lugar de solo los commits del año actual _(boolean)_
+- `count_private` - Cuenta los commits privadas _(boolean)_
+- `line_height` - Establece el alto de línea entre texto _(number)_
+
+#### Opciones exclusivas de la tarjeta Repo:
+
+- `show_owner` - Mostrar el nombre del propietario del repositorio _(boolean)_
+
+#### Opciones exclusivas de la tarjeta de lenguajes:
+
+- `hide` - Ocultar los lenguajes especificados de la tarjeta _(valores separados por comas)_
+- `hide_title` - _(boolean)_
+- `layout` - Cambiar entre dos diseños disponibles `default` & `compact`
+- `card_width` - Establecer el ancho de la tarjeta manualmente _(number)_
+
+> :warning: **Importante:**
+> Los nombres de los idiomas deben tener escape de uri, como se especifica en [Código porciento](https://es.wikipedia.org/wiki/C%C3%B3digo_porciento)
+> (es decir: `c++` debería convertirse en `c%2B%2B`,`jupyter notebook` debería convertirse en `jupyter%20notebook`, etc.)
---
-### Ejemplo
+# Pines adicionales de GitHub
-- Predeterminado
+Los pines adicionales de GitHub le permiten fijar más de 6 repositorios en su perfil utilizando un readme de perfil de GitHub.
-
-
-- Ocultando estadísticas específicas
-
-
-
-- Mostrando íconos
-
-
-
-- Temas
-
-Elige uno de los [temas predeterminados](#temas)
-
-
-
-- Personalizando la tarjeta de estadísticas
-
-
-
-- Personalizando la tarjeta de repositorio
-
-
-
----
-
-# Pins extra de GitHub
-
-Los pins extra de GitHub te permiten anclar más de 6 repositorios en tu perfil utilizando el archivo README.md.
-
-¡Bien! Ya no estás limitado a 6 repositorios anclados.
+Yey! Ya no está limitado a 6 repositorios anclados.
### Utilización
-Copia y pega este código en tu README.md y cambia los links.
+Copie y pegue este código en su archivo Léame y cambie los enlaces.
Endpoint: `api/pin?username=anuraghazra&repo=github-readme-stats`
@@ -185,9 +175,89 @@ Utiliza la variable [show_owner](#customización) para incluir el nombre de usua
[](https://github.com/anuraghazra/github-readme-stats)
-### Pequeño consejo (alinear las tarjetas de repositorios)
+# Tarjeta de lenguajes principales
-Usualmente no serías capaz de alinear las imágenes una al lado de otra. Para lograrlo, puedes realizar esto:
+La tarjeta de lenguajes principales muestra los lenguajes principales del usuario de github que se han utilizado principalmente.
+
+_NOTA: los lenguajes principales no indican mi nivel de habilidad o algo así, es una métrica de github de los lenguajes que tengo más código en github, es una nueva característica de github-readme-stats_
+
+### Utilización
+
+Copie y pegue este código en su readme y cambie los enlaces.
+
+Endpoint: `api/top-langs?username=anuraghazra`
+
+```md
+[](https://github.com/anuraghazra/github-readme-stats)
+```
+
+### Ocultar lenguajes individuales
+
+Puede usar el parámetro `? Hide = language1, language2` para ocultar lenguajes individuales.
+
+```md
+[](https://github.com/anuraghazra/github-readme-stats)
+```
+
+### Diseño de tarjeta de lenguaje compacta
+
+Puede usar la opción `& layout = compact` para cambiar el diseño de la tarjeta.
+
+```md
+[](https://github.com/anuraghazra/github-readme-stats)
+```
+
+### Ejemplo
+
+[](https://github.com/anuraghazra/github-readme-stats)
+
+- Diseño compacto
+
+[](https://github.com/anuraghazra/github-readme-stats)
+
+---
+
+### Todos los ejemplos
+
+- Por Defecto
+
+
+
+- Ocultar estadísticas específicas
+
+
+
+- Mostrando iconos
+
+
+
+- Incluir todos los Commits
+
+
+
+- Temas
+
+Elija entre cualquiera de los [temas predeterminados](#themes)
+
+
+
+- Personalizando tarjeta de estadísticas
+
+
+
+- Personalizar la tarjeta de repositorio
+
+
+
+- Lenguajes Principales
+
+[](https://github.com/anuraghazra/github-readme-stats)
+
+---
+
+### Consejo rápido (alinee las tarjetas de repositorio)
+
+Por lo general, no podrá diseñar las imágenes una al lado de la otra. Para hacerlo, puede usar este enfoque:
```md
@@ -222,7 +292,7 @@ Nota: debido a esto [#58](https://github.com/anuraghazra/github-readme-stats/pul
1. Selecciona `Import Git Repository`

1. Selecciona "root" y matén todo como está, simplemente añade tu variable de entorno llamada PAT_1 (como se muestra), la cual contendrá un token de acceso personal (PAT), el cual puedes crear fácilmente [aquí](https://github.com/settings/tokens/new) (mantén todo como está, simplemente asígnale un nombre, puede ser cualquiera que desees)
- 
+ 
1. Clickea "Deploy" y ya está listo. ¡Ve tus dominios para usar la API!
From e18f57be3e2e17c6401e7e9aceb395a44315afc2 Mon Sep 17 00:00:00 2001
From: Ryuya Ikeda
Date: Sun, 2 Aug 2020 16:13:00 +0900
Subject: [PATCH 06/12] style(theme): add solarized themes (#281)
---
themes/index.js | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/themes/index.js b/themes/index.js
index 6460dd3..2f0c78a 100644
--- a/themes/index.js
+++ b/themes/index.js
@@ -125,6 +125,18 @@ const themes = {
text_color: "ffd95b",
bg_color: "000000",
},
+ "solarized-dark": {
+ title_color: "268bd2",
+ icon_color: "b58900",
+ text_color: "859900",
+ bg_color: "002b36",
+ },
+ "solarized-light": {
+ title_color: "268bd2",
+ icon_color: "b58900",
+ text_color: "859900",
+ bg_color: "fdf6e3",
+ },
};
module.exports = themes;
From 1412a8dbe0579fd492ddae2e897684ec532d3e2f Mon Sep 17 00:00:00 2001
From: Anurag Hazra
Date: Sun, 2 Aug 2020 12:45:56 +0530
Subject: [PATCH 07/12] docs(theme): Auto update theme readme (#288)
Co-authored-by: Github Readme Stats Bot
---
themes/README.md | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/themes/README.md b/themes/README.md
index b4b8848..8d110ae 100644
--- a/themes/README.md
+++ b/themes/README.md
@@ -22,7 +22,8 @@ Use `?theme=THEME_NAME` parameter like so :-
| `highcontrast` ![highcontrast][highcontrast] | `dracula` ![dracula][dracula] | `prussian` ![prussian][prussian] |
| `monokai` ![monokai][monokai] | `vue` ![vue][vue] | `shades-of-purple` ![shades-of-purple][shades-of-purple] |
| `nightowl` ![nightowl][nightowl] | `buefy` ![buefy][buefy] | `blue-green` ![blue-green][blue-green] |
-| `algolia` ![algolia][algolia] | `great-gatsby` ![great-gatsby][great-gatsby] | [Add your theme][add-theme] |
+| `algolia` ![algolia][algolia] | `great-gatsby` ![great-gatsby][great-gatsby] | `solarized-dark` ![solarized-dark][solarized-dark] |
+| `solarized-light` ![solarized-light][solarized-light] | | [Add your theme][add-theme] |
## Repo Card
@@ -36,7 +37,8 @@ Use `?theme=THEME_NAME` parameter like so :-
| `highcontrast` ![highcontrast][highcontrast_repo] | `dracula` ![dracula][dracula_repo] | `prussian` ![prussian][prussian_repo] |
| `monokai` ![monokai][monokai_repo] | `vue` ![vue][vue_repo] | `shades-of-purple` ![shades-of-purple][shades-of-purple_repo] |
| `nightowl` ![nightowl][nightowl_repo] | `buefy` ![buefy][buefy_repo] | `blue-green` ![blue-green][blue-green_repo] |
-| `algolia` ![algolia][algolia_repo] | `great-gatsby` ![great-gatsby][great-gatsby_repo] | [Add your theme][add-theme] |
+| `algolia` ![algolia][algolia_repo] | `great-gatsby` ![great-gatsby][great-gatsby_repo] | `solarized-dark` ![solarized-dark][solarized-dark_repo] |
+| `solarized-light` ![solarized-light][solarized-light_repo] | | [Add your theme][add-theme] |
[default]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=default
@@ -60,6 +62,8 @@ Use `?theme=THEME_NAME` parameter like so :-
[blue-green]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=blue-green
[algolia]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=algolia
[great-gatsby]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=great-gatsby
+[solarized-dark]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=solarized-dark
+[solarized-light]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=solarized-light
[default_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=default
@@ -83,6 +87,8 @@ Use `?theme=THEME_NAME` parameter like so :-
[blue-green_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=blue-green
[algolia_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=algolia
[great-gatsby_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=great-gatsby
+[solarized-dark_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=solarized-dark
+[solarized-light_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=solarized-light
[add-theme]: https://github.com/anuraghazra/github-readme-stats/edit/master/themes/index.js
From e7dcda0ee8755ed69e5e0403834f0a6dd303fbe9 Mon Sep 17 00:00:00 2001
From: Masood Mohammad <45809678+masoodbinmohammad@users.noreply.github.com>
Date: Sun, 2 Aug 2020 12:51:47 +0530
Subject: [PATCH 08/12] docs: Made the text bold (#243)
---
readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/readme.md b/readme.md
index 981b473..64fb76d 100644
--- a/readme.md
+++ b/readme.md
@@ -282,7 +282,7 @@ NOTE: Since [#58](https://github.com/anuraghazra/github-readme-stats/pull/58) we
[](https://vercel.com/import/project?template=https://github.com/anuraghazra/github-readme-stats)
- Guide on setting up Vercel
+ Guide on setting up Vercel 🔨
1. Go to [vercel.com](https://vercel.com/)
1. Click on `Log in`
From 67b434dc79b0f024b5d432c5f3317042a963558e Mon Sep 17 00:00:00 2001
From: Anurag Hazra
Date: Sun, 2 Aug 2020 13:07:26 +0530
Subject: [PATCH 09/12] chore(*): reorganized all files and folders (#283)
---
api/index.js | 6 +--
api/pin.js | 6 +--
api/top-langs.js | 6 +--
src/{renderRepoCard.js => cards/repo-card.js} | 6 +--
.../stats-card.js} | 8 ++--
.../top-languages-card.js} | 4 +-
src/{ => common}/Card.js | 4 +-
src/{ => common}/icons.js | 0
src/{ => common}/retryer.js | 2 +-
src/{ => common}/utils.js | 2 +-
.../repo-fetcher.js} | 4 +-
.../stats-fetcher.js} | 6 +--
.../top-languages-fetcher.js} | 8 ++--
tests/api.test.js | 4 +-
tests/card.test.js | 6 +--
tests/fetchRepo.test.js | 2 +-
tests/fetchStats.test.js | 2 +-
tests/fetchTopLanguages.test.js | 2 +-
tests/pin.test.js | 6 +--
tests/renderRepoCard.test.js | 2 +-
tests/renderStatsCard.test.js | 3 +-
tests/renderTopLanguages.test.js | 47 ++++++++++++-------
tests/retryer.test.js | 4 +-
tests/top-langs.test.js | 4 +-
tests/utils.test.js | 2 +-
25 files changed, 79 insertions(+), 67 deletions(-)
rename src/{renderRepoCard.js => cards/repo-card.js} (97%)
rename src/{renderStatsCard.js => cards/stats-card.js} (96%)
rename src/{renderTopLanguages.js => cards/top-languages-card.js} (97%)
rename src/{ => common}/Card.js (96%)
rename src/{ => common}/icons.js (100%)
rename src/{ => common}/retryer.js (96%)
rename src/{ => common}/utils.js (99%)
rename src/{fetchRepo.js => fetchers/repo-fetcher.js} (94%)
rename src/{fetchStats.js => fetchers/stats-fetcher.js} (96%)
rename src/{fetchTopLanguages.js => fetchers/top-languages-fetcher.js} (90%)
diff --git a/api/index.js b/api/index.js
index b16990c..b1b0b3a 100644
--- a/api/index.js
+++ b/api/index.js
@@ -5,9 +5,9 @@ const {
parseArray,
clampValue,
CONSTANTS,
-} = require("../src/utils");
-const fetchStats = require("../src/fetchStats");
-const renderStatsCard = require("../src/renderStatsCard");
+} = require("../src/common/utils");
+const fetchStats = require("../src/fetchers/stats-fetcher");
+const renderStatsCard = require("../src/cards/stats-card");
module.exports = async (req, res) => {
const {
diff --git a/api/pin.js b/api/pin.js
index b017204..22eb851 100644
--- a/api/pin.js
+++ b/api/pin.js
@@ -5,9 +5,9 @@ const {
clampValue,
CONSTANTS,
logger,
-} = require("../src/utils");
-const fetchRepo = require("../src/fetchRepo");
-const renderRepoCard = require("../src/renderRepoCard");
+} = require("../src/common/utils");
+const fetchRepo = require("../src/fetchers/repo-fetcher");
+const renderRepoCard = require("../src/cards/repo-card");
module.exports = async (req, res) => {
const {
diff --git a/api/top-langs.js b/api/top-langs.js
index a758e33..552dd1e 100644
--- a/api/top-langs.js
+++ b/api/top-langs.js
@@ -5,9 +5,9 @@ const {
parseBoolean,
parseArray,
CONSTANTS,
-} = require("../src/utils");
-const fetchTopLanguages = require("../src/fetchTopLanguages");
-const renderTopLanguages = require("../src/renderTopLanguages");
+} = require("../src/common/utils");
+const fetchTopLanguages = require("../src/fetchers/top-languages-fetcher");
+const renderTopLanguages = require("../src/cards/top-languages-card");
module.exports = async (req, res) => {
const {
diff --git a/src/renderRepoCard.js b/src/cards/repo-card.js
similarity index 97%
rename from src/renderRepoCard.js
rename to src/cards/repo-card.js
index 9721ebf..233812b 100644
--- a/src/renderRepoCard.js
+++ b/src/cards/repo-card.js
@@ -4,10 +4,10 @@ const {
getCardColors,
FlexLayout,
wrapTextMultiline,
-} = require("../src/utils");
-const icons = require("./icons");
+} = require("../common/utils");
+const icons = require("../common/icons");
+const Card = require("../common/Card");
const toEmoji = require("emoji-name-map");
-const Card = require("./Card");
const renderRepoCard = (repo, options = {}) => {
const {
diff --git a/src/renderStatsCard.js b/src/cards/stats-card.js
similarity index 96%
rename from src/renderStatsCard.js
rename to src/cards/stats-card.js
index 1eb2d41..3c7aab7 100644
--- a/src/renderStatsCard.js
+++ b/src/cards/stats-card.js
@@ -3,10 +3,10 @@ const {
getCardColors,
FlexLayout,
encodeHTML,
-} = require("../src/utils");
-const { getStyles } = require("./getStyles");
-const icons = require("./icons");
-const Card = require("./Card");
+} = require("../common/utils");
+const { getStyles } = require("../getStyles");
+const icons = require("../common/icons");
+const Card = require("../common/Card");
const createTextNode = ({
icon,
diff --git a/src/renderTopLanguages.js b/src/cards/top-languages-card.js
similarity index 97%
rename from src/renderTopLanguages.js
rename to src/cards/top-languages-card.js
index 5ccb2e0..5b43261 100644
--- a/src/renderTopLanguages.js
+++ b/src/cards/top-languages-card.js
@@ -1,5 +1,5 @@
-const { getCardColors, FlexLayout, clampValue } = require("../src/utils");
-const Card = require("./Card");
+const { getCardColors, FlexLayout, clampValue } = require("../common/utils");
+const Card = require("../common/Card");
const createProgressNode = ({ width, color, name, progress }) => {
const paddingRight = 95;
diff --git a/src/Card.js b/src/common/Card.js
similarity index 96%
rename from src/Card.js
rename to src/common/Card.js
index c8b21b6..aa96ad0 100644
--- a/src/Card.js
+++ b/src/common/Card.js
@@ -1,5 +1,5 @@
-const { FlexLayout } = require("./utils");
-const { getAnimations } = require("./getStyles");
+const { FlexLayout } = require("../common/utils");
+const { getAnimations } = require("../getStyles");
class Card {
constructor({
diff --git a/src/icons.js b/src/common/icons.js
similarity index 100%
rename from src/icons.js
rename to src/common/icons.js
diff --git a/src/retryer.js b/src/common/retryer.js
similarity index 96%
rename from src/retryer.js
rename to src/common/retryer.js
index 97a607e..7771e22 100644
--- a/src/retryer.js
+++ b/src/common/retryer.js
@@ -1,4 +1,4 @@
-const { logger } = require("./utils");
+const { logger } = require("../common/utils");
const retryer = async (fetcher, variables, retries = 0) => {
if (retries > 7) {
diff --git a/src/utils.js b/src/common/utils.js
similarity index 99%
rename from src/utils.js
rename to src/common/utils.js
index 44d418b..968006f 100644
--- a/src/utils.js
+++ b/src/common/utils.js
@@ -1,6 +1,6 @@
const axios = require("axios");
const wrap = require("word-wrap");
-const themes = require("../themes");
+const themes = require("../../themes");
const renderError = (message, secondaryMessage = "") => {
return `
diff --git a/src/fetchRepo.js b/src/fetchers/repo-fetcher.js
similarity index 94%
rename from src/fetchRepo.js
rename to src/fetchers/repo-fetcher.js
index 9c74b49..c04a4cc 100644
--- a/src/fetchRepo.js
+++ b/src/fetchers/repo-fetcher.js
@@ -1,5 +1,5 @@
-const { request } = require("./utils");
-const retryer = require("./retryer");
+const { request } = require("../common/utils");
+const retryer = require("../common/retryer");
const fetcher = (variables, token) => {
return request(
diff --git a/src/fetchStats.js b/src/fetchers/stats-fetcher.js
similarity index 96%
rename from src/fetchStats.js
rename to src/fetchers/stats-fetcher.js
index 711d59e..b1ef221 100644
--- a/src/fetchStats.js
+++ b/src/fetchers/stats-fetcher.js
@@ -1,7 +1,7 @@
-const { request, logger } = require("./utils");
+const { request, logger } = require("../common/utils");
const axios = require("axios");
-const retryer = require("./retryer");
-const calculateRank = require("./calculateRank");
+const retryer = require("../common/retryer");
+const calculateRank = require("../calculateRank");
const githubUsernameRegex = require("github-username-regex");
require("dotenv").config();
diff --git a/src/fetchTopLanguages.js b/src/fetchers/top-languages-fetcher.js
similarity index 90%
rename from src/fetchTopLanguages.js
rename to src/fetchers/top-languages-fetcher.js
index 99356bc..f4cf788 100644
--- a/src/fetchTopLanguages.js
+++ b/src/fetchers/top-languages-fetcher.js
@@ -1,5 +1,5 @@
-const { request, logger } = require("./utils");
-const retryer = require("./retryer");
+const { request, logger } = require("../common/utils");
+const retryer = require("../common/retryer");
require("dotenv").config();
const fetcher = (variables, token) => {
@@ -49,14 +49,14 @@ async function fetchTopLanguages(username) {
.filter((node) => {
return node.languages.edges.length > 0;
})
- // flatten the list of language nodes
+ // flatten the list of language nodes
.reduce((acc, curr) => curr.languages.edges.concat(acc), [])
.sort((a, b) => b.size - a.size)
.reduce((acc, prev) => {
// get the size of the language (bytes)
let langSize = prev.size;
- // if we already have the language in the accumulator
+ // if we already have the language in the accumulator
// & the current language name is same as previous name
// add the size to the language size.
if (acc[prev.node.name] && prev.node.name === acc[prev.node.name].name) {
diff --git a/tests/api.test.js b/tests/api.test.js
index 4811128..2d1c532 100644
--- a/tests/api.test.js
+++ b/tests/api.test.js
@@ -2,8 +2,8 @@ require("@testing-library/jest-dom");
const axios = require("axios");
const MockAdapter = require("axios-mock-adapter");
const api = require("../api/index");
-const renderStatsCard = require("../src/renderStatsCard");
-const { renderError, CONSTANTS } = require("../src/utils");
+const renderStatsCard = require("../src/cards/stats-card");
+const { renderError, CONSTANTS } = require("../src/common/utils");
const calculateRank = require("../src/calculateRank");
const stats = {
diff --git a/tests/card.test.js b/tests/card.test.js
index 318cf56..15d1d7b 100644
--- a/tests/card.test.js
+++ b/tests/card.test.js
@@ -1,8 +1,8 @@
require("@testing-library/jest-dom");
const cssToObject = require("css-to-object");
-const Card = require("../src/Card");
-const icons = require("../src/icons");
-const { getCardColors } = require("../src/utils");
+const Card = require("../src/common/Card");
+const icons = require("../src/common/icons");
+const { getCardColors } = require("../src/common/utils");
const { queryByTestId } = require("@testing-library/dom");
describe("Card", () => {
diff --git a/tests/fetchRepo.test.js b/tests/fetchRepo.test.js
index 6bdfd72..dec4012 100644
--- a/tests/fetchRepo.test.js
+++ b/tests/fetchRepo.test.js
@@ -1,7 +1,7 @@
require("@testing-library/jest-dom");
const axios = require("axios");
const MockAdapter = require("axios-mock-adapter");
-const fetchRepo = require("../src/fetchRepo");
+const fetchRepo = require("../src/fetchers/repo-fetcher");
const data_repo = {
repository: {
diff --git a/tests/fetchStats.test.js b/tests/fetchStats.test.js
index b63312f..0714578 100644
--- a/tests/fetchStats.test.js
+++ b/tests/fetchStats.test.js
@@ -1,7 +1,7 @@
require("@testing-library/jest-dom");
const axios = require("axios");
const MockAdapter = require("axios-mock-adapter");
-const fetchStats = require("../src/fetchStats");
+const fetchStats = require("../src/fetchers/stats-fetcher");
const calculateRank = require("../src/calculateRank");
const data = {
diff --git a/tests/fetchTopLanguages.test.js b/tests/fetchTopLanguages.test.js
index 9f90e77..852a0b0 100644
--- a/tests/fetchTopLanguages.test.js
+++ b/tests/fetchTopLanguages.test.js
@@ -1,7 +1,7 @@
require("@testing-library/jest-dom");
const axios = require("axios");
const MockAdapter = require("axios-mock-adapter");
-const fetchTopLanguages = require("../src/fetchTopLanguages");
+const fetchTopLanguages = require("../src/fetchers/top-languages-fetcher");
const mock = new MockAdapter(axios);
diff --git a/tests/pin.test.js b/tests/pin.test.js
index 580fcba..a85baf3 100644
--- a/tests/pin.test.js
+++ b/tests/pin.test.js
@@ -2,8 +2,8 @@ require("@testing-library/jest-dom");
const axios = require("axios");
const MockAdapter = require("axios-mock-adapter");
const pin = require("../api/pin");
-const renderRepoCard = require("../src/renderRepoCard");
-const { renderError } = require("../src/utils");
+const renderRepoCard = require("../src/cards/repo-card");
+const { renderError } = require("../src/common/utils");
const data_repo = {
repository: {
@@ -17,7 +17,7 @@ const data_repo = {
name: "TypeScript",
},
forkCount: 100,
- isTemplate: false
+ isTemplate: false,
},
};
diff --git a/tests/renderRepoCard.test.js b/tests/renderRepoCard.test.js
index 6b741aa..1d0d6cc 100644
--- a/tests/renderRepoCard.test.js
+++ b/tests/renderRepoCard.test.js
@@ -1,6 +1,6 @@
require("@testing-library/jest-dom");
const cssToObject = require("css-to-object");
-const renderRepoCard = require("../src/renderRepoCard");
+const renderRepoCard = require("../src/cards/repo-card");
const { queryByTestId } = require("@testing-library/dom");
const themes = require("../themes");
diff --git a/tests/renderStatsCard.test.js b/tests/renderStatsCard.test.js
index 983a406..ed04dd1 100644
--- a/tests/renderStatsCard.test.js
+++ b/tests/renderStatsCard.test.js
@@ -1,6 +1,6 @@
require("@testing-library/jest-dom");
const cssToObject = require("css-to-object");
-const renderStatsCard = require("../src/renderStatsCard");
+const renderStatsCard = require("../src/cards/stats-card");
const {
getByTestId,
@@ -188,7 +188,6 @@ describe("Test renderStatsCard", () => {
);
});
-
it("should render icons correctly", () => {
document.body.innerHTML = renderStatsCard(stats, {
show_icons: true,
diff --git a/tests/renderTopLanguages.test.js b/tests/renderTopLanguages.test.js
index 9996038..b9d4095 100644
--- a/tests/renderTopLanguages.test.js
+++ b/tests/renderTopLanguages.test.js
@@ -1,12 +1,8 @@
require("@testing-library/jest-dom");
const cssToObject = require("css-to-object");
-const renderTopLanguages = require("../src/renderTopLanguages");
+const renderTopLanguages = require("../src/cards/top-languages-card");
-const {
- getByTestId,
- queryByTestId,
- queryAllByTestId,
-} = require("@testing-library/dom");
+const { queryByTestId, queryAllByTestId } = require("@testing-library/dom");
const themes = require("../themes");
describe("Test renderTopLanguages", () => {
@@ -72,7 +68,7 @@ describe("Test renderTopLanguages", () => {
// multiple languages passed
document.body.innerHTML = renderTopLanguages(langs, {
- hide: ["HTML","css"],
+ hide: ["HTML", "css"],
});
expect(queryAllByTestId(document.body, "lang-name")[0]).toBeInTheDocument(
"javascript"
@@ -189,18 +185,35 @@ describe("Test renderTopLanguages", () => {
});
});
- it('should render with layout compact', () => {
- document.body.innerHTML = renderTopLanguages(langs, {layout: 'compact'});
+ it("should render with layout compact", () => {
+ document.body.innerHTML = renderTopLanguages(langs, { layout: "compact" });
- expect(queryByTestId(document.body, "header")).toHaveTextContent("Most Used Languages");
+ expect(queryByTestId(document.body, "header")).toHaveTextContent(
+ "Most Used Languages"
+ );
- expect(queryAllByTestId(document.body, "lang-name")[0]).toHaveTextContent("HTML 40.00%");
- expect(queryAllByTestId(document.body, "lang-progress")[0]).toHaveAttribute("width","120.00");
+ expect(queryAllByTestId(document.body, "lang-name")[0]).toHaveTextContent(
+ "HTML 40.00%"
+ );
+ expect(queryAllByTestId(document.body, "lang-progress")[0]).toHaveAttribute(
+ "width",
+ "120.00"
+ );
- expect(queryAllByTestId(document.body, "lang-name")[1]).toHaveTextContent("javascript 40.00%");
- expect(queryAllByTestId(document.body, "lang-progress")[1]).toHaveAttribute("width","120.00");
+ expect(queryAllByTestId(document.body, "lang-name")[1]).toHaveTextContent(
+ "javascript 40.00%"
+ );
+ expect(queryAllByTestId(document.body, "lang-progress")[1]).toHaveAttribute(
+ "width",
+ "120.00"
+ );
- expect(queryAllByTestId(document.body, "lang-name")[2]).toHaveTextContent("css 20.00%");
- expect(queryAllByTestId(document.body, "lang-progress")[2]).toHaveAttribute("width","60.00");
- })
+ expect(queryAllByTestId(document.body, "lang-name")[2]).toHaveTextContent(
+ "css 20.00%"
+ );
+ expect(queryAllByTestId(document.body, "lang-progress")[2]).toHaveAttribute(
+ "width",
+ "60.00"
+ );
+ });
});
diff --git a/tests/retryer.test.js b/tests/retryer.test.js
index 90efb2e..627dcb2 100644
--- a/tests/retryer.test.js
+++ b/tests/retryer.test.js
@@ -1,6 +1,6 @@
require("@testing-library/jest-dom");
-const retryer = require("../src/retryer");
-const { logger } = require("../src/utils");
+const retryer = require("../src/common/retryer");
+const { logger } = require("../src/common/utils");
const fetcher = jest.fn((variables, token) => {
logger.log(variables, token);
diff --git a/tests/top-langs.test.js b/tests/top-langs.test.js
index a214eb4..9d06b6f 100644
--- a/tests/top-langs.test.js
+++ b/tests/top-langs.test.js
@@ -2,8 +2,8 @@ require("@testing-library/jest-dom");
const axios = require("axios");
const MockAdapter = require("axios-mock-adapter");
const topLangs = require("../api/top-langs");
-const renderTopLanguages = require("../src/renderTopLanguages");
-const { renderError } = require("../src/utils");
+const renderTopLanguages = require("../src/cards/top-languages-card");
+const { renderError } = require("../src/common/utils");
const data_langs = {
data: {
diff --git a/tests/utils.test.js b/tests/utils.test.js
index ccd1864..54e1ddd 100644
--- a/tests/utils.test.js
+++ b/tests/utils.test.js
@@ -6,7 +6,7 @@ const {
FlexLayout,
getCardColors,
wrapTextMultiline,
-} = require("../src/utils");
+} = require("../src/common/utils");
const { queryByTestId } = require("@testing-library/dom");
From 394fef948b26f8d4197e309a929aa8d73e205e94 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=8Dtalo=20Polazzi?=
Date: Sun, 2 Aug 2020 06:07:39 -0300
Subject: [PATCH 10/12] docs(translation): add Brazilian Portuguese translation
file (#280)
* docs(translation): add Brazilian Portuguese translation file
* docs(translation): add Brazilian Portuguese translation file
---
readme.md | 2 +
readme_pt-BR.md | 325 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 327 insertions(+)
create mode 100644 readme_pt-BR.md
diff --git a/readme.md b/readme.md
index 64fb76d..ccea98b 100644
--- a/readme.md
+++ b/readme.md
@@ -41,6 +41,8 @@
Deutsch
·
日本語
+ ·
+ Português Brasileiro
Loved the project? Please consider donating to help it improve!
diff --git a/readme_pt-BR.md b/readme_pt-BR.md
new file mode 100644
index 0000000..a41c64d
--- /dev/null
+++ b/readme_pt-BR.md
@@ -0,0 +1,325 @@
+
+
+
GitHub Readme Stats
+ Adicione suas estatísticas no GitHub geradas dinamicamente em seus readmes!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ver demonstração
+ ·
+ Reportar erros
+ ·
+ Solicitar recursos
+
+
+ 简体中文
+ ·
+ Español
+ ·
+ Deutsch
+ ·
+ 日本語
+ ·
+ Português Brasileiro
+
+
+Gostou do projeto? Por favor considere fazer uma doação para ajudar a melhorá-lo!
+
+# Características
+
+- [Cartão de estatísticas do GitHub](#cartão-de-estatísticas-do-github)
+- [Pins extras do GitHub](#pins-extras-do-github)
+- [Cartão de principais linguagens de programação](#cartão-de-principais-linguagens-de-programação)
+- [Temas](#temas)
+- [Personalização](#personalização)
+- [Faça suas próprias implantações](#faça-suas-próprias-implantações)
+
+# Cartão de estatísticas do GitHub
+
+Copie e cole isso no seu conteúdo de remarcação e é isso. Simples!
+
+Mude o valor de `?username=` para o seu nome de usuário no GitHub.
+
+```md
+[](https://github.com/anuraghazra/github-readme-stats)
+```
+
+_Nota: As classificações são baseadas nas estatísticas do usuário, veja [src/calculateRank.js](./src/calculateRank.js)_
+
+### Ocultando estatísticas específicas
+
+Para ocultar estatísticas individualmente, você pode passar um parâmetro de consulta `?hide=` com valores separados por vírgula.
+
+> Opções: `&hide=stars,commits,prs,issues,contribs`
+
+```md
+
+```
+
+### Adicionando contagem de contribuições privadas à contagem total de commits
+
+Adicione a contagem de todas as suas contribuições privadas à contagem total de confirmações usando o parâmetro de consulta `?count_private=true`.
+
+_Nota: Se você estiver implantando este projeto, as contribuições privadas serão contadas por padrão; caso contrário, você precisará compartilhar suas contagens de contribuições privadas._
+
+> Opções: `&count_private=true`
+
+```md
+
+```
+
+### Exibindo ícones
+
+Para habilitar ícones, basta utilizar o parâmetro `show_icons=true` na sua requisição, da seguinte forma:
+
+```md
+
+```
+
+### Temas
+
+Com temas predefinidos, pode personalizar a aparência dos cartões sem precisar fazer nenhuma [configuração manual](#personalização).
+
+Utilize o parâmetro `?theme=THEME_NAME`, da seguinte forma:
+
+```md
+
+```
+
+#### Todos os temas predefinidos :
+
+dark, radical, merko, gruvbox, tokyonight, onedark, cobalt, synthwave, highcontrast, dracula
+
+
+
+Visualize [todos o temas disponíveis](./themes/README.md) ou o [arquivo de configuração de tema](./themes/index.js), além de **também poder contribuir com novos temas**, se desejar :D
+
+### Personalização
+
+Personalize a aparência do seu `Stats Card` ou `Repo Card` da maneira que desejar com os parâmetros de URL.
+
+#### Opções comuns
+
+- `title_color` - Cor do título do cartão _(hex color)_
+- `text_color` - Cor de texto do conteúdo _(hex color)_
+- `icon_color` - Cor dos ícones (se disponível) _(hex color)_
+- `bg_color` - Cor de fundo do cartão _(hex color)_
+- `theme` - Nome do tema, escolha em [todos os temas disponíveis](./themes/README.md)
+- `cache_seconds` - Defina o cabeçalho do cache manualmente _(min: 1800, max: 86400)_
+
+> Nota sobre o cache: Cartões de repositório tem um cache padrão de 30 minutos (1800 segundos), se o número a contagem de forks e contagem de estrelas é menor que 1 mil o padrão é 2 horas (7200). Note também que o cache é limitado a um mínimo de 30 minutos e um máximo de 24 horas.
+
+#### Opções exclusivas do cartão de estatísticas:
+
+- `hide` - Oculta itens específicos das estatísticas _(Valores separados por vírgulas)_
+- `hide_title` - Ocutar o título _(boolean)_
+- `hide_rank` - Ocultar a classificação _(boolean)_
+- `show_icons` - Mostrar ícones _(boolean)_
+- `include_all_commits` - Contabiliza todos os commits ao invés de apenas os atual ano _(boolean)_
+- `count_private` - Contabiliza commits privados _(boolean)_
+- `line_height` - Define a altura do espaçamento entre o texto _(number)_
+
+#### Opções exclusivas do cartão de repositórios:
+
+- `show_owner` - Exibir o nome da pessoa a quem o repositório pertence _(boolean)_
+
+#### Opções exclusivas do cartão de linguagens:
+
+- `hide` - Oculta linguagens específicas _(Valores separados por vírgulas)_
+- `hide_title` - Oculta o título _(boolean)_
+- `layout` - Alterna entre os dois layouts disponíveis `default` & `compact`
+- `card_width` - Define a largura do cartão manualmente _(number)_
+
+> :warning: **Importante:**
+> Nomes de linguagens devem ser uma sequência escapada de URI, como específicado em [Codificação por cento](https://pt.wikipedia.org/wiki/Codificação_por_cento)
+> (Isso é: `c++` deve se tornar `c%2B%2B`, `jupyter notebook` deve se tornar `jupyter%20notebook`, etc.)
+
+---
+
+# Pins extras do GitHub
+
+Os Pins extras do GitHub permitem fixar mais de 6 repositórios no seu perfil usando um perfil README.me do GitHub.
+
+Uhu! Você não está mais limitado a 6 repositórios fixados.
+
+### Utilização
+
+Copie e cole esse código no seu README.md e altere os atributos.
+
+Endpoint: `api/pin?username=anuraghazra&repo=github-readme-stats`
+
+```md
+[](https://github.com/anuraghazra/github-readme-stats)
+```
+
+### Demonstração
+
+[](https://github.com/anuraghazra/github-readme-stats)
+
+Utilize a variável [show_owner](#personalização) para incluir o nome de usuário do proprietária do repositório
+
+[](https://github.com/anuraghazra/github-readme-stats)
+
+# Cartão de principais linguagens de programação
+
+Exibe uma métrica de linguagens de programação mais usadas pelo usuário do GitHub.
+
+_Nota: As principais linguagens de programação não fazem declarações sobre habilidades pessoais ou similares, é apenas uma figura-chave com base nas estatísticas do GitHub do usuário indicando a frequência com que cada uma foi utilizada._
+
+### Utilização
+
+Copie e cole esse código no seu README.md e altere os atributos.
+
+Endpoint: `api/top-langs?username=anuraghazra`
+
+```md
+[](https://github.com/anuraghazra/github-readme-stats)
+```
+
+### Ocultar linguagens individualmente
+
+Utilize o parâmetro `?hide=language1,language2` para ocultar linguagens específicas.
+
+```md
+[](https://github.com/anuraghazra/github-readme-stats)
+```
+
+### Layout de cartão de linguagens compacto
+
+Utilize a opção `&layout=compact` para mudar o layout do cartão.
+
+```md
+[](https://github.com/anuraghazra/github-readme-stats)
+```
+
+### Demonstração
+
+[](https://github.com/anuraghazra/github-readme-stats)
+
+- Layout compacto
+
+[](https://github.com/anuraghazra/github-readme-stats)
+
+---
+
+### Todas as demonstrações
+
+- Padronizado
+
+
+
+- Ocultando estatísticas específicas
+
+
+
+- Mostrando ícones
+
+
+
+- Incluir todos os commits
+
+
+
+- Temas
+
+Escolha entre um dos [temas predefinidos](#temas)
+
+
+
+- Personalizando o cartão de estatísticas
+
+
+
+- Customizando o cartão de repositório
+
+
+
+- Principais linguagens
+
+[](https://github.com/anuraghazra/github-readme-stats)
+
+---
+
+### Dica (Alinhandos os cartões de repositório)
+
+Por padrão, você não poderá organizar as imagens lado a lado. Para fazer isso, você pode usar a seguinte abordagem:
+
+```md
+
+
+
+
+
+
+```
+
+## Implante em sua própria instância do Vercel
+
+Como a API do GitHub permite apenas 5 mil solicitações por hora, é possível que minha `https://github-readme-stats.vercel.app/api` atinja a cota limite. Se hospedar em seu próprio servidor Vercel, não precisará se preocupar com nada. Clique no botão de implantação para começar!
+
+Nota: Desde [#58](https://github.com/anuraghazra/github-readme-stats/pull/58) há possibilidade de lidar com mais de 5 mil chamadas por hora, sem interrupções :D
+
+[](https://vercel.com/import/project?template=https://github.com/anuraghazra/github-readme-stats)
+
+
+ Guia de configuração do Vercel
+
+1. Acesse [vercel.com](https://vercel.com/)
+1. Clique em `Login`
+ 
+1. Acesse com o GitHub clicando em `Continue with GitHub`
+ 
+1. Entre no GitHub e permita acesso a todos os repositórios, se solicitado
+1. Faça Fork neste repositório
+1. Volte ao seu [painel principal do Vercel](https://vercel.com/dashboard)
+1. Selecione `Import Project`
+ 
+1. Selecione `Import Git Repository`
+ 
+1. Selecione a raiz e mantenha tudo como está, basta adicionar sua variável de ambiente chamada PAT_1 (que será exibida), que conterá um token de acesso pessoal (PAT), que você pode criar facilmente [aqui](https://github.com/settings/tokens/new) (deixe tudo como está, apenas dê um nome, que pode ser o que você quiser)
+ 
+1. Clique em `deploy` e já estará tudo pronto. Veja seus domínios para usar a API!
+
+
+
+## :sparkling_heart: Apoie o projeto
+
+
+Disponibilizo como código aberto quase tudo o que posso e tento responder a todos que precisam de ajuda para utilizar esses projetos. Claro,
+isso demanda tempo. Utilize este serviço gratuitamente.
+
+No entanto, se você utilizar este projeto e estiver satisfeito com ele, ou apenas quiser me encorajar a continuar criando coisas, existem algumas formas fazê-lo:
+
+- Dando os devidos créditos ao usar github-readme-stats no seu README.me, adicionando uma referência ao projeto :D
+- Dando uma estrela (Starring) e compartilhando o projeto 🚀
+- [](https://www.paypal.me/anuraghazra) - Você pode fazer doações únicas via PayPal. Provavelmente vou comprar um ~~café~~ chá. :tea:
+
+Obrigado! :heart:
+
+---
+
+Contribuições são bem-vindas! <3
+
+Feito com :heart: e JavaScript.
From d7089af346cdb8f5cda34ffb9a62d209da82c0a1 Mon Sep 17 00:00:00 2001
From: Rahul Mahesh
Date: Sun, 2 Aug 2020 18:48:49 +0530
Subject: [PATCH 11/12] style(theme): Added new theme Bear (#278)
Bear is one of the most downloaded color themes on VSCode. So I created a theme based on that.
Co-authored-by: Anurag Hazra
---
themes/index.js | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/themes/index.js b/themes/index.js
index 2f0c78a..1381d7a 100644
--- a/themes/index.js
+++ b/themes/index.js
@@ -125,6 +125,12 @@ const themes = {
text_color: "ffd95b",
bg_color: "000000",
},
+ "bear": {
+ title_color: "e03c8a",
+ icon_color: "00AEFF",
+ text_color: "bcb28d",
+ bg_color: "1f2023",
+ },
"solarized-dark": {
title_color: "268bd2",
icon_color: "b58900",
From 6f7e35468ca78dd8b7c2b42c3bce99e12015dc59 Mon Sep 17 00:00:00 2001
From: Anurag Hazra
Date: Sun, 2 Aug 2020 18:52:53 +0530
Subject: [PATCH 12/12] docs(theme): Auto update theme readme (#294)
Co-authored-by: Github Readme Stats Bot
---
themes/README.md | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/themes/README.md b/themes/README.md
index 8d110ae..53c8c13 100644
--- a/themes/README.md
+++ b/themes/README.md
@@ -22,8 +22,8 @@ Use `?theme=THEME_NAME` parameter like so :-
| `highcontrast` ![highcontrast][highcontrast] | `dracula` ![dracula][dracula] | `prussian` ![prussian][prussian] |
| `monokai` ![monokai][monokai] | `vue` ![vue][vue] | `shades-of-purple` ![shades-of-purple][shades-of-purple] |
| `nightowl` ![nightowl][nightowl] | `buefy` ![buefy][buefy] | `blue-green` ![blue-green][blue-green] |
-| `algolia` ![algolia][algolia] | `great-gatsby` ![great-gatsby][great-gatsby] | `solarized-dark` ![solarized-dark][solarized-dark] |
-| `solarized-light` ![solarized-light][solarized-light] | | [Add your theme][add-theme] |
+| `algolia` ![algolia][algolia] | `great-gatsby` ![great-gatsby][great-gatsby] | `bear` ![bear][bear] |
+| `solarized-dark` ![solarized-dark][solarized-dark] | `solarized-light` ![solarized-light][solarized-light] | [Add your theme][add-theme] |
## Repo Card
@@ -37,8 +37,8 @@ Use `?theme=THEME_NAME` parameter like so :-
| `highcontrast` ![highcontrast][highcontrast_repo] | `dracula` ![dracula][dracula_repo] | `prussian` ![prussian][prussian_repo] |
| `monokai` ![monokai][monokai_repo] | `vue` ![vue][vue_repo] | `shades-of-purple` ![shades-of-purple][shades-of-purple_repo] |
| `nightowl` ![nightowl][nightowl_repo] | `buefy` ![buefy][buefy_repo] | `blue-green` ![blue-green][blue-green_repo] |
-| `algolia` ![algolia][algolia_repo] | `great-gatsby` ![great-gatsby][great-gatsby_repo] | `solarized-dark` ![solarized-dark][solarized-dark_repo] |
-| `solarized-light` ![solarized-light][solarized-light_repo] | | [Add your theme][add-theme] |
+| `algolia` ![algolia][algolia_repo] | `great-gatsby` ![great-gatsby][great-gatsby_repo] | `bear` ![bear][bear_repo] |
+| `solarized-dark` ![solarized-dark][solarized-dark_repo] | `solarized-light` ![solarized-light][solarized-light_repo] | [Add your theme][add-theme] |
[default]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=default
@@ -62,6 +62,7 @@ Use `?theme=THEME_NAME` parameter like so :-
[blue-green]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=blue-green
[algolia]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=algolia
[great-gatsby]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=great-gatsby
+[bear]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=bear
[solarized-dark]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=solarized-dark
[solarized-light]: https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&hide=contribs,prs&cache_seconds=86400&theme=solarized-light
@@ -87,6 +88,7 @@ Use `?theme=THEME_NAME` parameter like so :-
[blue-green_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=blue-green
[algolia_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=algolia
[great-gatsby_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=great-gatsby
+[bear_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=bear
[solarized-dark_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=solarized-dark
[solarized-light_repo]: https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats&cache_seconds=86400&theme=solarized-light