• Stars
    star
    252
  • Rank 161,312 (Top 4 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 1 year ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fast and clean SVG badges

badgers.space Logo

SpaceBadgers - Fast SVG Badges

Yes, badgers is an ingenious name. It contains the word badge, is similar to badgen (a popular badge generation service), includes the -rs suffix 🦀 and it's an actual word! Badgers are awesome animals. And they're also the mascot of the University of Wisconsin-Madison. I don't know why I'm telling you this, I don't even live in the US. But hey, the more you know.

Live instance at badgers.space

Project Structure

  • badgers: Core spacebadgers library
  • badgers-utils: Internal utilities for spacebadgers
  • badgers-cli: CLI for generating SVG badges
  • badgers-worker: Cloudflare worker
  • badgers-web: Web frontend for badgers.space

Service Integrations

  • GitHub
  • crates.io
  • npm

More integrations coming soon!

Why SpaceBadgers?

The creation of SpaceBadgers was spurred by my experiences and challenges with existing badge generators such as shields.io and badgen.net. These platforms offer excellent services, but I found certain issues that could be improved upon. Here's why I decided to build SpaceBadgers:

1. Performance: Acknowledging past speed concerns with platforms like Shields.io, SpaceBadgers emphasizes high performance and reliability. Our Rust-based core library and Cloudflare worker enable swift, edge-based badge delivery. Smooth integration with third-party services is achieved via NextJS API routes on Vercel, and we continually aim to enhance speed by utilizing the edge runtime.

2. Stability: Badgen.net was created as a faster alternative to shields.io, but due to its lack of active maintenance, it often breaks, leading to broken images. SpaceBadgers is actively maintained and is committed to ensuring stability and uptime.

3. SVG Exclusivity: In contrast to Shields.io, which produces images, SpaceBadgers dedicates itself solely to the generation of SVGs. Recognizing the scalability and high-quality visuals of SVGs, we deemed them the ideal choice. To optimize performance, we serve SVGs in a minified form, ensuring a swift and efficient delivery of badges.

Building SpaceBadgers has been a labor of love, aiming to offer a superior, reliable, and open-source SVG badge generator for the developer community. I am excited to hear your feedback and to continue evolving this project with your help. Your suggestions, contributions, and active participation are always welcome.

Development

Environment Variables

Paste this template into badgers-web/.env.local

# Frontend Configuration
NEXT_PUBLIC_API_PROTO = "http"          # Worker protocol
NEXT_PUBLIC_API_HOST = "127.0.0.1:8787" # Worker host
NEXT_PUBLIC_WEB_PROTO = "http"          # Web frontend protocol
NEXT_PUBLIC_WEB_HOST = "127.0.0.1:3000" # Web frontend host

# API Tokens
GITHUB_TOKEN = "ghp_Foo1234567"         # Required for GitHub badges
CRATESIO_TOKEN = "cio51fdR1234567"      # Required for crates.io badges

spacebadgers

Click to expand

Prerequisites

  • cargo

Running tests

cargo test -p spacebadgers

badgers-worker

Click to expand

Prerequisites

  • cargo
  • yarn (preferred) or npm

Installing dependencies

cd badgers-worker
npm install         # If you're using npm
yarn                # If you're using yarn

Running locally

cd badgers-worker
npm run dev         # If you're using npm
yarn dev            # If you're using yarn

Deploying to Cloudflare

cd badgers-worker
npm run deploy      # If you're using npm
yarn deploy         # If you're using yarn

badgers-web

Click to expand

Prerequisites

  • yarn (preferred) or npm

Installing dependencies

cd badgers-web
npm install         # If you're using npm
yarn                # If you're using yarn

Running locally

cd badgers-web
npm run dev         # If you're using npm
yarn dev            # If you're using yarn

More Repositories

1

evee.js

The lightweight es6 event library.
JavaScript
194
star
2

rust-talks

Community maintained list of Rust talks.
29
star
3

Animus

The educational Animus malware
C#
17
star
4

spotify-rs

Rustified Spotify API.
Rust
9
star
5

Hashlecter

Free and libre hash reversal tool.
C#
5
star
6

plasmid

Rust Genetic Engineering Kit
Rust
3
star
7

flux1-cli

Easy local FLUX.1 Inference
Python
3
star
8

ampbar

A modern status bar with mouse and touch support.
JavaScript
3
star
9

RektOS2

A small operating system
C
3
star
10

deepin-macos-transform

Make DeepinOS even more awesome
Shell
2
star
11

cmc

Inofficial coinmarketcap.com desktop app.
JavaScript
2
star
12

DOMinate.js

HTML element creation in JS using CSS selectors
JavaScript
2
star
13

iosh

Supercharged Iodine REPL shell.
C#
2
star
14

chippy

CHIP-8 emulator written in C# 6
C#
2
star
15

CSON.Net

CSON parser, serializer and deserializer for .NET
C#
2
star
16

subtle

Beautiful subtle particle effects using canvas.
JavaScript
2
star
17

cn-miner-rs

A CryptoNight miner written in Rust.
Rust
2
star
18

hawkeye

A simple and extensible React Dashboard
TypeScript
1
star
19

Imardin

The Imardin Virtual Machine
C
1
star
20

zircond

Rust IRC daemon.
Rust
1
star
21

JacoChat

JacoChat protocol library and single-room client
C#
1
star
22

cap

A binary package manager for crates.io
Rust
1
star
23

Tesseract

A hobbyist operating system
C
1
star
24

dotfiles

Some useful dotfiles
Shell
1
star
25

hueston

Philips Hue manipulation in Rust.
Rust
1
star
26

Devulcanizer

Windows Service to find and destroy the Vulcan malware
C#
1
star
27

libObsidian-Client

Obsidian client library for Microsoft .Net and Mono
C#
1
star
28

witty

A small irc bot
Python
1
star