Skip to main content

· One min read
chris48s

Logos on Shields.io are provided by SimpleIcons. We've recently upgraded to SimpleIcons 10. This release removes 45 icons. A full list of the removals can be found in the release notes.

Please remember that we are just consumers of SimpleIcons. Decisions about changes and removals are made by the SimpleIcons project.

· One min read
chris48s

We recently shipped a feature which allows you to pass an arbitrary filter to the GitHub tag and release badges. The filter param can be used to apply a filter to the project's tag or release names before selecting the latest from the list. Two constructs are available: * is a wildcard matching zero or more characters, and if the pattern starts with a !, the whole pattern is negated.

To give an example of how this might be useful, we create two types of tags on our GitHub repo: https://github.com/badges/shields/tags There are tags in the format major.minor.patch which correspond to our NPM package releases and tags in the format server-YYYY-MM-DD that correspond to our docker snapshot releases.

In our case, this would allow us to make a badge that applies the filter !server-* to filter out the snapshot tags and just select the latest package tag.

· One min read
chris48s

Alongside the general visual refresh and improvements to look and feel, our new frontend has allowed us to address a number of long-standing feature requests and enhancements:

  • Clearer and more discoverable documentation for our static, dynamic json/xml/yaml and endpoint badges
  • Improved badge builder interface, with all optional query parameters included in the builder for each badge
  • Each badge now has its own documentation page, which we can link to. e.g: https://shields.io/badges/discord
  • Light/dark mode themes
  • Improved search
  • Documentation for individual path and query parameters

The new site also comes with big maintenance benefits for the core team. We rely heavily on docusaurus, docusaurus-openapi, and docusaurus-search-local. This moves us to a mostly declarative setup, massively reducing the amount of custom frontend code we maintain ourselves.