Coder Social home page Coder Social logo

dominikpeters / badgen.net Goto Github PK

View Code? Open in Web Editor NEW

This project forked from badgen/badgen.net

0.0 0.0 0.0 4.41 MB

Fast badge service

Home Page: https://badgen.net

License: ISC License

JavaScript 2.19% TypeScript 95.24% CSS 2.48% Dockerfile 0.09%

badgen.net's Introduction

Badgen Service

Home of badgen.net, fast badge generating service.

The Badgen Story

That's a service, that's a library, hooorey! - @tunnckoCore

Finally something to replace http://shields.io - @EGOIST

Epic work on Badgen! Porting the @dependabot badges over to it now. โšก๏ธ - @greybaker

The badgen library was born as an exploration of "is it possible to generate badge SVG markup directly (without using pdfkit/canvas/puppeteer to measure text width)?". The result is better than I expected, Width of Verdana (the de-facto font for badges) text can be calculated precisely with a prebuilt char-width-table, even no need to worry about kerning ๐Ÿคฏ

Then, logically, Badgen Service was born. I had a good time with shields.io, but as time goes by Shields gets slower, leaves more and more broken badges in READMEs. Badgen is trying to be a fast alternative with simplicity and flexibility. Its codebase is simple (2K LoCs vs Shields' 22K LoCs), well structured and fun to develop - it is pretty easy to add badge(s) for new service(s).

In the beginning, I was considering both Vercel and Google Cloud Functions. Then Vercel announced Edge Network on the same day as badgen.now.sh (the PoC of Badgen Service)'s reveal, what a fate! Cloudflare powered Vercel Edge Network is a perfect choice for such service, caching and scalability in simplicity. Badgen is the fastest possible badge generating service out there. It's fast, it's reliable, it's globally distributed and cached, thanks to Vercel.

At the time of badgen.now.sh's reveal, it had only four live badges as demonstrations. Since then, thanks to awesome people's help, Badgen keeps getting better at a fast pace. Welcome to join us, let's build the best badge service in the universe ๐Ÿ”ฅ

Anatomy

  • Written in TypeScript
  • Using badgen library to generate svg on the fly
  • Two visual styles
  • Two badge types
    • static badge - URL defined badge (label, status, color)
    • live badge - Show live status from 3rd party services
  • Builtin Icons & External Icon Support
  • Docker image amio/badgen

Developing

Contributors Maintainability Docker image

start dev server

npm run dev

start prod server

npm run build && npm start

run with docker image

docker run -p 3000:3000 amio/badgen

Add Live Badge

If a service you wish to have is still missing here, we welcome new contributions. Basically, you need to add a file in api/[name-of-service].ts and that's it. Take /crates as an example:

To ensure that your addition is working correctly, start the development server with npm run dev.

NOTES

  • You can create live badge without touching badgen.net's code. Checkout docs for /runkit or /https.

  • The /runkit support would be super handy for prototyping a new live badge.

Add Icon

You can contribute icons to badgen-icons. Please make sure new icon is optimized using svgomg.

Tracking Policy

Badgen use Sentry to collect errors for improving service, use Google Analytics on doc pages (home, /github, /packagephobia, etc.) to understand overall usage.

Badgen do not collect any identifying information.

Environments

Supported environment variables for managing a Badgen instance.

  • GITHUB_TOKENS - Comma delimited list of Github Tokens. Required for Github Badges
  • GITHUB_API - Custom Github API endpoint. e.g., https://github.mycompany.com/api/v3
  • GITHUB_API_GRAPHQL - Custom Github GraphQL API endpoint. e.g., https://github.mycompany.com/api/graphql
  • NPM_REGISTRY - Custom NPM registry endpoint
  • SENTRY_DSN - Sentry Error Monitoring Data Source Name
  • GA_MEASUREMENT_ID - Google Analytics Measurement ID

Contributors

Thanks to our contributors ๐ŸŽ‰๐Ÿ‘

Support Badgen

We are on OpenCollective https://opencollective.com/badgen

Support this project by donation, help Badgen continue and evolving!

[Become a backer]

Sponsors

badgen.net's People

Contributors

amio avatar andrewleedham avatar bokub avatar clarkdo avatar deepak-bhardwaj-ps avatar dependabot[bot] avatar faustbrian avatar g-plane avatar idleberg avatar jacobmllr95 avatar krohrsb avatar kytta avatar lens0021 avatar libinvarghese avatar lucashalbert avatar lukechilds avatar neighborhood999 avatar pd4d10 avatar s0 avatar shaqonline avatar sim642 avatar simov avatar styfle avatar supersandro2000 avatar tunnckocore avatar tusbar avatar viceice avatar vladimyr avatar wopian avatar xobotyi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.