An open API service indexing awesome lists of open source software.

https://github.com/creeperkatze/modfolio

Flex your modrinth stats anywhere
https://github.com/creeperkatze/modfolio

modrinth modrinth-api readme readme-badges readme-card

Last synced: 4 months ago
JSON representation

Flex your modrinth stats anywhere

Awesome Lists containing this project

README

          

# Logo

Generate fast, beautiful and consistent embeddable cards and badges for Modrinth, CurseForge, Hangar and Spigot content.

[![Better Stack Badge](https://uptime.betterstack.com/status-badges/v1/monitor/2d89t.svg)](https://status.creeperkatze.de)
![GitHub Issues](https://img.shields.io/github/issues/creeperkatze/modfolio?labelColor=0d143c)
![GitHub Pull Requests](https://img.shields.io/github/issues-pr/creeperkatze/modfolio?labelColor=0d143c)
![GitHub Repo stars](https://img.shields.io/github/stars/creeperkatze/modfolio?style=flat&labelColor=0d143c)

## Quick Start

Use the **[Website](https://modfolio.creeperkatze.de)** to visually configure and preview your embeds.

Examples:

[![Mod Menu](https://modfolio.creeperkatze.de/modrinth/project/modmenu)](https://modrinth.com/project/modmenu)
[![GeckoLib](https://modfolio.creeperkatze.de/curseforge/project/388172)](https://www.curseforge.com/minecraft/mc-mods/geckolib)
[![SimpleVoiceChat](https://modfolio.creeperkatze.de/hangar/project/SimpleVoiceChat)](https://hangar.papermc.io/henkelmax/SimpleVoiceChat)
[![LuckPerms](https://modfolio.creeperkatze.de/spigot/resource/28140)](https://spigotmc.org/resources/28140/)

## Endpoints

Base URL: `https://modfolio.creeperkatze.de`

Pattern: `///?=`

### Cards

Rich cards showing stats, versions, projects, and activity sparklines.

#### Modrinth

| Card Type | Path | Example |
|-----------|------|---------|
| Project | `/modrinth/project/` | [![Mod Menu](https://modfolio.creeperkatze.de/modrinth/project/modmenu)](https://modrinth.com/project/modmenu) |
| User | `/modrinth/user/` | [![Prospector](https://modfolio.creeperkatze.de/modrinth/user/prospector)](https://modrinth.com/user/prospector) |
| Organization | `/modrinth/organization/` | [![CaffeineMC](https://modfolio.creeperkatze.de/modrinth/organization/caffeinemc)](https://modrinth.com/organization/caffeinemc) |
| Collection | `/modrinth/collection/` | [![Featured - Vol. 38](https://modfolio.creeperkatze.de/modrinth/collection/VEgGDFFE)](https://modrinth.com/collection/VEgGDFFE) |

#### CurseForge

| Card Type | Path | Example |
|-----------|------|---------|
| Project | `/curseforge/project/` | [![GeckoLib](https://modfolio.creeperkatze.de/curseforge/project/388172)](https://www.curseforge.com/minecraft/mc-mods/geckolib) |

#### Hangar

| Card Type | Path | Example |
|-----------|------|---------|
| Project | `/hangar/project/` | [![SimpleVoiceChat](https://modfolio.creeperkatze.de/hangar/project/SimpleVoiceChat)](https://hangar.papermc.io/plugins/SimpleVoiceChat) |
| User | `/hangar/user/` | [![henkelmax](https://modfolio.creeperkatze.de/hangar/user/henkelmax)](https://hangar.papermc.io/u/henkelmax) |

#### Spigot

| Card Type | Path | Example |
|-----------|------|---------|
| Resource | `/spigot/resource/` | [![LuckPerms](https://modfolio.creeperkatze.de/spigot/resource/28140)](https://spigotmc.org/resources/28140/) |
| Author | `/spigot/author/` | [![SkriptJava](https://modfolio.creeperkatze.de/spigot/author/100356)](https://spigotmc.org/authors/100356) |

#### Card Options

| Parameter | Description | Default |
|-----------|-------------|---------|
| `color` | Accent color (hex) | Platform default |
| `backgroundColor` | Background color (hex) | `transparent` |
| `showProjects` | Show top projects section | `true` |
| `showVersions` | Show versions section | `true` |
| `maxProjects` | Max projects to display (1-10) | `5` |
| `maxVersions` | Max versions to display (1-10) | `5` |
| `relativeTime` | Show relative time for dates | `true` |
| `showSparklines` | Display activity sparklines | `true` |

**Platform defaults:** Modrinth `#1bd96a` | CurseForge `#F16436` | Hangar `#3371ED` | Spigot `#E8A838`

### Badges

Pattern: `////?=`

Compact badges showing a single metric.

#### Modrinth

| Badge | Path | Example |
|-------|------|---------|
| Downloads | `/modrinth///downloads` | [![Mod Menu](https://modfolio.creeperkatze.de/modrinth/project/modmenu/downloads)](https://modrinth.com/project/modmenu) |
| Followers | `/modrinth///followers` | [![Mod Menu](https://modfolio.creeperkatze.de/modrinth/project/modmenu/followers)](https://modrinth.com/project/modmenu) |
| Versions | `/modrinth///versions` | [![Mod Menu](https://modfolio.creeperkatze.de/modrinth/project/modmenu/versions)](https://modrinth.com/project/modmenu) |
| Projects | `/modrinth///projects` | [![Prospector](https://modfolio.creeperkatze.de/modrinth/user/prospector/projects)](https://modrinth.com/user/prospector) |

#### CurseForge

| Badge | Path | Example |
|-------|------|---------|
| Downloads | `/curseforge/project//downloads` | [![GeckoLib](https://modfolio.creeperkatze.de/curseforge/project/388172/downloads)](https://www.curseforge.com/minecraft/mc-mods/geckolib) |
| Rank | `/curseforge/project//rank` | [![GeckoLib](https://modfolio.creeperkatze.de/curseforge/project/388172/rank)](https://www.curseforge.com/minecraft/mc-mods/geckolib) |
| Files | `/curseforge/project//versions` | [![GeckoLib](https://modfolio.creeperkatze.de/curseforge/project/388172/versions)](https://www.curseforge.com/minecraft/mc-mods/geckolib) |

#### Hangar

| Badge | Path | Example |
|-------|------|---------|
| Downloads | `/hangar///downloads` | [![SimpleVoiceChat](https://modfolio.creeperkatze.de/hangar/project/SimpleVoiceChat/downloads)](https://hangar.papermc.io/plugins/SimpleVoiceChat) |
| Stars | `/hangar///stars` | [![/enkelmax](https://modfolio.creeperkatze.de/hangar/user//enkelmax/stars)](https://hangar.papermc.io/u//enkelmax) |
| Versions | `/hangar///versions` | [![SimpleVoiceChat](https://modfolio.creeperkatze.de/hangar/project/SimpleVoiceChat/versions)](https://hangar.papermc.io/plugins/SimpleVoiceChat) |
| Views | `/hangar/project//views` | [![SimpleVoiceChat](https://modfolio.creeperkatze.de/hangar/project/SimpleVoiceChat/views)](https://hangar.papermc.io/plugins/SimpleVoiceChat) |
| Projects | `/hangar/user//projects` | [![henkelmax](https://modfolio.creeperkatze.de/hangar/user/henkelmax/downloads)](https://hangar.papermc.io/u/henkelmax) |

#### Spigot

| Badge | Path | Example |
|-------|------|---------|
| Downloads | `/spigot///downloads` | [![LuckPerms](https://modfolio.creeperkatze.de/spigot/resource/28140/downloads)](https://spigotmc.org/resources/28140/) |
| Likes | `/spigot///likes` | [![LuckPerms](https://modfolio.creeperkatze.de/spigot/resource/28140/likes)](https://spigotmc.org/resources/28140/) |
| Rating | `/spigot///rating` | [![LuckPerms](https://modfolio.creeperkatze.de/spigot/resource/28140/rating)](https://spigotmc.org/resources/28140/) |
| Versions | `/spigot///versions` | [![LuckPerms](https://modfolio.creeperkatze.de/spigot/resource/28140/versions)](https://spigotmc.org/resources/28140/) |
| Resources | `/spigot/author//resources` | [![SkriptJava](https://modfolio.creeperkatze.de/spigot/author/100356/resources)](https://spigotmc.org/authors/100356) |

#### Badge Options

| Parameter | Description | Default |
|-----------|-------------|---------|
| `color` | Accent color (hex) | Platform default |
| `backgroundColor` | Background color (hex) | `transparent` |
| `format` | Output format (`svg` / `png`) | `svg` |

**Platform defaults:** Modrinth `#1bd96a` | CurseForge `#F16436` | Hangar `#3371ED` | Spigot `#E8A838`

## Development

### Prequisites

- Node.js
- pnpm

### Installation

```bash
# Clone the repository
git clone https://github.com/creeperkatze/modrinth-embeds.git
cd modrinth-embeds

# Install dependencies
pnpm install

# Start development server
pnpm dev
```

### Environment Variables

Copy the `.env.example` file and rename it to `.env`.

## Contributing

Contributions are always welcome!

Please ensure you run `pnpm lint` before opening a pull request.

## License

AGPL-3.0