Landing Pages (crispy-octo-barnacle)
Multi-page static landing site for RENEWA campaigns. Each landing page lives in its own top-level subfolder and deploys as its own Cloudflare Pages project on a dedicated subdomain under renewa.de.
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Plain HTML/CSS/JS (no build system) |
| Fonts | Rubik (Google Fonts) |
| Deployment | Cloudflare Pages, one project per subfolder |
| Analytics | Google Tag Manager (shared container GTM-W2GKPJF) |
| Forms | Heyflow (flow ID differs per campaign) |
Language: all user-facing content is in German.
Pages
| Subfolder | Domain | Status |
|---|---|---|
sanierungsfahrplan/ | sanierungsfahrplan.renewa.de | Live (iSFP / Individueller Sanierungsfahrplan campaign) |
foerdermittelcheck/ | foerdermittelcheck.renewa.de | Scaffold only — Cloudflare Pages project not yet created |
sanierungskompass/ | TBD | Scaffold only |
template/ | not deployed | Thin scaffold for new pages |
The sanierungsfahrplan/index.html page is the fully-built production iSFP page — best reference for what a finished campaign page looks like (sections, patterns, copy tone).
Architecture
Each landing page is a single index.html with inline <style> and <script> blocks. The template/index.html provides shared “chrome”: :root design tokens, global resets, .container utility, .fade-up scroll-in animation, nav/footer shells, primary-CTA button styles, sticky mobile CTA shell, GTM snippet.
New pages are created via cp -r template/ <name>/; campaign-specific sections (hero variants, trust rows, FAQs, testimonials, Heyflow embeds) are added per page.
Deployment
- Cloudflare Pages, one project per subfolder/subdomain
- Production branch:
main(protected, PRs only) - Preview deployments: every branch push / PR gets
<branch>.<project>.pages.dev - Build settings per Cloudflare Pages project: no build command, Root directory = the page’s subfolder
- Adding a new page requires one-time Cloudflare config: create Pages project + attach domain + add DNS CNAME
Key Integrations
- Google Tag Manager: shared container
GTM-W2GKPJF— differentiation by hostname/path happens inside GTM - Heyflow: lead-form widget loaded via external script; flow IDs differ per campaign (current iSFP:
renewa-wiz) - CTA links: typically point to
anfrage.renewa.dewith UTM parameters
Repo
[renewa-gmbh/crispy-octo-barnacle](https://github.com/renewa-gmbh/crispy-octo-barnacle) on GitHub. Cloned locally as ~/Projects/renewa/claude/crispy-octo-barnacle/.
Current Status
In production. Multi-page structure landed on 2026-03 (PR #5). Recent additions:
- Sanierungskompass scaffold + first index.html (renewa-gmbh/crispy-octo-barnacle#7, 2026-04)
- Foerdermittelcheck scaffold (#6, 2026-04)
Dormant since late April: no merges after 2026-04-21; one open PR (#8 “Update index.html”) sitting since 2026-04-29. The Sanierungskompass and Foerdermittelcheck launches (content fill-in + Cloudflare Pages projects) remain pending — see roadmap.