https://github.com/r-webdev/website
Community website for the Web Dev & Design Discord server.
https://github.com/r-webdev/website
website
Last synced: about 1 month ago
JSON representation
Community website for the Web Dev & Design Discord server.
- Host: GitHub
- URL: https://github.com/r-webdev/website
- Owner: r-webdev
- Created: 2026-06-08T19:35:34.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-12T19:49:58.000Z (about 1 month ago)
- Last Synced: 2026-06-12T20:06:01.155Z (about 1 month ago)
- Topics: website
- Language: TypeScript
- Homepage: https://webdevdesign.pages.dev
- Size: 227 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Web Dev & Design
Community website for the **Web Dev & Design** Discord server. Built with Astro, React islands, Tailwind CSS, and Zod-validated content collections.
## Stack
- [Astro](https://astro.build) — static site shell and routing
- [React](https://react.dev) — interactive islands (search, mobile nav)
- [Tailwind CSS](https://tailwindcss.com) — styling
- [Zod](https://zod.dev) — schema validation
- [Vitest](https://vitest.dev) — unit and component tests
- [Cloudflare Pages](https://pages.cloudflare.com) — deployment target
## Getting started
Requires Node.js 24+.
```bash
pnpm install
cp .env.example .env
pnpm dev
```
## Scripts
| Command | Description |
| --------------- | ------------------------ |
| `pnpm dev` | Start dev server |
| `pnpm build` | Production build |
| `pnpm preview` | Preview production build |
| `pnpm test` | Run tests in watch mode |
| `pnpm test:run` | Run tests once (CI) |
| `pnpm lint` | Lint with ESLint |
The Open Graph image at `/og-image.png` is generated at build time from `public/og-image.svg` and `public/logo.png` via a [static file endpoint](https://docs.astro.build/en/guides/endpoints/#static-file-endpoints) (`src/pages/og-image.png.ts`).
## Environment variables
| Variable | Description |
| --------------------------- | -------------------------------- |
| `PUBLIC_SITE_URL` | Canonical site URL for meta tags |
| `PUBLIC_DISCORD_INVITE_URL` | Discord invite link for CTAs |
## Pages
- `/` — Home with Discord join CTA
- `/learning` — Curated resources with search and filter
- `/code-of-conduct` — Community guidelines
## Deployment
This project includes a [`wrangler.toml`](wrangler.toml) for Cloudflare Pages.
| Setting | Value |
| ---------------- | ------------ |
| Build command | `pnpm build` |
| Output directory | `dist` |
| Node version | 24 |
Set `PUBLIC_SITE_URL` and `PUBLIC_DISCORD_INVITE_URL` in Cloudflare Pages environment variables.
For local preview with Wrangler:
```bash
pnpm build
pnpm dlx wrangler pages dev dist
```