Files
highland_games_website/README.md
T
Mathew 0cd61f2a12
Deploy to VPS / deploy (push) Has been cancelled
Branche le formulaire de contact sur Resend
- Envoi reel via le SDK Resend dans app/actions/contact.ts (avec gestion d'erreur)
- Cles/adresses lues depuis l'env (RESEND_API_KEY, CONTACT_TO_EMAIL, CONTACT_FROM_EMAIL)
- Ajout de resend en dependance + lock synchronise
- .env.example documente la config (autorise dans .gitignore)
- README + TODO a jour

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 08:38:56 +02:00

2.6 KiB

Highland Games Studio — Website

Marketing and devblog site for Highland Games Studio. Where summits become worlds.

Built with Next.js 16 (App Router), React 19, Tailwind CSS 4 and Framer Motion. Devblog posts are authored in MDX and rendered with next-mdx-remote.

Getting started

npm install
npm run dev

Open http://localhost:3000.

Scripts

Command Description
npm run dev Start the dev server
npm run build Production build
npm run start Serve the production build
npm run lint Run ESLint

To regenerate the favicon from the studio logo (requires sharp):

node scripts/build-favicon.mjs

Project structure

app/            Routes, layouts, server actions, metadata (sitemap/robots/feed/OG)
app/components/ Shared UI (Navbar, Footer, forms, social links)
content/devblog/ Devblog posts as .mdx (frontmatter: title, date, excerpt, tags, game)
lib/            Data + helpers (games registry, devblog loader, site URL)
public/         Static assets (studio logos, hero video)
scripts/        One-off build scripts (favicon generation)

Configuration

Copy .env.example to .env.local and fill in the values.

  • Site URL — set NEXT_PUBLIC_SITE_URL per environment (used by metadata, sitemap, robots, RSS and JSON-LD). Defaults to https://highlandgamesstudio.com — see lib/site.ts.
  • Contact form (Resend) — the contact form sends email via Resend. Set RESEND_API_KEY, CONTACT_TO_EMAIL (who receives messages) and CONTACT_FROM_EMAIL (sender, must be on a domain verified in Resend). Without these, the form returns a friendly error instead of sending. See app/actions/contact.ts.

Adding a devblog post

Create a file in content/devblog/, e.g. 2026-06-01-my-post.mdx:

---
title: "My post title"
date: "2026-06-01"
excerpt: "One-line summary for listings and SEO."
author: "Highland Games Studio"
tags: ["devlog"]
game: "project-one"
---

Your MDX content here.

Deployment

Pushes to master deploy to the VPS via the GitHub Actions workflow (.github/workflows/deploy.yml), which SSHes in, pulls, builds, and restarts the PM2 process. Requires the SSH_* repository secrets.

Known TODOs

  • Wire the newsletter form to a real email provider (contact form now uses Resend).
  • Replace placeholder content (game, team members, social links).