Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions documentation/docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,10 @@ const config: Config = {
{
title: "Community",
items: [
{
label: "Spotlight",
to: "community",
},
{
label: "Discord",
href: "https://discord.gg/block-opensource",
Expand Down
120 changes: 120 additions & 0 deletions documentation/src/pages/community/data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# Community All Stars - Monthly Update Guide

This directory contains the data files for the Community All Stars section on the community page.

## Monthly Update Process

### Step 1: Create New Month Data File

1. Copy `template.json` to create a new file named `MONTH-YEAR.json` (e.g., `june-2025.json`)
2. Update the data in the new file:

```json
{
"month": "June 2025",
"featuredContributors": [
{
"name": "John Doe",
"handle": "johndoe"
}
],
"risingStars": [
{
"name": "Jane Smith",
"handle": "janesmith"
}
],
"leaderboard": [
{ "handle": "johndoe", "rank": 1, "medal": "🥇" },
{ "handle": "janesmith", "rank": 2, "medal": "🥈" },
{ "handle": "contributor3", "rank": 3, "medal": "🥉" },
{ "handle": "contributor4", "rank": 4 }
]
}
```

### Step 2: Update Configuration

1. Open `config.json`
2. Add the new month to the `availableMonths` array:

```json
{
"availableMonths": [
{
"id": "june-2025",
"display": "June 2025",
"file": "june-2025.json"
}
],
"defaultMonth": "june-2025"
}
```

3. Update `defaultMonth` to the new month's ID

### Step 3: Update Code Imports

1. Open `../pages/community.tsx`
2. Add import for the new data file:

```typescript
import june2025Data from "../data/community/june-2025.json";
```

3. Add the new data to the `communityDataMap`:

```typescript
const communityDataMap = {
"june-2025": june2025Data,
// ... other months
};
```

## Data Format

### Community Stars & Team Stars
- `name`: Full display name
- `handle`: GitHub username (without @)

### Monthly Leaderboard
- `handle`: GitHub username (without @)
- `rank`: Position number (1, 2, 3, etc.)
- `medal`: Only for top 3 ("🥇", "🥈", "🥉")

## Section Mapping

The JSON data maps to these page sections:
- `featuredContributors` → **Community Stars** section
- `risingStars` → **Team Stars** section
- `leaderboard` → **Monthly Leaderboard** section

## Tips

- Avatar images are automatically generated from GitHub usernames
- GitHub links are automatically created using the handle
- The medal field is optional - only include for top 3 positions
- You can have any number of leaderboard entries
- Names and handles are case-sensitive

## File Structure

```
community/
├── config.json # Main configuration
├── template.json # Template for new months
├── april-2025.json # April 2025 data
├── may-2025.json # May 2025 data
└── README.md # This file
```

## Quick Monthly Checklist

- [ ] Copy template.json to new month file
- [ ] Fill in contributor data for Community Stars
- [ ] Fill in contributor data for Team Stars
- [ ] Update Monthly Leaderboard rankings
- [ ] Update config.json with new month
- [ ] Add import to community.tsx
- [ ] Add to communityDataMap
- [ ] Test the page locally
83 changes: 83 additions & 0 deletions documentation/src/pages/community/data/april-2025.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"month": "April 2025",
"communityStars": [
{
"name": "Vinny Fiano",
"handle": "ynniv"
},
{
"name": "Carine B",
"handle": "TBD",
"avatarUrl": "https://cdn.discordapp.com/avatars/1177778226957926540/186b0898f793e7292a5b385de35a19fc?size=1024"
},
{
"name": "Best Codes",
"handle": "The-Best-Codes"
},
{
"name": "comoyomalove",
"handle": "TBD",
"avatarUrl": "https://cdn.discordapp.com/avatars/552168841992732673/2d88c30d3e0fc3fda6a3815b819f4546?size=1024"
},
{
"name": "jokellyfenton",
"handle": "jokellyfenton"
}
],
"teamStars": [
{
"name": "Shea Craig",
"handle": "sheagcraig"
},
{
"name": "Jim Bennett",
"handle": "jimbobbennett"
},
{
"name": "Oliver",
"handle": "opdich"
}
],
"leaderboard": [
{ "handle": "yingjiehe-xyz", "rank": 1, "medal": "🥇" },
{ "handle": "zanesq", "rank": 2, "medal": "🥈" },
{ "handle": "angiejones", "rank": 3, "medal": "🥉" },
{ "handle": "kalvinnchau", "rank": 4 },
{ "handle": "lily-de", "rank": 5 },
{ "handle": "blackgirlbytes", "rank": 6 },
{ "handle": "alexhancock", "rank": 7 },
{ "handle": "zakiali", "rank": 8 },
{ "handle": "salman1993", "rank": 9 },
{ "handle": "EbonyLouis", "rank": 10 },
{ "handle": "iandouglas", "rank": 11 },
{ "handle": "michaelneale", "rank": 12 },
{ "handle": "JohnMAustin78", "rank": 13 },
{ "handle": "wendytang", "rank": 14 },
{ "handle": "Kvadratni", "rank": 15 },
{ "handle": "ahau-square", "rank": 16 },
{ "handle": "nahiyankhan", "rank": 17 },
{ "handle": "The-Best-Codes", "rank": 18 },
{ "handle": "baxen", "rank": 19 },
{ "handle": "laanak08", "rank": 20 },
{ "handle": "agiuliano-square", "rank": 21 },
{ "handle": "acekyd", "rank": 22 },
{ "handle": "taniashiba", "rank": 23 },
{ "handle": "dbraduan", "rank": 24 },
{ "handle": "sheagcraig", "rank": 25 },
{ "handle": "sana-db", "rank": 26 },
{ "handle": "jimbobbennett", "rank": 27 },
{ "handle": "lifeizhou-ap", "rank": 28 },
{ "handle": "alicehau", "rank": 29 },
{ "handle": "opdich", "rank": 30 },
{ "handle": "rockwotj", "rank": 31 },
{ "handle": "alexgleason", "rank": 32 },
{ "handle": "meenalc", "rank": 33 },
{ "handle": "ArtBears", "rank": 34 },
{ "handle": "GlyneG", "rank": 35 },
{ "handle": "DOsinga", "rank": 36 },
{ "handle": "omo", "rank": 37 },
{ "handle": "allisonjoycarter", "rank": 38 },
{ "handle": "mpaquettePax8", "rank": 39 },
{ "handle": "capttrousers", "rank": 40 }
]
}
15 changes: 15 additions & 0 deletions documentation/src/pages/community/data/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"availableMonths": [
{
"id": "april-2025",
"display": "April 2025",
"file": "april-2025.json"
},
{
"id": "may-2025",
"display": "May 2025",
"file": "may-2025.json"
}
],
"defaultMonth": "may-2025"
}
84 changes: 84 additions & 0 deletions documentation/src/pages/community/data/may-2025.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"month": "May 2025",
"communityStars": [
{
"name": "GitMurf",
"handle": "GitMurf"
},
{
"name": "Anil Muppalla",
"handle": "anilmuppalla"
},
{
"name": "Ben Walding",
"handle": "bwalding"
},
{
"name": "Gustavo Hoirisch",
"handle": "gugahoi"
},
{
"name": "Antonio Cheong",
"handle": "acheong08"
}
],
"teamStars": [
{
"name": "Oliver",
"handle": "opdich"
},
{
"name": "Jack Amadeo",
"handle": "jamadeo"
},
{
"name": "Shea Craig",
"handle": "sheagcraig"
}
],
"leaderboard": [
{ "handle": "blackgirlbytes", "rank": 1, "medal": "🥇" },
{ "handle": "zanesq", "rank": 2, "medal": "🥈" },
{ "handle": "michaelneale", "rank": 3, "medal": "🥉" },
{ "handle": "angiejones", "rank": 4 },
{ "handle": "Kvadratni", "rank": 5 },
{ "handle": "lifeizhou-ap", "rank": 6 },
{ "handle": "dianed-square", "rank": 7 },
{ "handle": "yingjiehe-xyz", "rank": 8 },
{ "handle": "salman1993", "rank": 9 },
{ "handle": "ahau-square", "rank": 10 },
{ "handle": "iandouglas", "rank": 11 },
{ "handle": "emma-squared", "rank": 12 },
{ "handle": "dbraduan", "rank": 13 },
{ "handle": "lily-de", "rank": 14 },
{ "handle": "alexhancock", "rank": 15 },
{ "handle": "EbonyLouis", "rank": 16 },
{ "handle": "wendytang", "rank": 17 },
{ "handle": "The-Best-Codes", "rank": 18 },
{ "handle": "opdich", "rank": 19 },
{ "handle": "agiuliano-square", "rank": 20 },
{ "handle": "patrickReiis", "rank": 21 },
{ "handle": "kalvinnchau", "rank": 22 },
{ "handle": "acekyd", "rank": 23 },
{ "handle": "nahiyankhan", "rank": 24 },
{ "handle": "taniashiba", "rank": 25 },
{ "handle": "JohnMAustin78", "rank": 26 },
{ "handle": "sheagcraig", "rank": 27 },
{ "handle": "alicehau", "rank": 28 },
{ "handle": "bwalding", "rank": 29 },
{ "handle": "jamadeo", "rank": 30 },
{ "handle": "rockwotj", "rank": 31 },
{ "handle": "danielzayas", "rank": 32 },
{ "handle": "svenstaro", "rank": 33 },
{ "handle": "adaug", "rank": 34 },
{ "handle": "loganmoseley", "rank": 35 },
{ "handle": "tiborvass", "rank": 36 },
{ "handle": "xuv", "rank": 37 },
{ "handle": "anilmuppalla", "rank": 38 },
{ "handle": "spencrmartin", "rank": 39 },
{ "handle": "gknoblauch", "rank": 40 },
{ "handle": "acheong08", "rank": 41 },
{ "handle": "faces-of-eth", "rank": 42 },
{ "handle": "wesbillman", "rank": 43 }
]
}
54 changes: 54 additions & 0 deletions documentation/src/pages/community/data/template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"month": "MONTH YEAR",
"communityStars": [
{
"name": "Full Name 1",
"handle": "github-username-1"
},
{
"name": "Full Name 2",
"handle": "github-username-2"
},
{
"name": "Full Name 3",
"handle": "github-username-3"
},
{
"name": "Full Name 4",
"handle": "github-username-4"
},
{
"name": "Full Name 5",
"handle": "github-username-5"
}
],
"teamStars": [
{
"name": "Full Name 1",
"handle": "github-username-1"
},
{
"name": "Full Name 2",
"handle": "github-username-2"
},
{
"name": "Full Name 3",
"handle": "github-username-3"
},
{
"name": "Full Name 4",
"handle": "github-username-4"
},
{
"name": "Full Name 5",
"handle": "github-username-5"
}
],
"leaderboard": [
{ "handle": "github-username-1", "rank": 1, "medal": "🥇" },
{ "handle": "github-username-2", "rank": 2, "medal": "🥈" },
{ "handle": "github-username-3", "rank": 3, "medal": "🥉" },
{ "handle": "github-username-4", "rank": 4 },
{ "handle": "github-username-5", "rank": 5 }
]
}
Loading
Loading