/decarepo

Unlock a Multiple Language User trophy on your readme

Primary LanguagePythonMIT LicenseMIT

The 10-Language Repo, the decarepo

On a quest to unlock a super trophy badge, Rainbow Lang User, as designed by Ryota and detailed here.

quest to unlock a super trophy

According to this code you need github to recognize 10 languages in your profile:

export class MultipleLangTrophy extends Trophy{
  constructor(score: number){
    const rankConditions = [
      new RankCondition(
        RANK.SECRET,
        "Rainbow Lang User",
        10,
      ),
    ];
    super(score, rankConditions);
    this.title = "MultiLanguage";
    this.filterTitles = ["MultipleLang", "MultiLanguage"];
    this.hidden = true;
  }
}

Some languages

I will update this as I go

  1. Python
  2. Jupyter Notebooks
  3. HTML
  4. SQL - data type and so not counted
  5. $\LaTeX$
  6. TypeScript
  7. Julia
  8. Go
  9. C++
  10. Rust
  11. R
  12. Java
  13. Solidity

HTML and $\LaTeX$ are classified as markup languages; all others are programming

Not Languages

These are recognized by github but not counted towards the language statistics in your repo, as per Linguist.

  1. Markdown; classified as a prose type, recognized with a .md extension
  2. SQL; classified at a data type, recognized with a .sql extension

Linguist

Github uses Linguist to calculate language percentage inside a repo. It is based on file sizes and excludes generated files, binary, and non-program (vendor) files. The list of languages identified is here.

What Languages?

Clicking on a language in the Languages tab will open a search result and detail all the languages that github has indexed in your repo. This is how I found that certain languages (TypeScript and C++) were being excluded.

github languages classification

A maximum of ten will be shown in the languages box (above), but you can verify others by changing the search string: https://github.com/millecodex/decarepo/search?l=typescript

Additionally you can check your top ten languages by including this snippet and replacing the username with your own:

[![Top Langs](https://github-readme-stats.vercel.app/api/top-langs/?username=millecodex&langs_count=10)](https://github.com/anuraghazra/github-readme-stats)

Top Langs

Repo Main Language Override

If your repo is displaying a language that appears incorrect or misrepresentative you can override it using a .gitattributes file. This one changes the largest file (jupyter notebook .ipynb) to Python:

# Example of a `.gitattributes` file 

# this reclassifies `.ipynb` files as Python:
src/*.ipynb linguist-language=Python

# allow lingquist to detect these types
*.md linguist-detectable
src/*.sql linguist-detectable

The change is now visible in your repository overview:

change main github language using gitattributes