Badgen Service
 
 
 
Go to file
Amio f309bb35c8 docs: update examples in index 2018-07-23 15:39:44 +08:00
libs docs: update examples in index 2018-07-23 15:39:44 +08:00
.gitignore
.travis.yml
README.md
now.json
package-lock.json docs: update examples in index 2018-07-23 15:39:44 +08:00
package.json docs: update examples in index 2018-07-23 15:39:44 +08:00
service.js

README.md

Badgen Service

StandardJS dependencies uptime past week service status response time

Home of Badgen, fast badge generating service.

The Badgen Story

TLDR: Badgen Service is using badgen to generate svg badges on the fly, running on Zeit's now.sh, serving behind Now CDN.

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

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

And so, Badge Service was born. I had a good time with shields.io(and earlier badge.fury.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 well structured and fun to develop - it is pretty easy to add badge(s) for new service(s).

At the beginning I was considering between now.sh and Google Cloud Functions. Then Zeit released Now CDN on the same day as badgen.now.sh's reveal, what a fate! Base such service on Zeit's Now CDN is the perfect choice, we can stop thinking about caching and scalability issues. Badgen is the fastest possible badge generating service out there. It's fast, it's amazing, it's globally distributed and cached, because of Now.

Thanks to awesome people's help, Badgen are getting better and better. Welcome to join us, let's build the best badge service in the universe 🔥

Developing

We are using StandardJS style, make sure you have ESLint/Standard plugin on your editor and have autofix enabled.

If a service you wish to have is still missing here, we welcome new contirbutions. Check out the PRs that was made and how easy it was:

Basically, you need to add a file in lib/live-fns/[name-of-service].js and that's it.

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

About

Made with ❤️ by Amio, built with from badgen.