Skip to content

Linguist Polyglot

Actions

About

Compile language statistics for a GitHub user
v0.1.2
Latest
Star (1)

Tags

 (1)

github-polyglot

Gem Version CI

Linguist, but for the user instead of the repository.

This scans all of the repositories that the user has and compiles the language stats. The stats can be output as...

  • A human-readable terminal output
  • JSON
  • An SVG file resembling the language bar

Usage

As a GitHub Action

This action runs the github-polyglot gem in a Docker container.

Inputs

token

Optional. GitHub API token to avoid rate limits when scanning repository language details.

user

Optional. The user to collect data for. Defaults to the owner of the repository that is running the action.

format

Optional. The format of the output. Defaults to print (a display format for terminal display).

Outputs

output

The output of the github-polyglot gem.

Example

# ...
steps:
- uses: spenserblack/github-polyglot@main
  id: github-polyglot
  with:
    token: ${{ secrets.PAT }}
    format: svg
- name: Create language stats image
  env:
    SVG: ${{ steps.github-polyglot.outputs.output }}
  run: echo "$SVG" > language-stats.svg
  # Commit the SVG with your favorite commands or actions

As a Ruby Gem

If the GITHUB_TOKEN environment variable is set, it can use that token to get more accurate stats and avoid rate-limiting. You can also avoid needing to pass --username if you have the token set.

Building

Prerequisites

This project depends on Linguist, which has some dependencies that may require extra steps. Read their documentation for more details.

On Ubuntu

sudo apt install build-essential cmake pkg-config libicu-dev zlib1g-dev libcurl4-openssl-dev libssl-dev ruby-dev

Linguist Polyglot is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Compile language statistics for a GitHub user
v0.1.2
Latest

Tags

 (1)

Linguist Polyglot is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.