diff --git a/README.md b/README.md
index a2136ba2..c1a67999 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ Generate metrics that can be embedded everywhere, including your GitHub profile
|
-
+
|
diff --git a/action.yml b/action.yml
index 54265f21..e1d6da1e 100644
--- a/action.yml
+++ b/action.yml
@@ -710,6 +710,14 @@ inputs:
description: Display limit (languages per star list)
default:
+ plugin_starlists_languages_ignored:
+ description: Ignored languages in star lists
+ default:
+
+ plugin_starlists_languages_aliases:
+ description: Custom languages names in star lists
+ default:
+
plugin_starlists_shuffle_repositories:
description: Shuffle data
default:
diff --git a/source/plugins/base/README.md b/source/plugins/base/README.md
index 2151e439..7ffed649 100644
--- a/source/plugins/base/README.md
+++ b/source/plugins/base/README.md
@@ -97,8 +97,7 @@ Only use this option when using a plugin that can be configured with token
- ⨠On master/main
-type: boolean
+ | type: boolean
default: no
|
diff --git a/source/plugins/community/chess/README.md b/source/plugins/community/chess/README.md
index 0bbdf2eb..c9a7ef97 100644
--- a/source/plugins/community/chess/README.md
+++ b/source/plugins/community/chess/README.md
@@ -40,8 +40,7 @@ All product and company names are trademarks⢠or registered® trademarks of th
- ⨠On master/main
-type: boolean
+ | type: boolean
default: no
|
@@ -52,7 +51,6 @@ All product and company names are trademarks⢠or registered® trademarks of th
š Token
-⨠On master/main
š Web instances must configure settings.json:
- metrics.api.chess.any
@@ -67,7 +65,6 @@ All product and company names are trademarks⢠or registered® trademarks of th
|
āÆļø Cannot be preset
-⨠On master/main
type: string
default: ā User login
|
@@ -78,8 +75,7 @@ All product and company names are trademarks⢠or registered® trademarks of th
- ⨠On master/main
-type: string
+ | type: string
allowed values: |
@@ -94,8 +90,7 @@ All product and company names are trademarks⢠or registered® trademarks of th
- ⨠On master/main
-type: json
+ | type: json
default: ā Click to expand{
"size": 40,
diff --git a/source/plugins/habits/README.md b/source/plugins/habits/README.md
index bdad4cf8..d77c0b76 100644
--- a/source/plugins/habits/README.md
+++ b/source/plugins/habits/README.md
@@ -65,7 +65,6 @@ All product and company names are trademarks⢠or registered® trademarks of th
|
ā© Inherits repositories_skipped
-⨠On master/main
type: array
(comma-separated)
|
diff --git a/source/plugins/languages/metadata.yml b/source/plugins/languages/metadata.yml
index f730f873..4c09f1bd 100644
--- a/source/plugins/languages/metadata.yml
+++ b/source/plugins/languages/metadata.yml
@@ -76,7 +76,7 @@ inputs:
Custom languages names
type: string
default: ""
- example: javascript:JS typescript:TS
+ example: javascript:JS, typescript:TS
plugin_languages_sections:
description: |
diff --git a/source/plugins/leetcode/README.md b/source/plugins/leetcode/README.md
index d0b04870..9f235697 100644
--- a/source/plugins/leetcode/README.md
+++ b/source/plugins/leetcode/README.md
@@ -39,8 +39,7 @@ All product and company names are trademarks⢠or registered® trademarks of th
- ⨠On master/main
-type: boolean
+ | type: boolean
default: no
|
@@ -51,7 +50,6 @@ All product and company names are trademarks⢠or registered® trademarks of th
āÆļø Cannot be preset
-⨠On master/main
type: string
default: ā User login
|
@@ -67,8 +65,7 @@ All product and company names are trademarks⢠or registered® trademarks of th
- ⨠On master/main
-type: array
+ | type: array
(comma-separated)
default: solved
@@ -80,8 +77,7 @@ All product and company names are trademarks⢠or registered® trademarks of th
![]() |
- ⨠On master/main
-type: number
+ | type: number
(0 ā¤
š„)
@@ -94,8 +90,7 @@ All product and company names are trademarks⢠or registered® trademarks of th
![]() |
- ⨠On master/main
-type: number
+ | type: number
(1 ā¤
š„
⤠15)
diff --git a/source/plugins/notable/README.md b/source/plugins/notable/README.md
index ae53ed8e..4dd462ab 100644
--- a/source/plugins/notable/README.md
+++ b/source/plugins/notable/README.md
@@ -133,8 +133,7 @@ Some repositories may not be able to reported advanced stats and in the case the
![]() |
- ⨠On master/main
-type: boolean
+ | type: boolean
default: no
|
diff --git a/source/plugins/repositories/README.md b/source/plugins/repositories/README.md
index c1da0f6d..935dd7c0 100644
--- a/source/plugins/repositories/README.md
+++ b/source/plugins/repositories/README.md
@@ -117,8 +117,7 @@ All product and company names are trademarks⢠or registered® trademarks of th
- ⨠On master/main
-type: boolean
+ | type: boolean
default: no
|
diff --git a/source/plugins/starlists/README.md b/source/plugins/starlists/README.md
index a96f05ec..e90dfed8 100644
--- a/source/plugins/starlists/README.md
+++ b/source/plugins/starlists/README.md
@@ -96,6 +96,27 @@ All product and company names are trademarks⢠or registered® trademarks of th
zero behaviour: disable
default: 8
+
+
+ plugin_starlists_languages_ignored
|
+ Ignored languages in star lists
+![]() |
+
+
+ ⨠On master/main
+type: array
+(comma-separated)
+
|
+
+
+ plugin_starlists_languages_aliases
|
+ Custom languages names in star lists
+![]() |
+
+
+ ⨠On master/main
+type: string
+
|
plugin_starlists_shuffle_repositories
|
diff --git a/source/plugins/starlists/index.mjs b/source/plugins/starlists/index.mjs
index 6ba8a518..e1384135 100644
--- a/source/plugins/starlists/index.mjs
+++ b/source/plugins/starlists/index.mjs
@@ -7,9 +7,10 @@ export default async function({login, q, imports, data, account}, {enabled = fal
return null
//Load inputs
- let {limit, ignored, only, "limit.repositories": _limit, languages, "limit.languages": _limit_languages, "shuffle.repositories": _shuffle} = imports.metadata.plugins.starlists.inputs({data, account, q})
+ let {limit, ignored, only, "limit.repositories": _limit, languages, "limit.languages": _limit_languages, "languages.ignored": _languages_ignored, "languages.aliases": _languages_aliases, "shuffle.repositories": _shuffle} = imports.metadata.plugins.starlists.inputs({data, account, q})
ignored = ignored.map(imports.stripemojis)
only = only.map(imports.stripemojis)
+ _languages_aliases = Object.fromEntries(_languages_aliases.split(",").filter(alias => /^[\s\S]+:[\s\S]+$/.test(alias)).map(alias => alias.trim().split(":")).map(([key, value]) => [key.toLocaleLowerCase(), value]))
//Start puppeteer and navigate to star lists
console.debug(`metrics/compute/${login}/plugins > starlists > starting browser`)
@@ -63,7 +64,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
}))
),
)
- if (await page.evaluate(() => document.querySelector(".next_page.disabled"))) {
+ if (!(await page.evaluate(() => document.querySelector(".next_page"))) || await page.evaluate(() => document.querySelector(".next_page.disabled"))) {
console.debug(`metrics/compute/${login}/plugins > starlists > reached last page`)
break
}
@@ -76,12 +77,16 @@ export default async function({login, q, imports, data, account}, {enabled = fal
if (languages) {
list.languages = {}
for (const {language: {name, color}} of repositories) {
- if (name)
- list.languages[name] = (list.languages[name] ?? 0) + 1
+ let lang = name
+ if (lang && lang.toLocaleLowerCase() in _languages_aliases) {
+ lang = _languages_aliases[name.toLocaleLowerCase()]
+ }
+ if (lang)
+ list.languages[lang] = (list.languages[lang] ?? 0) + 1
if (color)
- colors[name] = color
+ colors[lang] = color
}
- list.languages = Object.entries(list.languages).sort((a, b) => b[1] - a[1]).slice(0, _limit_languages || Infinity)
+ list.languages = Object.entries(list.languages).filter(([name]) => !_languages_ignored.includes(name.toLocaleLowerCase())).sort((a, b) => b[1] - a[1]).slice(0, _limit_languages || Infinity)
const visible = list.languages.map(([_, value]) => value).reduce((a, b) => a + b, 0)
list.languages = list.languages.map(([name, value]) => ({name, value, color: name in colors ? `#${colors[name]}` : null, x: 0, p: value / visible}))
for (let i = 1; i < list.languages.length; i++)
diff --git a/source/plugins/starlists/metadata.yml b/source/plugins/starlists/metadata.yml
index 87267654..6be701a2 100644
--- a/source/plugins/starlists/metadata.yml
+++ b/source/plugins/starlists/metadata.yml
@@ -48,6 +48,21 @@ inputs:
default: 8
min: 0
zero: disable
+
+ plugin_starlists_languages_ignored:
+ description: |
+ Ignored languages in star lists
+ type: array
+ format: comma-separated
+ default: ""
+ example: html, css, ...
+
+ plugin_starlists_languages_aliases:
+ description: |
+ Custom languages names in star lists
+ type: string
+ default: ""
+ example: javascript:JS, typescript:TS
plugin_starlists_shuffle_repositories:
description: |