20 · 2026

เว็บ Portfolio นี้This portfolio site

Monorepo Next.js + TypeScript ที่ตรวจข้อมูลผลงานด้วย Zod ตอน build และ deploy อัตโนมัติขึ้น GitHub Pages ผ่าน GitHub ActionsA Next.js + TypeScript monorepo that validates project content with Zod at build time and ships to GitHub Pages via GitHub Actions.

.github/workflows/ci.yml
# ทุก push ขึ้น main- run: pnpm lint- run: pnpm typecheck- run: pnpm test- run: pnpm build # → GitHub Pages
20DEPLOYauto

ภาพรวม

เว็บนี้เป็น static site ที่สร้างจากไฟล์ Markdown ใน repo ทุกครั้งที่ push ขึ้น main GitHub Actions จะ lint → typecheck → test → build แล้ว deploy ขึ้น GitHub Pages

จุดที่ออกแบบไว้ให้ต่อยอด

  • Schema ของข้อมูลอยู่ใน package shared ใช้ร่วมกับ API ในอนาคตได้
  • หน้าเว็บอ่านข้อมูลผ่าน lib/content.ts ที่เดียว — ถ้าย้ายไปใช้ API + MongoDB ก็แก้แค่ไฟล์นี้
  • ข้อมูลผลงานผิดรูปแบบจะทำให้ CI fail ก่อนขึ้นเว็บจริง

Overview

A static site generated from Markdown files in the repo. Every push to main runs lint → typecheck → test → build in GitHub Actions and deploys to GitHub Pages.

Built to grow

  • Data schemas live in the shared package, ready to be reused by a future API
  • Pages read data only through lib/content.ts — moving to an API + MongoDB means changing just that file
  • Malformed project content fails CI before it reaches production