Skip to content
Concise, consistent, and legible badges in SVG and raster format
JavaScript TypeScript Other
Branch: master
Clone or download

Latest commit

paulmelnikow and repo-ranger Update list of who has access to production resources (#5192)
This action item was requested at the ops team meeting.

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Latest commit 778b146 Jun 14, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci run a smoke test for package with no shields.io deps installed (#5162) Jun 6, 2020
.dependabot re-enable dependabot node10+ upgrades (#5009) May 2, 2020
.github Update a few remaining references to gh-badges and remove nowignore (#… Apr 24, 2020
.vscode Redirect an old png badge with a number as a color; test on [static] (#… May 8, 2019
__snapshots__ Fix rendering in Firefox on Windows (#5038) May 5, 2020
badge-maker Build(deps): bump camelcase from 5.3.1 to 6.0.0 in /badge-maker (#5175) Jun 6, 2020
config Implement [YouTube] badge (#5132) Jun 10, 2020
core Implement [YouTube] badge (#5132) Jun 10, 2020
cypress upgrade to prettier 2 (#5051) May 5, 2020
doc Update list of who has access to production resources (#5192) Jun 14, 2020
frontend Build(deps-dev): bump eslint-plugin-react from 7.19.0 to 7.20.0 (#5088) May 18, 2020
lib upgrade to prettier 2 (#5051) May 5, 2020
logo Update Travis logo, Reduce some duplication (#3047) Feb 22, 2019
scripts upgrade to got 11 (#5008) May 2, 2020
services fix failing [aur] service test (#5212) Jun 14, 2020
spec Fix typos and clarify non-promotional (#2898) Jan 30, 2019
.dockerignore Tweak Docker initialization (#3173) Mar 7, 2019
.editorconfig .editorconfig file to help all contributers to align to a common proj… Nov 5, 2015
.eslintignore Update a few remaining references to gh-badges and remove nowignore (#… Apr 24, 2020
.eslintrc.yml Fix typos in comments (#5102) May 19, 2020
.gitignore Update a few remaining references to gh-badges and remove nowignore (#… Apr 24, 2020
.gitpod.yml Tweak Gitpod config (#3934) Sep 3, 2019
.mocharc-frontend.yml chore: make mocha rc configs dotfiles (#3065) Feb 20, 2019
.mocharc.yml chore: make mocha rc configs dotfiles (#3065) Feb 20, 2019
.nycrc-frontend.json Adopt Gatsby (#2906) Feb 6, 2019
.nycrc.json Tweak coverage ignores (#4032) Sep 16, 2019
.prettierignore Update a few remaining references to gh-badges and remove nowignore (#… Apr 24, 2020
.prettierrc.yml upgrade to prettier 2 (#5051) May 5, 2020
CONTRIBUTING.md Add documentation for designing badge URLs (#4435) Dec 22, 2019
Dockerfile bump to node 10 for self-hosting users (#5058) May 7, 2020
LICENSE License's content and filename changed (#2146) Oct 5, 2018
Makefile Add a diagnostic page for testing logos (#2890) Feb 8, 2019
Procfile Automatically reload the server when it changes (#3401) May 1, 2019
README.md Update list of who has access to production resources (#5192) Jun 14, 2020
SECURITY.md security policy 🔒 (#5100) May 23, 2020
app.json Add Twitch keys to configuration files (#3985) Sep 10, 2019
cypress.json Badge suggestion feature fix (#3331) Apr 29, 2019
dangerfile.js fix docs paths in dangerfile (#5136) May 28, 2020
entrypoint.spec.js Fix typos in comments (#5102) May 19, 2020
gatsby-browser.js Fix console error before applying a frontend route redirect (#3176) Mar 8, 2019
gatsby-config.js Initial adoption of TypeScript in the frontend (#3722) Jul 18, 2019
gatsby-node.js 📦 version 3 (#4756) Apr 23, 2020
jsdoc.json adopt JSDoc, eslint-plugin-jsdoc (#3645) Jul 11, 2019
now.json Remove legacy analytics (#3179) Mar 8, 2019
package-lock.json Build(deps-dev): bump gatsby-plugin-page-creator from 2.3.7 to 2.3.9 (#… Jun 14, 2020
package.json Build(deps-dev): bump gatsby-plugin-page-creator from 2.3.7 to 2.3.9 (#… Jun 14, 2020
server.js Update to eslint 6.8.0 [appveyor githubissuedetail packagist] (#4489) Feb 29, 2020
tsconfig.json More TypeScript in the frontend (#3742) Aug 16, 2019

README.md

build status service-test status coverage Total alerts commits to be deployed chat on Discord follow on Twitter

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:

Related projects

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]

You can’t perform that action at this time.