diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 04b1212..a498f95 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -2,7 +2,7 @@ name: Deploy to VPS on: push: - branches: [main] + branches: [master] workflow_dispatch: concurrency: @@ -23,7 +23,7 @@ jobs: script: | set -e cd /var/www/highland - git pull origin main + git pull origin master npm ci npm run build pm2 restart highland --update-env diff --git a/.gitignore b/.gitignore index 87a304c..5ef6a52 100644 --- a/.gitignore +++ b/.gitignore @@ -39,40 +39,3 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts - -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env*.local -.env - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/README.md b/README.md index e215bc4..b1a4e54 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,74 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). +# Highland Games Studio — Website -## Getting Started +Marketing and devblog site for Highland Games Studio. _Where summits become worlds._ -First, run the development server: +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 -# or -yarn dev -# or -pnpm dev -# or -bun dev ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +Open [http://localhost:3000](http://localhost:3000). -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. +## Scripts -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. +| 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 | -## Learn More +To regenerate the favicon from the studio logo (requires `sharp`): -To learn more about Next.js, take a look at the following resources: +```bash +node scripts/build-favicon.mjs +``` -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +## Project structure -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! +```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) +``` -## Deploy on Vercel +## Configuration -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. +- **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`. -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. +## 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). diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..453cb59 --- /dev/null +++ b/TODO.md @@ -0,0 +1,67 @@ +# TODO — Highland Games Studio Website + +Liste des tâches restantes, classées par priorité. +Dernière mise à jour : 2026-06-22 + +--- + +## 🔴 P0 — Critique (avant toute mise en ligne) + +- [ ] **Vidéo 84 Mo dans Git** (`public/Video/Header_Video.mp4`) + - [ ] Compresser la vidéo (cible < 5 Mo, ~1080p) avec ffmpeg + - [ ] La sortir de l'historique Git (BFG ou `git-filter-repo`) — sinon elle reste à vie dans le repo + - [ ] Ajouter un `poster` (image) sur la balise `