shields

Concise, consistent, and legible badges in SVG and raster format

Github stars Tracking Chart

This is home to Shields.io, a service for concise, consistent,
and legible badges in SVG and raster format, which can easily be included in
GitHub readmes or any other web page. The service supports dozens of
continuous integration services, package registries, distributions, app
stores, social networks, code coverage services, and code analysis services.
Every month it serves over 470 million images.

This repo hosts:

Examples

  • code coverage percentage: coverage
  • stable release version: version
  • package manager release: gem
  • status of third-party dependencies: dependencies
  • static code analysis grade: codacy
  • SemVer version observance: semver
  • amount of Liberapay donations per week: receives
  • Python package downloads: downloads
  • Chrome Web Store extension rating: rating
  • Uptime Robot percentage: uptime

Make your own badges!
(Quick example: https://img.shields.io/badge/left-right-f39f37)

Browse a complete list of badges.

Contributing

Shields is a community project. We invite your participation through issues
and pull requests! You can peruse the contributing guidelines.

When adding or changing a service please add tests.

This project has quite a backlog of suggestions! If you're new to the project,
maybe you'd like to open a pull request to address one of them:

GitHub issues by-label

You can read a tutorial on how to add a badge.

Development

  1. Install Node 8 or later. You can use the package manager of your choice.
    Tests need to pass in Node 8 and 10.
  2. Clone this repository.
  3. Run npm ci to install the dependencies.
  4. Run npm start to start the badge server and the frontend dev server.
  5. Open http://localhost:3000/ to view the frontend.

When server source files change, the badge server should automatically restart
itself (using nodemon). When the frontend files change, the frontend dev
server (gatsby dev) should also automatically reload. However the badge
definitions are built only before the server first starts. To regenerate those,
either run npm run defs or manually restart the server.

To debug a badge from the command line, run npm run badge -- /npm/v/nock.
It also works with full URLs like
npm run badge -- https://img.shields.io/npm/v/nock.

Use npm run debug:server to start server in debug mode.
This recipe shows how to debug Node.js application in VS Code.

Shields has experimental support for Gitpod, a pre-configured development
environment that runs in your browser. To use Gitpod, click the button below and
sign in with GitHub. Gitpod also offers a browser add-on, though it is not required.
Please report any Gitpod bugs, questions, or suggestions in issue
#2772.

Edit with Gitpod

Snapshot tests ensure we don't inadvertently make changes that affect the
SVG or JSON output. When deliberately changing the output, run
SNAPSHOT_DRY=1 npm run test:js:server to preview changes to the saved
snapshots, and SNAPSHOT_UPDATE=1 npm run test:js:server to update them.

The server can be configured to use Sentry (configuration) and Prometheus (configuration).

Daily tests, including a full run of the service tests and overall code coverage, are run via badges/daily-tests.

Hosting your own server

There is documentation about hosting your own server.

History

b.adge.me was the original website for this service. Heroku back then had a
thing which made it hard to use a toplevel domain with it, hence the odd
domain. It used code developed in 2013 from a library called
gh-badges, both developed by Thaddée Tyl.
The project merged with shields.io by making it use the b.adge.me code
and closed b.adge.me.

The original badge specification was developed in 2013 by
Olivier Lacan. It was inspired by the Travis CI and similar
badges (there were a lot fewer, back then). In 2014 Thaddée Tyl redesigned
it with help from a Travis CI employee and convinced everyone to switch to
it. The old design is what today is called the plastic style; the new one
is the flat style.

You can read more about the project's inception,
the motivation of the SVG badge specification, and
the specification itself.

Project leaders

Maintainers:

Operations:

Alumni:

License

All assets and code are under the CC0 LICENSE and in the public
domain unless specified otherwise.

The assets in logo/ are trademarks of their respective companies and are
under their terms and license.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! ? [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]










Overview

Name With Ownerbadges/shields
Primary LanguageJavaScript
Program languageHTML (Language Count: 6)
Platform
License:Creative Commons Zero v1.0 Universal
Release Count53
Last Release Nameserver-2024-05-01 (Posted on )
First Release Name1.3.0 (Posted on )
Created At2013-01-30 07:41:54
Pushed At2024-05-05 22:00:05
Last Commit At2024-05-05 21:43:07
Stargazers Count22.6k
Watchers Count117
Fork Count5.4k
Commits Count7.3k
Has Issues Enabled
Issues Count2527
Issue Open Count335
Pull Requests Count6140
Pull Requests Open Count22
Pull Requests Close Count1252
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top