Show HN: SpaceBadgers – Free and Libre SVG Badges (badgers.space)
I am thrilled to present SpaceBadgers, a new free and open-source SVG badge generator I've been working on. It's located at badgers.space.
SpaceBadgers is born out of the desire to offer more flexibility and customization for project badges, often used in open-source projects.
It's fully open source, provided under the permissive MIT license, and will always be provided for free. The core badge worker is written in Rust, and so is the library behind it, which you can also find on crates.io under the name spacebadgers.
I am excited to receive your feedback and suggestions. Check it out and let me know what you think in the comments. Contributions are also welcomed and appreciated. You can find the source code here: https://github.com/splittydev/spacebadgers.
51 comments
[ 6.0 ms ] story [ 111 ms ] threadWhat is Cloudflare workers Rust support is like? I'd be a a complete Rust noob and looking for a dev environment with some code completion. Is that feasible today? Could you share your dev environment?
Nit: Personally would prefer rounded corners.
You can add a cornerRadius query parameter, which can take four possible values: s, m, l, or a number in pixels.
A few examples:
https://badgers.space/badge/look/I'm%20slightly%20rounded?co...
https://badgers.space/badge/look/I'm%20rounded?cornerRadius=...
https://badgers.space/badge/look/I'm%20even%20more%20rounded...
In general, I'd recommend going with s or m. Anything larger than l will look weird, and anything less than s will be barely noticeable.
The actual values are: s: 2px, m: 4px, l: 6px.
The badges look great and I love that this is available as both a web service (easy to link to) and as a CLI tool (no risk of depending on your web service).
- Add clear instructions for building/running the code, assuming the developer is already familiar with Cargo. (clone the repo, cd into it, run 'cargo run -- --label Foo --status Bar --color green` like you mentioned in your other comment)
- Add a github action workflow that builds+uploads the binaries as a Github Release, maybe using something like https://github.com/taiki-e/upload-rust-binary-action (I haven't used this but found it with some googling and it looks reasonable)
No need to do either of these things, just my recommendation. Thanks again for releasing such a cool project, very nice work, and best of luck!
My current plan is to just release the cli on crates.io, in addition to the library. Then you could just do `cargo install spacebadgers-cli` and be done with it, no need to fork the repo.
The cli has a pretty good help section, so it should be pretty self-explanatory. If you just run it without arguments, it'll tell you all there is to it.
I'm still figuring out a few things about argument handling and additional options, so for now I haven't been releasing the cli yet (it's still too unstable in terms of consistency between updates).
You can then pass parameters like so: `cargo run -- --label Foo --status Bar --color green`
Guess I can see the utility of having a little stats/props table at the top of a project readme. But the in-line wrapped style and images from an external web service aspects never made sense to me. Why is that popular?
Personally, I think they also add a pleasant touch of style to a project, since READMEs often have otherwise dry and information-heavy looks. Adding a bit of color never hurt anyone :)
https://badgers.space/github/release/tensorflow/tensorflow
https://badgers.space/github/checks/facebook/react
In this case, it just looks it up at Github. shields.io can hit a bunch of different services for status:
https://shields.io/category/build
Which is why there is a value in having a badge service rather than just updating badges with a commit hook or something.
For example, to generate a badge with the CI status for spacebadgers, you can use https://badgers.space/github/checks/splittydev/spacebadgers. This URL returns an SVG image with the current CI status for this project.
https://badgers.space/badge/mylabel/statuscode/green
You can include hex-colors in the URL: https://badgers.space/badge/foo/bar/842a78?label_color=2a847...
We also support embedding icons like so: https://badgers.space/badge/foo/Quintschaf/cyan?icon=https:/...
We don't have a fetch-based endpoint for now where it fetches a result, but we might add that later on.
> This Deployment has been disabled. Your connection is working correctly. Vercel is working correctly.
The launch week has been great! We served an insane number (well over 50k) badges with a 0% error rate, and have since added support for NPM, GitHub and crates.io!
And for those of you who've been waiting for icon support: We now have 900+ beautiful icons built-in!
Thanks a lot for all your positive comments and support!