github-readme-stats icon indicating copy to clipboard operation
github-readme-stats copied to clipboard

Add option to combine languages

Open zbyju opened this issue 1 year ago • 6 comments

Is your feature request related to a problem? Please describe.

I think it would be nice if there was a way to combine languages into one (not always but and option to do so). Example: Typescript + Javascript, Python + Jupyter Notebook, or combining the usage of javascript frameworks

Describe the solution you'd like

I would like to have an option to specify what languages I want to combine into one and possibly even specify the name through the parameters.

Describe alternatives you've considered

I've considered just hiding one of them, but then it isn't really representative, on the other hand I don't really want to have 5 different frontend frameworks on my profile or similar languages taking several spots.

Additional context

No response

zbyju avatar Dec 05 '23 19:12 zbyju

yep I was just about to come here to suggest this, a lot of languages like Javascript/Typescript or SCSS/CSS could be cool to combine

MAiKo26 avatar Dec 13 '23 16:12 MAiKo26

I see a couple of problems with implementation of this feature:

  • Languages card currently supports five different layouts, three of them (compact, pie and donut-vertical) are not intended for long names of languages groups. This will break card alignment.
  • How you are going to choose colors for languages groups?

I would also like to say that I don’t see much point in this feature since you are able show more languages (using langs_count query parameter) or hide redundant languages (using hide query paramter).

Let's also wait for other maintainers input about this.

qwerty541 avatar Dec 16 '23 18:12 qwerty541

I'm just going to add in here and say that this would be a nice feature to have as well. Especially for things like Jupyter Notebooks and Python for instance.

victormurcia avatar Dec 26 '23 22:12 victormurcia

@zbyju, thanks for your feature request. However, I agree with @qwerty541 that this would be tough to implement without adding significant code changes. I, however, will leave your feature request open to check interest from the community 👍🏻.

rickstaa avatar Jan 02 '24 10:01 rickstaa

Just to react to a possible implementation to deal with the issues suggested by @qwerty541:

Let's say we want to combine TypeScript+JavaScript - I came up with 2 options of implementing this:

  1. The user specifies a group of combined languages [typescript, javascript]. In this implementation the 1st element would be treated as the "leader" and everything else would get combined into it. Meaning we would end up with only TypeScript and JavaScript would be added to the percentage of TypeScript.
  2. The user specifies a group [TS/JS, typescript, javascript]. In this implementation again the group would be named after the first element (in this case TS/JS) and then all the languages following it would get aggregated into that group. The group could get ignored if the name of the group is too long. The color of the group could be determined either by the first language element (in this case it would be typescript's color) or it could combine all the colors together (using average mixing, for example).

I understand the concerns and limited interest for this feature, just wanted to add to the discussion if it ever came to it being implemented ❤️

zbyju avatar Jan 05 '24 18:01 zbyju

Hey @rickstaa @qwerty541, if this feature is required, then may I work on it? It's a great feature request by @zbyju. I've also previously contributed to GRS and I'm familiar with the codebase, so if this issue is required, then I would definitely like to work on this👍(if it's required for the community ofc) My previous contributions: https://github.com/anuraghazra/github-readme-stats/pull/3467 https://github.com/anuraghazra/github-readme-stats/pull/3338

yaten2302 avatar May 04 '24 05:05 yaten2302