Files
highland_games_website/README.md
T
Mathew 0c88206a23
Deploy to VPS / deploy (push) Has been cancelled
(Update) Update projet + todo
2026-06-22 23:32:18 +02:00

75 lines
2.2 KiB
Markdown

# 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
```bash
npm install
npm run dev
```
Open [http://localhost:3000](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`):
```bash
node scripts/build-favicon.mjs
```
## Project structure
```text
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
- **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`.
## Adding a devblog post
Create a file in `content/devblog/`, e.g. `2026-06-01-my-post.mdx`:
```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 contact and newsletter forms to a real email provider (currently log-only).
- Replace placeholder content (game, team members, social links).