- Bigger hero with the staggered second line from the design, filling the first screen (capped at 620px) - Consistent section spacing and more readable About/Products text - Contact form in a card with 48px, 16px-text fields (no iOS zoom on focus), a shorter message box and a full-width send button - Header pinned to the top with a blurred backdrop; larger nav tap targets - Desktop layout (>= 960px) unchanged
continuum-3d-site
Landing page for continuum-3d.com. Eleventy + Pug + Tailwind CSS, with a
small JSON-based i18n setup (src/locales/en.json, src/locales/pl.json).
- English (the default language) lives at
src/en/index.pugand builds to/. - Every other language lives at
src/<lang>/index.pugand builds to/<lang>/(e.g. Polish:src/pl/index.pug->/pl/). - The page markup is shared in
src/_includes/home.pug; all copy is insrc/locales/<lang>.json. - To add a language: copy
src/locales/en.jsontosrc/locales/<lang>.json, translate it (includinglang_name, the language's own name), and add asrc/<lang>/index.pugwithlang: <lang>andpermalink: /<lang>/in its front matter that includes../_includes/home.pug. The footer language switcher and thehreflangtags pick it up automatically. - Site-wide settings (domain, contact address, default language) are in
src/_data/site.json. The contact form opens the visitor's mail client addressed tocontactEmail.
Develop
npm install
npm run dev
Build
npm install
npm run build
Output goes to dist/.
Deploy
Every push to main builds the site and publishes dist/ (zipped) as the
asset on a Gitea Release tagged deploy, using the automatic per-job
GITEA_TOKEN — no secrets to configure. A separate site-deployer watcher
container on octo-winsrv polls that release (releases/tags/deploy) every
~45s and, when it changes, extracts it into /mnt/e/sites/continuum-3d-com/,
which Caddy serves as the document root for continuum-3d.com. No SSH keys
or admin credentials are involved — the watcher only has filesystem access
to /mnt/e/sites, nothing else on the host.
Manual deploy still works if you need it immediately (bypasses the watcher):
npm run build
scp -r dist/* <host>:/mnt/e/sites/continuum-3d-com/