From c031971815abb62fd088acda072e3aa873b8bb84 Mon Sep 17 00:00:00 2001 From: developer Date: Fri, 3 Apr 2026 04:43:35 +0000 Subject: [PATCH] Initial Astro + Tailwind scaffold for Wohlruf landing page - Astro static site generator with zero-JS default output - Tailwind CSS for styling (consistent with main app stack) - German-language landing page: hero, how-it-works, features, pricing, FAQ, CTA - Placeholder pages for Impressum, Datenschutz, AGB - Reusable Header/Footer/Base layout components - FTP-deployable static output via `npm run build` - README with content TODO list for CMO Co-Authored-By: Paperclip --- .gitignore | 6 + .vscode/extensions.json | 4 + .vscode/launch.json | 11 ++ README.md | 48 ++++++++ astro.config.mjs | 13 +++ package.json | 20 ++++ public/favicon.ico | Bin 0 -> 655 bytes public/favicon.svg | 9 ++ src/components/Footer.astro | 31 +++++ src/components/Header.astro | 18 +++ src/layouts/Base.astro | 30 +++++ src/pages/agb.astro | 15 +++ src/pages/datenschutz.astro | 15 +++ src/pages/impressum.astro | 15 +++ src/pages/index.astro | 222 ++++++++++++++++++++++++++++++++++++ tailwind.config.mjs | 12 ++ tsconfig.json | 5 + 17 files changed, 474 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 README.md create mode 100644 astro.config.mjs create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 public/favicon.svg create mode 100644 src/components/Footer.astro create mode 100644 src/components/Header.astro create mode 100644 src/layouts/Base.astro create mode 100644 src/pages/agb.astro create mode 100644 src/pages/datenschutz.astro create mode 100644 src/pages/impressum.astro create mode 100644 src/pages/index.astro create mode 100644 tailwind.config.mjs create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3441a79 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +dist/ +.astro/ +.env +.env.* +!.env.example diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..fdd536d --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# wohlruf-website + +Wohlruf marketing landing page — built with [Astro](https://astro.build) + Tailwind CSS. + +## Stack + +- **Astro** — static site generator, zero-JS by default +- **Tailwind CSS** — utility-first styling +- **Output**: pure static HTML/CSS/JS (`dist/`) — FTP-deployable + +## Development + +```bash +npm install +npm run dev # http://localhost:4321 +``` + +## Build + +```bash +npm run build # outputs to dist/ +``` + +The `dist/` folder contains the complete static site ready for FTP upload. + +## Deployment + +Copy the contents of `dist/` to your webserver via FTP. No server-side runtime required. + +## Content structure + +| File | Purpose | +|------|---------| +| `src/pages/index.astro` | Main landing page — hero, how-it-works, features, pricing, FAQ, CTA | +| `src/pages/impressum.astro` | Impressum (legal) | +| `src/pages/datenschutz.astro` | Datenschutzerklärung (privacy policy) | +| `src/pages/agb.astro` | Allgemeine Geschäftsbedingungen (terms) | +| `src/layouts/Base.astro` | HTML shell with meta tags | +| `src/components/Header.astro` | Navigation | +| `src/components/Footer.astro` | Footer with links | + +## TODO for CMO + +- [ ] Finalize pricing tiers and replace `XX €` placeholders in `index.astro` +- [ ] Fill in Impressum, Datenschutz, and AGB pages +- [ ] Add actual logo/brand assets to `public/` +- [ ] Review and refine copy in all sections +- [ ] Add contact form or booking link once backend is ready diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..391559a --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,13 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import tailwind from '@astrojs/tailwind'; + +// https://astro.build/config +export default defineConfig({ + integrations: [tailwind()], + output: 'static', + i18n: { + defaultLocale: 'de', + locales: ['de'], + }, +}); diff --git a/package.json b/package.json new file mode 100644 index 0000000..6ad6566 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "wohlruf-website", + "type": "module", + "version": "0.1.0", + "description": "Wohlruf — KI-Sprachbegleiter für Senioren. Marketing landing page.", + "engines": { + "node": ">=22.12.0" + }, + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/tailwind": "^5.1.3", + "astro": "^6.1.3", + "tailwindcss": "^3.4.17" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7f48a94d16071d6c8d06478c7458ab12e675019c GIT binary patch literal 655 zcmV;A0&x9_P)Rl-XF(A`bsas&GH{e7U1}Ri zJr5jR8B2*Jd6$=$AqgTM2o2FV$WZ9|#jJ3mmpEs{jB0ps@*Kxv}=RB|IJih8Z&fqwCG`%bN0000#bW%=J zQ=IH#a_&L{B{_6Lu_3m>0bMN%+@aOmN_3G~H^8EGi>+bXO=;-|Z`uFnf==AdP z{Oj-S=ltmI=<4`LcLE*&009F@L_t(|+I`d4ZUZ3@1<*Uo7H^LoCw6-8z4wsbd;b4l zA}zMFtOw2mLX6O5Mgl}(5P=uOM4%=tnuHiuAp%(G<c=npm$Fz%eL + + + diff --git a/src/components/Footer.astro b/src/components/Footer.astro new file mode 100644 index 0000000..148097d --- /dev/null +++ b/src/components/Footer.astro @@ -0,0 +1,31 @@ +--- +--- +
+
+
+
+

Wohlruf

+

KI-Sprachbegleiter für Senioren.
Einfach. Persönlich. Verlässlich.

+
+
+

Links

+ +
+
+

Rechtliches

+ +
+
+

+ © {new Date().getFullYear()} Wohlruf. Alle Rechte vorbehalten. +

+
+
diff --git a/src/components/Header.astro b/src/components/Header.astro new file mode 100644 index 0000000..86cabb4 --- /dev/null +++ b/src/components/Header.astro @@ -0,0 +1,18 @@ +--- +--- +
+ +
diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro new file mode 100644 index 0000000..2eb70fd --- /dev/null +++ b/src/layouts/Base.astro @@ -0,0 +1,30 @@ +--- +interface Props { + title: string; + description?: string; +} + +const { + title, + description = 'Wohlruf gibt Ihren Eltern eine persönliche Telefonnummer mit einem einfühlsamen KI-Sprachbegleiter — buchbar als Monatsabo.', +} = Astro.props; +--- + + + + + + + + + + + + + + {title} + + + + + diff --git a/src/pages/agb.astro b/src/pages/agb.astro new file mode 100644 index 0000000..0b6183c --- /dev/null +++ b/src/pages/agb.astro @@ -0,0 +1,15 @@ +--- +import Base from '../layouts/Base.astro'; +import Header from '../components/Header.astro'; +import Footer from '../components/Footer.astro'; +--- + + +
+
+

Allgemeine Geschäftsbedingungen

+ +

AGB werden noch ergänzt.

+
+