forked from mirrored/github-readme-stats
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b0b386d20 |
+2
-7
@@ -1,12 +1,7 @@
|
|||||||
themes: themes/index.js
|
themes: themes/index.js
|
||||||
doc-translation: docs/*
|
doc-translation: docs/*
|
||||||
card-i18n:
|
card-i18n: src/translations.js
|
||||||
- src/translations.js
|
documentation: readme.md
|
||||||
- src/common/I18n.js
|
|
||||||
documentation:
|
|
||||||
- readme.md
|
|
||||||
- CONTRIBUTING.md
|
|
||||||
- CODE_OF_CONDUCT.md
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- package.json
|
- package.json
|
||||||
- package-lock.json
|
- package-lock.json
|
||||||
|
|||||||
Vendored
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
"recommendations": [
|
"recommendations": [
|
||||||
"yzhang.markdown-all-in-one",
|
"yzhang.markdown-all-in-one"
|
||||||
"esbenp.prettier-vscode"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
-2
@@ -1,5 +1,3 @@
|
|||||||
{
|
{
|
||||||
"markdown.extension.toc.levels": "1..3",
|
"markdown.extension.toc.levels": "1..3",
|
||||||
"editor.formatOnSave": true,
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -265,18 +265,18 @@ Du kannst die `&layout=compact` Option nutzen, um das Kartendesign zu ändern.
|
|||||||
Ändere `?username=` in den eigenen [Wakatime](https://wakatime.com)-Benutzernamen.
|
Ändere `?username=` in den eigenen [Wakatime](https://wakatime.com)-Benutzernamen.
|
||||||
|
|
||||||
```md
|
```md
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Beispiel
|
### Beispiel
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
- Kompaktes Layout
|
- Kompaktes Layout
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -297,18 +297,18 @@ Puedes usar la opción `& layout = compact` para cambiar el diseño de la tarjet
|
|||||||
cambia el valor del parámetro `?username=` a tu username en [Wakatime](https://wakatime.com).
|
cambia el valor del parámetro `?username=` a tu username en [Wakatime](https://wakatime.com).
|
||||||
|
|
||||||
```md
|
```md
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ejemplo
|
### Ejemplo
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
- Diseño compacto
|
- Diseño compacto
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -358,7 +358,7 @@ Escoja cualquiera de los [temas por defecto](#themes)
|
|||||||
|
|
||||||
- Tarjeta de Wakatime
|
- Tarjeta de Wakatime
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -313,18 +313,18 @@ _참고:
|
|||||||
`?username=` 속성의 값을 [Wakatime](https://wakatime.com) 계정의 사용자 명(닉네임)으로 바꿔주세요.
|
`?username=` 속성의 값을 [Wakatime](https://wakatime.com) 계정의 사용자 명(닉네임)으로 바꿔주세요.
|
||||||
|
|
||||||
```md
|
```md
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 미리보기
|
### 미리보기
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
- 컴팩트한 레이아웃
|
- 컴팩트한 레이아웃
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -374,7 +374,7 @@ _참고:
|
|||||||
|
|
||||||
- Wakatime 카드
|
- Wakatime 카드
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -298,14 +298,14 @@ Je kan de `&layout=compact` optie gebruiken om het kaart ontwerp aan te passen.
|
|||||||
Verander de `?username=` waarde naar je [Wakatime](https://wakatime.com) gebruikersnaam.
|
Verander de `?username=` waarde naar je [Wakatime](https://wakatime.com) gebruikersnaam.
|
||||||
|
|
||||||
```md
|
```md
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Demo
|
### Demo
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -355,7 +355,7 @@ Kies uit de [standaard thema\'s](#themes)
|
|||||||
|
|
||||||
- Wakatime kaart
|
- Wakatime kaart
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -294,14 +294,14 @@ You can use the `&langs_count=` option to increase or decrease the number of lan
|
|||||||
Change the `?username=` value to your [Wakatime](https://wakatime.com) username.
|
Change the `?username=` value to your [Wakatime](https://wakatime.com) username.
|
||||||
|
|
||||||
```md
|
```md
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
```
|
```
|
||||||
|
|
||||||
### डेमो
|
### डेमो
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -351,7 +351,7 @@ Change the `?username=` value to your [Wakatime](https://wakatime.com) username.
|
|||||||
|
|
||||||
- वक समय कार्ड
|
- वक समय कार्ड
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -255,14 +255,14 @@ Utilize a opção `&layout=compact` para mudar o layout do cartão.
|
|||||||
Altere o valor de `?username=` para o seu username do Wakatime.
|
Altere o valor de `?username=` para o seu username do Wakatime.
|
||||||
|
|
||||||
```md
|
```md
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Demonstração
|
### Demonstração
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -297,18 +297,18 @@ Endpoint: `api/top-langs?username=mustafacagri`
|
|||||||
`?username=` değerini [Wakatime](https://wakatime.com)'daki kullanıcı adınızla değiştirin.
|
`?username=` değerini [Wakatime](https://wakatime.com)'daki kullanıcı adınızla değiştirin.
|
||||||
|
|
||||||
```md
|
```md
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Demo
|
### Demo
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
- Kompakt Düzen
|
- Kompakt Düzen
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -358,7 +358,7 @@ Endpoint: `api/top-langs?username=mustafacagri`
|
|||||||
|
|
||||||
- Wakatime kart
|
- Wakatime kart
|
||||||
|
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Generated
+25
-30
@@ -9,7 +9,7 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.4.0",
|
"axios": "^0.24.0",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
"emoji-name-map": "^1.2.8",
|
"emoji-name-map": "^1.2.8",
|
||||||
"github-username-regex": "^1.0.0",
|
"github-username-regex": "^1.0.0",
|
||||||
@@ -33,9 +33,6 @@
|
|||||||
"lodash.snakecase": "^4.1.1",
|
"lodash.snakecase": "^4.1.1",
|
||||||
"parse-diff": "^0.7.0",
|
"parse-diff": "^0.7.0",
|
||||||
"prettier": "^2.1.2"
|
"prettier": "^2.1.2"
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18.0.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/core": {
|
"node_modules/@actions/core": {
|
||||||
@@ -1605,16 +1602,15 @@
|
|||||||
"node_modules/asynckit": {
|
"node_modules/asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.4.0",
|
"version": "0.24.0",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
|
||||||
"integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
|
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.0",
|
"follow-redirects": "^1.14.4"
|
||||||
"form-data": "^4.0.0",
|
|
||||||
"proxy-from-env": "^1.1.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/axios-mock-adapter": {
|
"node_modules/axios-mock-adapter": {
|
||||||
@@ -2037,6 +2033,7 @@
|
|||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"delayed-stream": "~1.0.0"
|
"delayed-stream": "~1.0.0"
|
||||||
},
|
},
|
||||||
@@ -2171,6 +2168,7 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||||
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.4.0"
|
"node": ">=0.4.0"
|
||||||
}
|
}
|
||||||
@@ -2485,6 +2483,7 @@
|
|||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"asynckit": "^0.4.0",
|
"asynckit": "^0.4.0",
|
||||||
"combined-stream": "^1.0.8",
|
"combined-stream": "^1.0.8",
|
||||||
@@ -4323,6 +4322,7 @@
|
|||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||||
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
@@ -4331,6 +4331,7 @@
|
|||||||
"version": "2.1.35",
|
"version": "2.1.35",
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"mime-db": "1.52.0"
|
"mime-db": "1.52.0"
|
||||||
},
|
},
|
||||||
@@ -4760,11 +4761,6 @@
|
|||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/proxy-from-env": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
|
||||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
|
||||||
},
|
|
||||||
"node_modules/psl": {
|
"node_modules/psl": {
|
||||||
"version": "1.9.0",
|
"version": "1.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
|
||||||
@@ -6900,16 +6896,15 @@
|
|||||||
"asynckit": {
|
"asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"axios": {
|
"axios": {
|
||||||
"version": "1.4.0",
|
"version": "0.24.0",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
|
||||||
"integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
|
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"follow-redirects": "^1.15.0",
|
"follow-redirects": "^1.14.4"
|
||||||
"form-data": "^4.0.0",
|
|
||||||
"proxy-from-env": "^1.1.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"axios-mock-adapter": {
|
"axios-mock-adapter": {
|
||||||
@@ -7209,6 +7204,7 @@
|
|||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"delayed-stream": "~1.0.0"
|
"delayed-stream": "~1.0.0"
|
||||||
}
|
}
|
||||||
@@ -7318,7 +7314,8 @@
|
|||||||
"delayed-stream": {
|
"delayed-stream": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"deprecation": {
|
"deprecation": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
@@ -7546,6 +7543,7 @@
|
|||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"asynckit": "^0.4.0",
|
"asynckit": "^0.4.0",
|
||||||
"combined-stream": "^1.0.8",
|
"combined-stream": "^1.0.8",
|
||||||
@@ -8898,12 +8896,14 @@
|
|||||||
"mime-db": {
|
"mime-db": {
|
||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"mime-types": {
|
"mime-types": {
|
||||||
"version": "2.1.35",
|
"version": "2.1.35",
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"mime-db": "1.52.0"
|
"mime-db": "1.52.0"
|
||||||
}
|
}
|
||||||
@@ -9214,11 +9214,6 @@
|
|||||||
"sisteransi": "^1.0.5"
|
"sisteransi": "^1.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"proxy-from-env": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
|
||||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
|
||||||
},
|
|
||||||
"psl": {
|
"psl": {
|
||||||
"version": "1.9.0",
|
"version": "1.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
|
||||||
|
|||||||
+1
-1
@@ -52,7 +52,7 @@
|
|||||||
"prettier": "^2.1.2"
|
"prettier": "^2.1.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.4.0",
|
"axios": "^0.24.0",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
"emoji-name-map": "^1.2.8",
|
"emoji-name-map": "^1.2.8",
|
||||||
"github-username-regex": "^1.0.0",
|
"github-username-regex": "^1.0.0",
|
||||||
|
|||||||
@@ -83,38 +83,38 @@ Please visit [this link](https://give.do/fundraisers/stand-beside-the-victims-of
|
|||||||
|
|
||||||
# Features <!-- omit in toc -->
|
# Features <!-- omit in toc -->
|
||||||
|
|
||||||
- [GitHub Stats Card](#github-stats-card)
|
* [GitHub Stats Card](#github-stats-card)
|
||||||
- [Hiding individual stats](#hiding-individual-stats)
|
* [Hiding individual stats](#hiding-individual-stats)
|
||||||
- [Showing additional individual stats](#showing-additional-individual-stats)
|
* [Showing additional individual stats](#showing-additional-individual-stats)
|
||||||
- [Showing icons](#showing-icons)
|
* [Showing icons](#showing-icons)
|
||||||
- [Themes](#themes)
|
* [Themes](#themes)
|
||||||
- [Customization](#customization)
|
* [Customization](#customization)
|
||||||
- [GitHub Extra Pins](#github-extra-pins)
|
* [GitHub Extra Pins](#github-extra-pins)
|
||||||
- [Usage](#usage)
|
* [Usage](#usage)
|
||||||
- [Demo](#demo)
|
* [Demo](#demo)
|
||||||
- [Top Languages Card](#top-languages-card)
|
* [Top Languages Card](#top-languages-card)
|
||||||
- [Usage](#usage-1)
|
* [Usage](#usage-1)
|
||||||
- [Language stats algorithm](#language-stats-algorithm)
|
* [Language stats algorithm](#language-stats-algorithm)
|
||||||
- [Exclude individual repositories](#exclude-individual-repositories)
|
* [Exclude individual repositories](#exclude-individual-repositories)
|
||||||
- [Hide individual languages](#hide-individual-languages)
|
* [Hide individual languages](#hide-individual-languages)
|
||||||
- [Show more languages](#show-more-languages)
|
* [Show more languages](#show-more-languages)
|
||||||
- [Compact Language Card Layout](#compact-language-card-layout)
|
* [Compact Language Card Layout](#compact-language-card-layout)
|
||||||
- [Donut Chart Language Card Layout](#donut-chart-language-card-layout)
|
* [Donut Chart Language Card Layout](#donut-chart-language-card-layout)
|
||||||
- [Donut Vertical Chart Language Card Layout](#donut-vertical-chart-language-card-layout)
|
* [Donut Vertical Chart Language Card Layout](#donut-vertical-chart-language-card-layout)
|
||||||
- [Pie Chart Language Card Layout](#pie-chart-language-card-layout)
|
* [Pie Chart Language Card Layout](#pie-chart-language-card-layout)
|
||||||
- [Hide Progress Bars](#hide-progress-bars)
|
* [Hide Progress Bars](#hide-progress-bars)
|
||||||
- [Demo](#demo-1)
|
* [Demo](#demo-1)
|
||||||
- [Wakatime Stats Card](#wakatime-stats-card)
|
* [Wakatime Stats Card](#wakatime-stats-card)
|
||||||
- [Demo](#demo-2)
|
* [Demo](#demo-2)
|
||||||
- [All Demos](#all-demos)
|
* [All Demos](#all-demos)
|
||||||
- [Quick Tip (Align The Cards)](#quick-tip-align-the-cards)
|
* [Quick Tip (Align The Repo Cards)](#quick-tip-align-the-repo-cards)
|
||||||
- [Deploy on your own](#deploy-on-your-own)
|
* [Deploy on your own](#deploy-on-your-own)
|
||||||
- [On Vercel](#on-vercel)
|
* [On Vercel](#on-vercel)
|
||||||
- [:film\_projector: Check Out Step By Step Video Tutorial By @codeSTACKr](#film_projector-check-out-step-by-step-video-tutorial-by-codestackr)
|
* [:film\_projector: Check Out Step By Step Video Tutorial By @codeSTACKr](#film_projector-check-out-step-by-step-video-tutorial-by-codestackr)
|
||||||
- [On other platforms](#on-other-platforms)
|
* [On other platforms](#on-other-platforms)
|
||||||
- [Disable rate limit protections](#disable-rate-limit-protections)
|
* [Disable rate limit protections](#disable-rate-limit-protections)
|
||||||
- [Keep your fork up to date](#keep-your-fork-up-to-date)
|
* [Keep your fork up to date](#keep-your-fork-up-to-date)
|
||||||
- [:sparkling\_heart: Support the project](#sparkling_heart-support-the-project)
|
* [:sparkling\_heart: Support the project](#sparkling_heart-support-the-project)
|
||||||
|
|
||||||
# Important Notice <!-- omit in toc -->
|
# Important Notice <!-- omit in toc -->
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@ You can pass a query parameter `&hide=` to hide any specific stats with comma-se
|
|||||||
|
|
||||||
You can pass a query parameter `&show=` to show any specific additional stats with comma-separated values.
|
You can pass a query parameter `&show=` to show any specific additional stats with comma-separated values.
|
||||||
|
|
||||||
> Options: `&show=reviews,discussions_started,discussions_answered`
|
> Options: `&show=reviews`
|
||||||
|
|
||||||
```md
|
```md
|
||||||

|

|
||||||
@@ -259,15 +259,15 @@ You can use [GitHub's new media feature](https://github.blog/changelog/2022-05-1
|
|||||||
<summary>:eyes: Show example</summary>
|
<summary>:eyes: Show example</summary>
|
||||||
|
|
||||||
<picture>
|
<picture>
|
||||||
<source
|
<source
|
||||||
srcset="https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&theme=dark"
|
srcset="https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true&theme=dark"
|
||||||
media="(prefers-color-scheme: dark)"
|
media="(prefers-color-scheme: dark)"
|
||||||
/>
|
/>
|
||||||
<source
|
<source
|
||||||
srcset="https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true"
|
srcset="https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true"
|
||||||
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
|
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
|
||||||
/>
|
/>
|
||||||
<img src="https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true" />
|
<img src="https://github-readme-stats.vercel.app/api?username=anuraghazra&show_icons=true" />
|
||||||
</picture>
|
</picture>
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
@@ -304,7 +304,7 @@ You can provide multiple comma-separated values in the bg\_color option to rende
|
|||||||
* `hide_title` - *(boolean)*. Default: `false`.
|
* `hide_title` - *(boolean)*. Default: `false`.
|
||||||
* `card_width` - Set the card's width manually *(number)*. Default: `500px (approx.)`.
|
* `card_width` - Set the card's width manually *(number)*. Default: `500px (approx.)`.
|
||||||
* `hide_rank` - *(boolean)* hides the rank and automatically resizes the card width. Default: `false`.
|
* `hide_rank` - *(boolean)* hides the rank and automatically resizes the card width. Default: `false`.
|
||||||
* `rank_icon` - Shows alternative rank icon (i.e. `github`, `percentile`, `progress` or `default`). Default: `default`.
|
* `rank_icon` - Shows alternative rank icon (i.e. `github` or `default`). Default: `default`.
|
||||||
* `show_icons` - *(boolean)*. Default: `false`.
|
* `show_icons` - *(boolean)*. Default: `false`.
|
||||||
* `include_all_commits` - Count total commits instead of just the current year commits *(boolean)*. Default: `false`.
|
* `include_all_commits` - Count total commits instead of just the current year commits *(boolean)*. Default: `false`.
|
||||||
* `line_height` - Sets the line height between text *(number)*. Default: `25`.
|
* `line_height` - Sets the line height between text *(number)*. Default: `25`.
|
||||||
@@ -314,7 +314,7 @@ You can provide multiple comma-separated values in the bg\_color option to rende
|
|||||||
* `disable_animations` - Disables all animations in the card *(boolean)*. Default: `false`.
|
* `disable_animations` - Disables all animations in the card *(boolean)*. Default: `false`.
|
||||||
* `ring_color` - Color of the rank circle *(hex color)*. Defaults to the theme ring color if it exists and otherwise the title color.
|
* `ring_color` - Color of the rank circle *(hex color)*. Defaults to the theme ring color if it exists and otherwise the title color.
|
||||||
* `number_format` - Switch between two available formats for displaying the card values `short` (i.e. `6.6k`) and `long` (i.e. `6626`). Default: `short`.
|
* `number_format` - Switch between two available formats for displaying the card values `short` (i.e. `6.6k`) and `long` (i.e. `6626`). Default: `short`.
|
||||||
* `show` - Show [additional items](#showing-additional-individual-stats) on stats card (i.e. `reviews`, `discussions_started` or `discussions_answered`) *(Comma-separated values)*. Default: `[] (blank array)`.
|
* `show` - Show [additional items](#showing-additional-individual-stats) on stats card (i.e. `reviews`) *(Comma-separated values)*. Default: `[] (blank array)`.
|
||||||
|
|
||||||
> **Note**
|
> **Note**
|
||||||
> When hide\_rank=`true`, the minimum card width is 270 px + the title length and padding.
|
> When hide\_rank=`true`, the minimum card width is 270 px + the title length and padding.
|
||||||
@@ -375,7 +375,7 @@ Endpoint: `api/pin?username=anuraghazra&repo=github-readme-stats`
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
Use [show\_owner](#repo-card-exclusive-options) query option to include the repo's owner username
|
Use [show\_owner](#customization) variable to include the repo's owner username
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -516,18 +516,18 @@ You can use the `&hide_progress=true` option to hide the percentages and the pro
|
|||||||
Change the `?username=` value to your [Wakatime](https://wakatime.com) username.
|
Change the `?username=` value to your [Wakatime](https://wakatime.com) username.
|
||||||
|
|
||||||
```md
|
```md
|
||||||
[](https://github.com/anuraghazra/github-readme-stats)
|
[](https://github.com/anuraghazra/github-readme-stats)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Demo
|
### Demo
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* Compact layout
|
* Compact layout
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@@ -541,9 +541,9 @@ Change the `?username=` value to your [Wakatime](https://wakatime.com) username.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
* Showing additional stats
|
* Showing addition stats
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* Showing icons
|
* Showing icons
|
||||||
|
|
||||||
@@ -553,14 +553,6 @@ Change the `?username=` value to your [Wakatime](https://wakatime.com) username.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
* Shows rank progress instead of rank level
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
* Shows user rank percentile instead of rank level
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
* Customize Border Color
|
* Customize Border Color
|
||||||
|
|
||||||

|

|
||||||
@@ -597,23 +589,14 @@ Choose from any of the [default themes](#themes)
|
|||||||
|
|
||||||
* WakaTime card
|
* WakaTime card
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
## Quick Tip (Align The Cards)
|
## Quick Tip (Align The Repo Cards)
|
||||||
|
|
||||||
By default, GitHub does not lay out the cards side by side. To do that, you can use this approach:
|
By default, GitHub does not lay out the cards side by side. To do that, you can use this approach:
|
||||||
|
|
||||||
```html
|
|
||||||
<a href="https://github.com/anuraghazra/github-readme-stats">
|
|
||||||
<img height=200 align="center" src="https://github-readme-stats.vercel.app/api?username=anuraghazra" />
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/anuraghazra/convoychat">
|
|
||||||
<img height=200 align="center" src="https://github-readme-stats.vercel.app/api/top-langs?username=anuraghazra&layout=compact&langs_count=8&card_width=320" />
|
|
||||||
</a>
|
|
||||||
```
|
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<a href="https://github.com/anuraghazra/github-readme-stats">
|
<a href="https://github.com/anuraghazra/github-readme-stats">
|
||||||
<img align="center" src="https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats" />
|
<img align="center" src="https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats" />
|
||||||
@@ -623,27 +606,6 @@ By default, GitHub does not lay out the cards side by side. To do that, you can
|
|||||||
</a>
|
</a>
|
||||||
```
|
```
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>:eyes: Show example</summary>
|
|
||||||
|
|
||||||
<a href="https://github.com/anuraghazra/github-readme-stats">
|
|
||||||
<img height=200 align="center" src="https://github-readme-stats.vercel.app/api?username=anuraghazra" />
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/anuraghazra/convoychat">
|
|
||||||
<img height=200 align="center" src="https://github-readme-stats.vercel.app/api/top-langs?username=anuraghazra&layout=compact&langs_count=8&card_width=320" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
<a href="https://github.com/anuraghazra/github-readme-stats">
|
|
||||||
<img align="center" src="https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=github-readme-stats" />
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/anuraghazra/convoychat">
|
|
||||||
<img align="center" src="https://github-readme-stats.vercel.app/api/pin/?username=anuraghazra&repo=convoychat" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
# Deploy on your own
|
# Deploy on your own
|
||||||
|
|
||||||
## On Vercel
|
## On Vercel
|
||||||
|
|||||||
+1
-21
@@ -86,8 +86,6 @@ const renderStatsCard = (stats = {}, options = {}) => {
|
|||||||
totalIssues,
|
totalIssues,
|
||||||
totalPRs,
|
totalPRs,
|
||||||
totalReviews,
|
totalReviews,
|
||||||
totalDiscussionsStarted,
|
|
||||||
totalDiscussionsAnswered,
|
|
||||||
contributedTo,
|
contributedTo,
|
||||||
rank,
|
rank,
|
||||||
} = stats;
|
} = stats;
|
||||||
@@ -178,24 +176,6 @@ const renderStatsCard = (stats = {}, options = {}) => {
|
|||||||
value: totalIssues,
|
value: totalIssues,
|
||||||
id: "issues",
|
id: "issues",
|
||||||
};
|
};
|
||||||
|
|
||||||
if (show.includes("discussions_started")) {
|
|
||||||
STATS.discussions_started = {
|
|
||||||
icon: icons.discussions_started,
|
|
||||||
label: i18n.t("statcard.discussions-started"),
|
|
||||||
value: totalDiscussionsStarted,
|
|
||||||
id: "discussions_started",
|
|
||||||
};
|
|
||||||
}
|
|
||||||
if (show.includes("discussions_answered")) {
|
|
||||||
STATS.discussions_answered = {
|
|
||||||
icon: icons.discussions_answered,
|
|
||||||
label: i18n.t("statcard.discussions-answered"),
|
|
||||||
value: totalDiscussionsAnswered,
|
|
||||||
id: "discussions_answered",
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
STATS.contribs = {
|
STATS.contribs = {
|
||||||
icon: icons.contribs,
|
icon: icons.contribs,
|
||||||
label: i18n.t("statcard.contribs"),
|
label: i18n.t("statcard.contribs"),
|
||||||
@@ -328,7 +308,7 @@ const renderStatsCard = (stats = {}, options = {}) => {
|
|||||||
<circle class="rank-circle-rim" cx="-10" cy="8" r="40" />
|
<circle class="rank-circle-rim" cx="-10" cy="8" r="40" />
|
||||||
<circle class="rank-circle" cx="-10" cy="8" r="40" />
|
<circle class="rank-circle" cx="-10" cy="8" r="40" />
|
||||||
<g class="rank-text">
|
<g class="rank-text">
|
||||||
${rankIcon(rank_icon, rank?.level, rank?.percentile)}
|
${rankIcon(rank_icon, rank?.level)}
|
||||||
</g>
|
</g>
|
||||||
</g>`;
|
</g>`;
|
||||||
|
|
||||||
|
|||||||
@@ -164,14 +164,14 @@ const donutCenterTranslation = (totalLangs) => {
|
|||||||
* Trim top languages to lang_count while also hiding certain languages.
|
* Trim top languages to lang_count while also hiding certain languages.
|
||||||
*
|
*
|
||||||
* @param {Record<string, Lang>} topLangs Top languages.
|
* @param {Record<string, Lang>} topLangs Top languages.
|
||||||
* @param {number} langs_count Number of languages to show.
|
* @param {string} langs_count Number of languages to show.
|
||||||
* @param {string[]=} hide Languages to hide.
|
* @param {string[]=} hide Languages to hide.
|
||||||
* @returns {{ langs: Lang[], totalLanguageSize: number }} Trimmed top languages and total size.
|
* @returns {{ langs: Lang[], totalLanguageSize: number }} Trimmed top languages and total size.
|
||||||
*/
|
*/
|
||||||
const trimTopLanguages = (topLangs, langs_count, hide) => {
|
const trimTopLanguages = (topLangs, langs_count, hide) => {
|
||||||
let langs = Object.values(topLangs);
|
let langs = Object.values(topLangs);
|
||||||
let langsToHide = {};
|
let langsToHide = {};
|
||||||
let langsCount = clampValue(langs_count, 1, MAXIMUM_LANGS_COUNT);
|
let langsCount = clampValue(parseInt(langs_count), 1, MAXIMUM_LANGS_COUNT);
|
||||||
|
|
||||||
// populate langsToHide map for quick lookup
|
// populate langsToHide map for quick lookup
|
||||||
// while filtering out
|
// while filtering out
|
||||||
@@ -734,7 +734,7 @@ const renderTopLanguages = (topLangs, options = {}) => {
|
|||||||
|
|
||||||
const { langs, totalLanguageSize } = trimTopLanguages(
|
const { langs, totalLanguageSize } = trimTopLanguages(
|
||||||
topLangs,
|
topLangs,
|
||||||
langs_count,
|
String(langs_count),
|
||||||
hide,
|
hide,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
type ThemeNames = keyof typeof import("../../themes/index.js");
|
type ThemeNames = keyof typeof import("../../themes/index.js");
|
||||||
type RankIcon = "default" | "github" | "percentile" | "progress";
|
type RankIcon = "default" | "github";
|
||||||
|
|
||||||
export type CommonOptions = {
|
export type CommonOptions = {
|
||||||
title_color: string;
|
title_color: string;
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => {
|
|||||||
|
|
||||||
const lheight = parseInt(String(line_height), 10);
|
const lheight = parseInt(String(line_height), 10);
|
||||||
|
|
||||||
const langsCount = clampValue(langs_count, 1, langs_count);
|
const langsCount = clampValue(parseInt(String(langs_count)), 1, langs_count);
|
||||||
|
|
||||||
// returns theme based colors with proper overrides and defaults
|
// returns theme based colors with proper overrides and defaults
|
||||||
const { titleColor, textColor, iconColor, bgColor, borderColor } =
|
const { titleColor, textColor, iconColor, bgColor, borderColor } =
|
||||||
|
|||||||
+3
-5
@@ -9,17 +9,15 @@ class I18n {
|
|||||||
}
|
}
|
||||||
|
|
||||||
t(str) {
|
t(str) {
|
||||||
const locale = this.locale || this.fallbackLocale;
|
|
||||||
|
|
||||||
if (!this.translations[str]) {
|
if (!this.translations[str]) {
|
||||||
throw new Error(`${str} Translation string not found`);
|
throw new Error(`${str} Translation string not found`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.translations[str][locale]) {
|
if (!this.translations[str][this.locale || this.fallbackLocale]) {
|
||||||
throw new Error(`'${str}' translation not found for locale '${locale}'`);
|
throw new Error(`${str} Translation locale not found`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.translations[str][locale];
|
return this.translations[str][this.locale || this.fallbackLocale];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-22
@@ -7,19 +7,14 @@ const icons = {
|
|||||||
contribs: `<path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/>`,
|
contribs: `<path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/>`,
|
||||||
fork: `<path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path>`,
|
fork: `<path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path>`,
|
||||||
reviews: `<path fill-rule="evenodd" d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"/>`,
|
reviews: `<path fill-rule="evenodd" d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"/>`,
|
||||||
discussions_started: `<path fill-rule="evenodd" d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z" />`,
|
|
||||||
discussions_answered: `<path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z" />`,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get rank icon
|
* Get rank icon
|
||||||
*
|
*
|
||||||
* @param {string} rankIcon - The rank icon type.
|
|
||||||
* @param {number} rankLevel - The rank level.
|
|
||||||
* @param {number} percentile - The rank percentile.
|
|
||||||
* @returns {string} - The SVG code of the rank icon
|
* @returns {string} - The SVG code of the rank icon
|
||||||
*/
|
*/
|
||||||
const rankIcon = (rankIcon, rankLevel, percentile) => {
|
const rankIcon = (rankIcon, rankLevel) => {
|
||||||
switch (rankIcon) {
|
switch (rankIcon) {
|
||||||
case "github":
|
case "github":
|
||||||
return `
|
return `
|
||||||
@@ -27,28 +22,13 @@ const rankIcon = (rankIcon, rankLevel, percentile) => {
|
|||||||
<path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
|
<path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
`;
|
`;
|
||||||
case "percentile":
|
|
||||||
return `
|
|
||||||
<text x="-5" y="-12" alignment-baseline="central" dominant-baseline="central" text-anchor="middle" data-testid="percentile-top-header" class="rank-percentile-header">
|
|
||||||
Top
|
|
||||||
</text>
|
|
||||||
<text x="-5" y="12" alignment-baseline="central" dominant-baseline="central" text-anchor="middle" data-testid="percentile-rank-value" class="rank-percentile-text">
|
|
||||||
${percentile.toFixed(1)}%
|
|
||||||
</text>
|
|
||||||
`;
|
|
||||||
case "progress":
|
|
||||||
return `
|
|
||||||
<text x="-5" y="3" alignment-baseline="central" dominant-baseline="central" text-anchor="middle" data-testid="progress-rank-icon" class="rank-percentile-text">
|
|
||||||
${(100.0 - percentile).toFixed(1)}%
|
|
||||||
</text>
|
|
||||||
`;
|
|
||||||
case "default":
|
case "default":
|
||||||
default:
|
default:
|
||||||
return `
|
return `
|
||||||
<text x="-5" y="3" alignment-baseline="central" dominant-baseline="central" text-anchor="middle" data-testid="level-rank-icon">
|
<text x="-5" y="3" alignment-baseline="central" dominant-baseline="central" text-anchor="middle" data-testid="level-rank-icon">
|
||||||
${rankLevel}
|
${rankLevel}
|
||||||
</text>
|
</text>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -63,12 +63,6 @@ const GRAPHQL_STATS_QUERY = `
|
|||||||
followers {
|
followers {
|
||||||
totalCount
|
totalCount
|
||||||
}
|
}
|
||||||
repositoryDiscussions {
|
|
||||||
totalCount
|
|
||||||
}
|
|
||||||
repositoryDiscussionComments(onlyAnswers: true) {
|
|
||||||
totalCount
|
|
||||||
}
|
|
||||||
${GRAPHQL_REPOS_FIELD}
|
${GRAPHQL_REPOS_FIELD}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -196,8 +190,6 @@ const fetchStats = async (
|
|||||||
totalCommits: 0,
|
totalCommits: 0,
|
||||||
totalIssues: 0,
|
totalIssues: 0,
|
||||||
totalStars: 0,
|
totalStars: 0,
|
||||||
totalDiscussionsStarted: 0,
|
|
||||||
totalDiscussionsAnswered: 0,
|
|
||||||
contributedTo: 0,
|
contributedTo: 0,
|
||||||
rank: { level: "C", percentile: 100 },
|
rank: { level: "C", percentile: 100 },
|
||||||
};
|
};
|
||||||
@@ -240,8 +232,6 @@ const fetchStats = async (
|
|||||||
stats.totalReviews =
|
stats.totalReviews =
|
||||||
user.contributionsCollection.totalPullRequestReviewContributions;
|
user.contributionsCollection.totalPullRequestReviewContributions;
|
||||||
stats.totalIssues = user.openIssues.totalCount + user.closedIssues.totalCount;
|
stats.totalIssues = user.openIssues.totalCount + user.closedIssues.totalCount;
|
||||||
stats.totalDiscussionsStarted = user.repositoryDiscussions.totalCount;
|
|
||||||
stats.totalDiscussionsAnswered = user.repositoryDiscussionComments.totalCount;
|
|
||||||
stats.contributedTo = user.repositoriesContributedTo.totalCount;
|
stats.contributedTo = user.repositoriesContributedTo.totalCount;
|
||||||
|
|
||||||
// Retrieve stars while filtering out repositories to be hidden.
|
// Retrieve stars while filtering out repositories to be hidden.
|
||||||
|
|||||||
Vendored
-2
@@ -22,8 +22,6 @@ export type StatsData = {
|
|||||||
totalCommits: number;
|
totalCommits: number;
|
||||||
totalIssues: number;
|
totalIssues: number;
|
||||||
totalStars: number;
|
totalStars: number;
|
||||||
totalDiscussionsStarted: number;
|
|
||||||
totalDiscussionsAnswered: number;
|
|
||||||
contributedTo: number;
|
contributedTo: number;
|
||||||
rank: { level: string; percentile: number };
|
rank: { level: string; percentile: number };
|
||||||
};
|
};
|
||||||
|
|||||||
+1
-7
@@ -98,12 +98,6 @@ const getStyles = ({
|
|||||||
font: 800 24px 'Segoe UI', Ubuntu, Sans-Serif; fill: ${textColor};
|
font: 800 24px 'Segoe UI', Ubuntu, Sans-Serif; fill: ${textColor};
|
||||||
animation: scaleInAnimation 0.3s ease-in-out forwards;
|
animation: scaleInAnimation 0.3s ease-in-out forwards;
|
||||||
}
|
}
|
||||||
.rank-percentile-header {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.rank-percentile-text {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.not_bold { font-weight: 400 }
|
.not_bold { font-weight: 400 }
|
||||||
.bold { font-weight: 700 }
|
.bold { font-weight: 700 }
|
||||||
@@ -133,4 +127,4 @@ const getStyles = ({
|
|||||||
`;
|
`;
|
||||||
};
|
};
|
||||||
|
|
||||||
export { getAnimations, getStyles };
|
export { getStyles, getAnimations };
|
||||||
|
|||||||
+4
-170
@@ -228,66 +228,6 @@ const statCardLocales = ({ name, apostrophe }) => {
|
|||||||
vi: "Tổng Số PR Đã Xem Xét",
|
vi: "Tổng Số PR Đã Xem Xét",
|
||||||
se: "Totalt antal granskade PR",
|
se: "Totalt antal granskade PR",
|
||||||
},
|
},
|
||||||
"statcard.discussions-started": {
|
|
||||||
ar: "مجموع بدء المناقشات",
|
|
||||||
cn: "发起的讨论总数",
|
|
||||||
"zh-tw": "發起的討論總數",
|
|
||||||
cs: "Celkem zahájených diskusí",
|
|
||||||
de: "Gesamt gestartete Diskussionen",
|
|
||||||
en: "Total Discussions Started",
|
|
||||||
bn: "সর্বমোট আলোচনা শুরু",
|
|
||||||
es: "Discusiones totales iniciadas",
|
|
||||||
fr: "Nombre total de discussions lancées",
|
|
||||||
hu: "Összes megkezdett megbeszélés",
|
|
||||||
it: "Discussioni totali avviate",
|
|
||||||
ja: "開始されたディスカッションの総数",
|
|
||||||
kr: "시작된 토론 총 수",
|
|
||||||
nl: "Totaal gestarte discussies",
|
|
||||||
"pt-pt": "Total de Discussões Iniciadas",
|
|
||||||
"pt-br": "Total de Discussões Iniciadas",
|
|
||||||
np: "कुल चर्चा सुरु",
|
|
||||||
el: "Σύνολο Συζητήσεων που Ξεκίνησαν",
|
|
||||||
ru: "Всего начатых дискуссий",
|
|
||||||
"uk-ua": "Всього розпочатих дискусій",
|
|
||||||
id: "Total Diskusi Dimulai",
|
|
||||||
my: "Jumlah Perbincangan Bermula",
|
|
||||||
sk: "Celkový počet začatých diskusií",
|
|
||||||
tr: "Başlatılan Toplam Tartışma",
|
|
||||||
pl: "Łącznie rozpoczętych dyskusji",
|
|
||||||
uz: "Boshlangan muzokaralar soni",
|
|
||||||
vi: "Tổng Số Thảo Luận Bắt Đầu",
|
|
||||||
se: "Totalt antal diskussioner startade",
|
|
||||||
},
|
|
||||||
"statcard.discussions-answered": {
|
|
||||||
ar: "مجموع الردود على المناقشات",
|
|
||||||
cn: "回复的讨论总数",
|
|
||||||
"zh-tw": "回覆的討論總數",
|
|
||||||
cs: "Celkem zodpovězených diskusí",
|
|
||||||
de: "Gesamt beantwortete Diskussionen",
|
|
||||||
en: "Total Discussions Answered",
|
|
||||||
bn: "সর্বমোট আলোচনা উত্তর",
|
|
||||||
es: "Discusiones totales respondidas",
|
|
||||||
fr: "Nombre total de discussions répondues",
|
|
||||||
hu: "Összes megválaszolt megbeszélés",
|
|
||||||
it: "Discussioni totali risposte",
|
|
||||||
ja: "回答されたディスカッションの総数",
|
|
||||||
kr: "답변된 토론 총 수",
|
|
||||||
nl: "Totaal beantwoorde discussies",
|
|
||||||
"pt-pt": "Total de Discussões Respondidas",
|
|
||||||
"pt-br": "Total de Discussões Respondidas",
|
|
||||||
np: "कुल चर्चा उत्तर",
|
|
||||||
el: "Σύνολο Συζητήσεων που Απαντήθηκαν",
|
|
||||||
ru: "Всего отвеченных дискуссий",
|
|
||||||
"uk-ua": "Всього відповідей на дискусії",
|
|
||||||
id: "Total Diskusi Dibalas",
|
|
||||||
my: "Jumlah Perbincangan Dijawab",
|
|
||||||
sk: "Celkový počet zodpovedaných diskusií",
|
|
||||||
tr: "Toplam Cevaplanan Tartışma",
|
|
||||||
pl: "Łącznie odpowiedzianych dyskusji",
|
|
||||||
uz: "Javob berilgan muzokaralar soni",
|
|
||||||
vi: "Tổng Số Thảo Luận Đã Trả Lời",
|
|
||||||
se: "Totalt antal diskussioner besvarade",
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -449,126 +389,20 @@ const wakatimeCardLocales = {
|
|||||||
se: "Wakatime statistik",
|
se: "Wakatime statistik",
|
||||||
},
|
},
|
||||||
"wakatimecard.lastyear": {
|
"wakatimecard.lastyear": {
|
||||||
ar: "العام الماضي",
|
|
||||||
cn: "去年",
|
|
||||||
"zh-tw": "去年",
|
|
||||||
cs: "Minulý rok",
|
|
||||||
de: "Letztes Jahr",
|
|
||||||
en: "last year",
|
en: "last year",
|
||||||
bn: "গত বছর",
|
cn: "去年",
|
||||||
es: "El año pasado",
|
|
||||||
fr: "L'année dernière",
|
|
||||||
hu: "Tavaly",
|
|
||||||
it: "L'anno scorso",
|
|
||||||
ja: "昨年",
|
|
||||||
kr: "작년",
|
|
||||||
nl: "Vorig jaar",
|
|
||||||
"pt-pt": "Ano passado",
|
|
||||||
"pt-br": "Ano passado",
|
|
||||||
np: "गत वर्ष",
|
|
||||||
el: "Πέρυσι",
|
|
||||||
ru: "За прошлый год",
|
|
||||||
"uk-ua": "За минулий рік",
|
|
||||||
id: "Tahun lalu",
|
|
||||||
ml: "കഴിഞ്ഞ വർഷം",
|
|
||||||
my: "Tahun lepas",
|
|
||||||
sk: "Minulý rok",
|
|
||||||
tr: "Geçen yıl",
|
|
||||||
pl: "W zeszłym roku",
|
|
||||||
vi: "Năm ngoái",
|
|
||||||
se: "Förra året",
|
|
||||||
},
|
},
|
||||||
"wakatimecard.last7days": {
|
"wakatimecard.last7days": {
|
||||||
ar: "آخر 7 أيام",
|
|
||||||
cn: "最近 7 天",
|
|
||||||
"zh-tw": "最近 7 天",
|
|
||||||
cs: "Posledních 7 dní",
|
|
||||||
de: "Letzte 7 Tage",
|
|
||||||
en: "last 7 days",
|
en: "last 7 days",
|
||||||
bn: "গত ৭ দিন",
|
cn: "最近 7 天",
|
||||||
es: "Últimos 7 días",
|
|
||||||
fr: "7 derniers jours",
|
|
||||||
hu: "Elmúlt 7 nap",
|
|
||||||
it: "Ultimi 7 giorni",
|
|
||||||
ja: "過去 7 日間",
|
|
||||||
kr: "지난 7 일",
|
|
||||||
nl: "Afgelopen 7 dagen",
|
|
||||||
"pt-pt": "Últimos 7 dias",
|
|
||||||
"pt-br": "Últimos 7 dias",
|
|
||||||
np: "गत ७ दिन",
|
|
||||||
el: "Τελευταίες 7 ημέρες",
|
|
||||||
ru: "Последние 7 дней",
|
|
||||||
"uk-ua": "Останні 7 днів",
|
|
||||||
id: "7 hari terakhir",
|
|
||||||
ml: "കഴിഞ്ഞ 7 ദിവസം",
|
|
||||||
my: "7 hari lepas",
|
|
||||||
sk: "Posledných 7 dní",
|
|
||||||
tr: "Son 7 gün",
|
|
||||||
pl: "Ostatnie 7 dni",
|
|
||||||
vi: "7 ngày qua",
|
|
||||||
se: "Senaste 7 dagarna",
|
|
||||||
},
|
},
|
||||||
"wakatimecard.notpublic": {
|
"wakatimecard.notpublic": {
|
||||||
ar: "ملف المستخدم غير عام",
|
|
||||||
cn: "Wakatime 用户个人资料未公开",
|
|
||||||
"zh-tw": "Wakatime 使用者個人資料未公開",
|
|
||||||
cs: "Profil uživatele Wakatime není veřejný",
|
|
||||||
de: "Wakatime-Benutzerprofil nicht öffentlich",
|
|
||||||
en: "Wakatime user profile not public",
|
en: "Wakatime user profile not public",
|
||||||
bn: "Wakatime ব্যবহারকারীর প্রোফাইল প্রকাশ্য নয়",
|
cn: "Wakatime 用户个人资料未公开",
|
||||||
es: "Perfil de usuario de Wakatime no público",
|
|
||||||
fr: "Profil utilisateur Wakatime non public",
|
|
||||||
hu: "A Wakatime felhasználói profilja nem nyilvános",
|
|
||||||
it: "Profilo utente Wakatime non pubblico",
|
|
||||||
ja: "Wakatime ユーザープロファイルは公開されていません",
|
|
||||||
kr: "Wakatime 사용자 프로필이 공개되지 않았습니다",
|
|
||||||
nl: "Wakatime gebruikersprofiel niet openbaar",
|
|
||||||
"pt-pt": "Perfil de usuário Wakatime não público",
|
|
||||||
"pt-br": "Perfil de usuário Wakatime não público",
|
|
||||||
np: "Wakatime प्रयोगकर्ता प्रोफाइल सार्वजनिक छैन",
|
|
||||||
el: "Το προφίλ χρήστη Wakatime δεν είναι δημόσιο",
|
|
||||||
ru: "Профиль пользователя Wakatime не является общедоступным",
|
|
||||||
"uk-ua": "Профіль користувача Wakatime не є публічним",
|
|
||||||
id: "Profil pengguna Wakatime tidak publik",
|
|
||||||
ml: "Wakatime ഉപയോക്തൃ പ്രൊഫൈൽ പൊതുവായി പ്രസിദ്ധീകരിക്കപ്പെടാത്തതാണ്",
|
|
||||||
my: "Profil pengguna Wakatime tidak awam",
|
|
||||||
sk: "Profil používateľa Wakatime nie je verejný",
|
|
||||||
tr: "Wakatime kullanıcı profili herkese açık değil",
|
|
||||||
pl: "Profil użytkownika Wakatime nie jest publiczny",
|
|
||||||
vi: "Hồ sơ người dùng Wakatime không công khai",
|
|
||||||
se: "Wakatime användarprofil inte offentlig",
|
|
||||||
},
|
},
|
||||||
"wakatimecard.nocodedetails": {
|
"wakatimecard.nocodedetails": {
|
||||||
ar: "المستخدم لا يشارك معلومات تفصيلية عن البرمجة",
|
|
||||||
cn: "用户不公开分享详细的代码统计信息",
|
|
||||||
"zh-tw": "使用者不公開分享詳細的程式碼統計資訊",
|
|
||||||
cs: "Uživatel nesdílí podrobné statistiky kódu",
|
|
||||||
de: "Benutzer teilt keine detaillierten Code-Statistiken",
|
|
||||||
en: "User doesn't publicly share detailed code statistics",
|
en: "User doesn't publicly share detailed code statistics",
|
||||||
bn: "ব্যবহারকারী বিস্তারিত কোড পরিসংখ্যান প্রকাশ করেন না",
|
cn: "用户不公开分享详细的代码统计信息",
|
||||||
es: "El usuario no comparte públicamente estadísticas detalladas de código",
|
|
||||||
fr: "L'utilisateur ne partage pas publiquement de statistiques de code détaillées",
|
|
||||||
hu: "A felhasználó nem osztja meg nyilvánosan a részletes kódstatisztikákat",
|
|
||||||
it: "L'utente non condivide pubblicamente statistiche dettagliate sul codice",
|
|
||||||
ja: "ユーザーは詳細なコード統計を公開しません",
|
|
||||||
kr: "사용자는 자세한 코드 통계를 공개하지 않습니다",
|
|
||||||
nl: "Gebruiker deelt geen gedetailleerde code-statistieken",
|
|
||||||
"pt-pt":
|
|
||||||
"O utilizador não partilha publicamente estatísticas detalhadas de código",
|
|
||||||
"pt-br":
|
|
||||||
"O usuário não compartilha publicamente estatísticas detalhadas de código",
|
|
||||||
np: "प्रयोगकर्ता सार्वजनिक रूपमा विस्तृत कोड तथ्याङ्क साझा गर्दैन",
|
|
||||||
el: "Ο χρήστης δεν δημοσιεύει δημόσια λεπτομερείς στατιστικές κώδικα",
|
|
||||||
ru: "Пользователь не делится подробной статистикой кода",
|
|
||||||
"uk-ua": "Користувач не публікує детальну статистику коду",
|
|
||||||
id: "Pengguna tidak membagikan statistik kode terperinci secara publik",
|
|
||||||
ml: "ഉപയോക്താവ് പൊതുവെ വിശദീകരിച്ച കോഡ് സ്റ്റാറ്റിസ്റ്റിക്സ് പങ്കിടുന്നില്ല",
|
|
||||||
my: "Pengguna tidak berkongsi statistik kod terperinci secara awam",
|
|
||||||
sk: "Používateľ neposkytuje verejne podrobné štatistiky kódu",
|
|
||||||
tr: "Kullanıcı ayrıntılı kod istatistiklerini herkese açık olarak paylaşmıyor",
|
|
||||||
pl: "Użytkownik nie udostępnia publicznie szczegółowych statystyk kodu",
|
|
||||||
vi: "Người dùng không chia sẻ thống kê mã chi tiết công khai",
|
|
||||||
se: "Användaren delar inte offentligt detaljerad kodstatistik",
|
|
||||||
},
|
},
|
||||||
"wakatimecard.nocodingactivity": {
|
"wakatimecard.nocodingactivity": {
|
||||||
ar: "لا يوجد نشاط برمجي لهذا الأسبوع",
|
ar: "لا يوجد نشاط برمجي لهذا الأسبوع",
|
||||||
|
|||||||
@@ -42,12 +42,6 @@ exports[`Test Render Wakatime Card should render correctly with compact layout 1
|
|||||||
font: 800 24px 'Segoe UI', Ubuntu, Sans-Serif; fill: #434d58;
|
font: 800 24px 'Segoe UI', Ubuntu, Sans-Serif; fill: #434d58;
|
||||||
animation: scaleInAnimation 0.3s ease-in-out forwards;
|
animation: scaleInAnimation 0.3s ease-in-out forwards;
|
||||||
}
|
}
|
||||||
.rank-percentile-header {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.rank-percentile-text {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.not_bold { font-weight: 400 }
|
.not_bold { font-weight: 400 }
|
||||||
.bold { font-weight: 700 }
|
.bold { font-weight: 700 }
|
||||||
@@ -228,12 +222,6 @@ exports[`Test Render Wakatime Card should render correctly with compact layout w
|
|||||||
font: 800 24px 'Segoe UI', Ubuntu, Sans-Serif; fill: #434d58;
|
font: 800 24px 'Segoe UI', Ubuntu, Sans-Serif; fill: #434d58;
|
||||||
animation: scaleInAnimation 0.3s ease-in-out forwards;
|
animation: scaleInAnimation 0.3s ease-in-out forwards;
|
||||||
}
|
}
|
||||||
.rank-percentile-header {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.rank-percentile-text {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.not_bold { font-weight: 400 }
|
.not_bold { font-weight: 400 }
|
||||||
.bold { font-weight: 700 }
|
.bold { font-weight: 700 }
|
||||||
|
|||||||
@@ -12,9 +12,6 @@ const stats = {
|
|||||||
totalCommits: 200,
|
totalCommits: 200,
|
||||||
totalIssues: 300,
|
totalIssues: 300,
|
||||||
totalPRs: 400,
|
totalPRs: 400,
|
||||||
totalReviews: 50,
|
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 40,
|
|
||||||
contributedTo: 50,
|
contributedTo: 50,
|
||||||
rank: null,
|
rank: null,
|
||||||
};
|
};
|
||||||
@@ -36,16 +33,11 @@ const data_stats = {
|
|||||||
repositoriesContributedTo: { totalCount: stats.contributedTo },
|
repositoriesContributedTo: { totalCount: stats.contributedTo },
|
||||||
contributionsCollection: {
|
contributionsCollection: {
|
||||||
totalCommitContributions: stats.totalCommits,
|
totalCommitContributions: stats.totalCommits,
|
||||||
totalPullRequestReviewContributions: stats.totalReviews,
|
|
||||||
},
|
},
|
||||||
pullRequests: { totalCount: stats.totalPRs },
|
pullRequests: { totalCount: stats.totalPRs },
|
||||||
openIssues: { totalCount: stats.totalIssues },
|
openIssues: { totalCount: stats.totalIssues },
|
||||||
closedIssues: { totalCount: 0 },
|
closedIssues: { totalCount: 0 },
|
||||||
followers: { totalCount: 0 },
|
followers: { totalCount: 0 },
|
||||||
repositoryDiscussions: { totalCount: stats.totalDiscussionsStarted },
|
|
||||||
repositoryDiscussionComments: {
|
|
||||||
totalCount: stats.totalDiscussionsAnswered,
|
|
||||||
},
|
|
||||||
repositories: {
|
repositories: {
|
||||||
totalCount: 1,
|
totalCount: 1,
|
||||||
nodes: [{ stargazers: { totalCount: 100 } }],
|
nodes: [{ stargazers: { totalCount: 100 } }],
|
||||||
|
|||||||
@@ -18,8 +18,6 @@ const data_stats = {
|
|||||||
openIssues: { totalCount: 100 },
|
openIssues: { totalCount: 100 },
|
||||||
closedIssues: { totalCount: 100 },
|
closedIssues: { totalCount: 100 },
|
||||||
followers: { totalCount: 100 },
|
followers: { totalCount: 100 },
|
||||||
repositoryDiscussions: { totalCount: 10 },
|
|
||||||
repositoryDiscussionComments: { totalCount: 40 },
|
|
||||||
repositories: {
|
repositories: {
|
||||||
totalCount: 5,
|
totalCount: 5,
|
||||||
nodes: [
|
nodes: [
|
||||||
@@ -121,8 +119,6 @@ describe("Test fetchStats", () => {
|
|||||||
totalPRs: 300,
|
totalPRs: 300,
|
||||||
totalReviews: 50,
|
totalReviews: 50,
|
||||||
totalStars: 300,
|
totalStars: 300,
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 40,
|
|
||||||
rank,
|
rank,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -154,8 +150,6 @@ describe("Test fetchStats", () => {
|
|||||||
totalPRs: 300,
|
totalPRs: 300,
|
||||||
totalReviews: 50,
|
totalReviews: 50,
|
||||||
totalStars: 300,
|
totalStars: 300,
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 40,
|
|
||||||
rank,
|
rank,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -193,8 +187,6 @@ describe("Test fetchStats", () => {
|
|||||||
totalPRs: 300,
|
totalPRs: 300,
|
||||||
totalReviews: 50,
|
totalReviews: 50,
|
||||||
totalStars: 300,
|
totalStars: 300,
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 40,
|
|
||||||
rank,
|
rank,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -223,8 +215,6 @@ describe("Test fetchStats", () => {
|
|||||||
totalPRs: 300,
|
totalPRs: 300,
|
||||||
totalReviews: 50,
|
totalReviews: 50,
|
||||||
totalStars: 200,
|
totalStars: 200,
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 40,
|
|
||||||
rank,
|
rank,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -251,8 +241,6 @@ describe("Test fetchStats", () => {
|
|||||||
totalPRs: 300,
|
totalPRs: 300,
|
||||||
totalReviews: 50,
|
totalReviews: 50,
|
||||||
totalStars: 400,
|
totalStars: 400,
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 40,
|
|
||||||
rank,
|
rank,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -279,8 +267,6 @@ describe("Test fetchStats", () => {
|
|||||||
totalPRs: 300,
|
totalPRs: 300,
|
||||||
totalReviews: 50,
|
totalReviews: 50,
|
||||||
totalStars: 300,
|
totalStars: 300,
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 40,
|
|
||||||
rank,
|
rank,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -307,8 +293,6 @@ describe("Test fetchStats", () => {
|
|||||||
totalPRs: 300,
|
totalPRs: 300,
|
||||||
totalReviews: 50,
|
totalReviews: 50,
|
||||||
totalStars: 300,
|
totalStars: 300,
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 40,
|
|
||||||
rank,
|
rank,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -17,10 +17,8 @@ const stats = {
|
|||||||
totalIssues: 300,
|
totalIssues: 300,
|
||||||
totalPRs: 400,
|
totalPRs: 400,
|
||||||
totalReviews: 50,
|
totalReviews: 50,
|
||||||
totalDiscussionsStarted: 10,
|
|
||||||
totalDiscussionsAnswered: 50,
|
|
||||||
contributedTo: 500,
|
contributedTo: 500,
|
||||||
rank: { level: "A+", percentile: 40 },
|
rank: { level: "A+", score: 40 },
|
||||||
};
|
};
|
||||||
|
|
||||||
describe("Test renderStatsCard", () => {
|
describe("Test renderStatsCard", () => {
|
||||||
@@ -44,12 +42,6 @@ describe("Test renderStatsCard", () => {
|
|||||||
|
|
||||||
// Default hidden stats
|
// Default hidden stats
|
||||||
expect(queryByTestId(document.body, "reviews")).not.toBeInTheDocument();
|
expect(queryByTestId(document.body, "reviews")).not.toBeInTheDocument();
|
||||||
expect(
|
|
||||||
queryByTestId(document.body, "discussions_started"),
|
|
||||||
).not.toBeInTheDocument();
|
|
||||||
expect(
|
|
||||||
queryByTestId(document.body, "discussions_answered"),
|
|
||||||
).not.toBeInTheDocument();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should have proper name apostrophe", () => {
|
it("should have proper name apostrophe", () => {
|
||||||
@@ -81,18 +73,16 @@ describe("Test renderStatsCard", () => {
|
|||||||
expect(queryByTestId(document.body, "prs")).toBeNull();
|
expect(queryByTestId(document.body, "prs")).toBeNull();
|
||||||
expect(queryByTestId(document.body, "contribs")).toBeNull();
|
expect(queryByTestId(document.body, "contribs")).toBeNull();
|
||||||
expect(queryByTestId(document.body, "reviews")).toBeNull();
|
expect(queryByTestId(document.body, "reviews")).toBeNull();
|
||||||
expect(queryByTestId(document.body, "discussions_started")).toBeNull();
|
|
||||||
expect(queryByTestId(document.body, "discussions_answered")).toBeNull();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should show additional stats", () => {
|
it("should show total reviews", () => {
|
||||||
document.body.innerHTML = renderStatsCard(stats, {
|
document.body.innerHTML = renderStatsCard(stats, {
|
||||||
show: ["reviews", "discussions_started", "discussions_answered"],
|
show: ["reviews"],
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
document.body.getElementsByTagName("svg")[0].getAttribute("height"),
|
document.body.getElementsByTagName("svg")[0].getAttribute("height"),
|
||||||
).toBe("270");
|
).toBe("220");
|
||||||
|
|
||||||
expect(queryByTestId(document.body, "stars")).toBeDefined();
|
expect(queryByTestId(document.body, "stars")).toBeDefined();
|
||||||
expect(queryByTestId(document.body, "commits")).toBeDefined();
|
expect(queryByTestId(document.body, "commits")).toBeDefined();
|
||||||
@@ -100,8 +90,6 @@ describe("Test renderStatsCard", () => {
|
|||||||
expect(queryByTestId(document.body, "prs")).toBeDefined();
|
expect(queryByTestId(document.body, "prs")).toBeDefined();
|
||||||
expect(queryByTestId(document.body, "contribs")).toBeDefined();
|
expect(queryByTestId(document.body, "contribs")).toBeDefined();
|
||||||
expect(queryByTestId(document.body, "reviews")).toBeDefined();
|
expect(queryByTestId(document.body, "reviews")).toBeDefined();
|
||||||
expect(queryByTestId(document.body, "discussions_started")).toBeDefined();
|
|
||||||
expect(queryByTestId(document.body, "discussions_answered")).toBeDefined();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should hide_rank", () => {
|
it("should hide_rank", () => {
|
||||||
@@ -417,28 +405,4 @@ describe("Test renderStatsCard", () => {
|
|||||||
});
|
});
|
||||||
expect(queryByTestId(document.body, "github-rank-icon")).toBeDefined();
|
expect(queryByTestId(document.body, "github-rank-icon")).toBeDefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should show the rank percentile", () => {
|
|
||||||
document.body.innerHTML = renderStatsCard(stats, {
|
|
||||||
rank_icon: "percentile",
|
|
||||||
});
|
|
||||||
expect(queryByTestId(document.body, "percentile-top-header")).toBeDefined();
|
|
||||||
expect(
|
|
||||||
queryByTestId(document.body, "percentile-top-header").textContent.trim(),
|
|
||||||
).toBe("Top");
|
|
||||||
expect(queryByTestId(document.body, "rank-percentile-text")).toBeDefined();
|
|
||||||
expect(
|
|
||||||
queryByTestId(document.body, "percentile-rank-value").textContent.trim(),
|
|
||||||
).toBe(stats.rank.percentile.toFixed(1) + "%");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should show the progress", () => {
|
|
||||||
document.body.innerHTML = renderStatsCard(stats, {
|
|
||||||
rank_icon: "progress",
|
|
||||||
});
|
|
||||||
expect(queryByTestId(document.body, "rank-progress-text")).toBeDefined();
|
|
||||||
expect(
|
|
||||||
queryByTestId(document.body, "progress-rank-icon").textContent.trim(),
|
|
||||||
).toBe((100 - stats.rank.percentile).toFixed(1) + "%");
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user