Next.js 15 (App Router) + Tailwind v4 replica of the marketing site at
https://www.dapplepot.com, migrated from the Vite/React source in ../website/.
npm install
npm run devRuns at http://localhost:3000.
app/— routes, layout, metadatacomponents/— SiteNav, SiteFooter, LegalLayout, BlogListClientlib/— blogApi, markdown pipeline, useDocumentMeta, constantspublic/— logo, favicon,llms.txt, background asset
Blog posts fetched from https://api.dapplepot.com/v1/blogs at request time.
Rendering uses ISR (revalidate: 300s) plus on-demand revalidation via
POST /api/revalidate (guarded by REVALIDATE_SECRET).
Requires a Node runtime (Vercel, Firebase App Hosting, Cloud Run, or next start
behind any HTTP server). Static export is not supported — RSS, sitemap,
dynamic OG images, and revalidation all need server routes.