# Woiken Website The landing page for [woiken.com](https://woiken.com), a coming-soon page for Woiken. It's a single page built with Next.js 16 and exported as static files. Scrolling opens a framed sky photo up to full screen, where the "A new cloud, coming soon." tagline fades in. ## Commands | Command | Action | | :------------------------- | :-------------------------------------------------- | | `pnpm install` | Install dependencies | | `pnpm dev` | Start the dev server at `localhost:3000` | | `pnpm build` | Build the static site to `./out/` | | `pnpm lint` | Lint with ESLint | | `pnpm exec wrangler dev` | Serve `./out/` locally the way Cloudflare will | Use pnpm 12. `pnpm start` doesn't work, because the site is a static export (`output: "export"`). ## Project structure ``` . ├── app/ │ ├── page.tsx # The landing page │ ├── layout.tsx │ └── globals.css # Tailwind + photo darkening ├── components/ │ └── ScrollExpand/ # Scroll-to-expand hero (from React Bits) ├── public/ │ └── grass-field.jpg # Hero photo ├── wrangler.jsonc # Cloudflare Worker config └── .gitea/workflows/deploy.yml ``` ## Deployment Every push to `main` deploys the site via `.gitea/workflows/deploy.yml`. The workflow builds the site and runs `wrangler deploy`, which uploads `./out/` as static assets to the `woiken-website` Worker on the `woiken.com` custom domain. ## Credits Hero photo: [grass field at daytime](https://unsplash.com/photos/grass-field-at-daytime-PEm_sLmJT-w) on Unsplash.