{"repo":"weilueluo/personal-site","free":true,"listed":false,"github":"https://github.com/weilueluo/personal-site","clone":"git clone https://github.com/weilueluo/personal-site.git","description":"Personal website built with React 18, NextJs 13 and ThreeJs","language":"TypeScript","stars":13,"topics":["nextjs","threejs","aws","typescript","react","bashly","personal-website","terraform","tailwindcss"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"Personal Website (Next.js App Router) This is the modernized version of the personal website with App Router, TailwindCSS, shadcn/ui, React Hook Form + Zod, i18n, and dark/light mode. Getting Started Requires Node.js 22 (see .nvmrc ). Environment Variables Copy .env.example to .env.local and fill in values. Required: - NEXT PUBLIC G TAG (Google Analytics) - GITHUB TOKEN (read-only token for GitHub blog content) - SUPABASE URL - SUPABASE SECRET KEY (preferred) or SUPABASE PUBLISHABLE KEY with RLS enabled - POSTMARK SERVER TOKEN - POSTMARK FROM - POSTMARK TO Optional: - POSTMARK MESSAGE STREAM - DEFAULT REVALIDATE Supabase Schema Schema + RLS are managed with Supabase CLI migrations in supabase/migrations . Apply migrations: The initial migration creates the comments table and RLS policies for read/insert. CI/CD - Deploys : Use Vercel GitHub integration (no deploy workflow required). - Supabase migrations : GitHub Actions workflow .github/workflows/supabase-migrate.yml . Required GitHub secrets: - SUPABASE ACCESS TOKEN - SUPABASE PROJECT REF - SUPABASE DB PASSWORD Manual run: Archive Legacy sites are available under /archive/2019 and /archive/2021 .","default_branch":null,"files":null,"tree":[],"storefront":"/r/weilueluo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/weilueluo/personal-site/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}