bazel-contrib / bcr-ui

Website for the Bazel Central Registry
https://registry.bazel.build
Apache License 2.0
15 stars 8 forks source link

Set up shields.io badges #29

Open hobofan opened 1 year ago

hobofan commented 1 year ago

Badges in READMEs can be a really good way to improve the developer experience for an ecosystem, as they can provide a consistently recognizable link to a website with more information (like the bcr-ui) in an otherwise unstructured (= of always varying structure) block of text.

Shields.io provides the commonly used service for that (with integrations to all the popular package managers): https://shields.io/category/version

Examples for what the badge could look like:

I haven't quite figured out yet on how to get them integrated to their website (I think via contributing it to https://github.com/badges/shields ?). EDIT: https://github.com/badges/shields/blob/master/doc/TUTORIAL.md

To enable that I assume we would have to provide some endpoint or URL template that would allow for retrieving the latest version of a module. I assume that wouldn't be to hard to integrate into the build process of Next.js 🤞.

alexeagle commented 1 year ago

There is already a badge available for the most recent release of a ruleset, e.g. for rules_pkg GitHub release (with filter) so I don't think there's enough value to merit the work it would take to make the contribution to Shields along with the user confusion of which type of badge to use.

I'd like to re-purpose this issue to suggest we display badges from shields.io on the bcr ui, like download count, open issues, etc. This gives a bit of a health signal for the ruleset, like the bazel-catalog is trying to do.

sgammon commented 1 year ago

@alexeagle tagged me so i can share this message from slack :) if I get time I may try to contribute some of these features upstream to Shields.io.

we made these sick badges to show off our Bzlmod support, if you guys want them feel free to steal from the README. It's a SVG data URL directly from the Bazel logo so it should both be faithful to their design and portable

Screenshot 2023-08-13 at 2 55 55 PM

project: https://github.com/sgammon/rules-graalvm

sgammon commented 1 year ago

filed @ badges/shields#9474

Initial PR just adds a bazel logo option. Next I'll try to add a version badge, but I don't know yet how easy that is to plug in to BCR's JSON endpoints. We'll see.