Dokumente: Satzung-Seite + gebrandete PDFs (Satzung, Beitragsordnung, Aufnahmeantrag)

- /satzung: vollständige Satzung (Stand 22.01.2020) als On-Site-Seite mit
  Print-CSS (Druck == PDF). Text 1:1 aus dem Original.
- Gebrandete Download-PDFs in public/dokumente/: satzung.pdf (aus der Seite
  gerendert), beitragsordnung.pdf, aufnahmeantrag.pdf (Formular inkl.
  SEPA-Mandat) — erzeugt via Chrome --headless --print-to-pdf
- Quellen + Regenerier-Skript in docs-src/ (gen.sh, README)
- Downloads verdrahtet: mitglied-werden (toter Beitrittserklärung-Link
  -> aufnahmeantrag.pdf, plus Beitragsordnung + Satzung), Footer (Satzung)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-08 09:49:16 +02:00
parent 7f9328f2ef
commit 18487d2bea
10 changed files with 552 additions and 3 deletions

21
docs-src/README.md Normal file
View File

@@ -0,0 +1,21 @@
# Vereinsdokumente → gebrandete PDFs
Quelldateien für die offiziellen PDFs unter `public/dokumente/`. Texte sind **1:1**
aus den Originalen (Satzung Stand 22.01.2020, Beitragsordnung beschlossen 06.04.2019)
übernommen — bei inhaltlichen Änderungen hier anpassen und neu generieren.
| PDF | Quelle | Auch online? |
|-----|--------|--------------|
| `satzung.pdf` | Astro-Seite `src/pages/satzung.astro` (Print-CSS) | ✅ `/satzung` |
| `beitragsordnung.pdf` | `docs-src/beitragsordnung.html` | ❌ nur Download |
| `aufnahmeantrag.pdf` | `docs-src/aufnahmeantrag.html` (Formular + SEPA-Mandat) | ❌ nur Download |
## Neu generieren
```sh
npm run dev # nötig für satzung.pdf (rendert /satzung)
bash docs-src/gen.sh # schreibt nach public/dokumente/
```
PDFs werden mit Google Chrome (`--headless --print-to-pdf`) erzeugt, damit die
`@media print`-Darstellung exakt dem PDF entspricht.

View File

@@ -0,0 +1,137 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>Aufnahmeantrag Kitafreunde Regenbogen e.V.</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600..800&family=Hanken+Grotesk:wght@400..700&display=swap" rel="stylesheet" />
<style>
@page { size: A4; margin: 15mm 18mm 16mm; }
* { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
html, body { margin: 0; }
body { font-family: "Hanken Grotesk", system-ui, sans-serif; color: #1a1a1a; font-size: 10pt; line-height: 1.55; }
.doc-head { display: flex; align-items: center; gap: 14px; }
.doc-head img { height: 46px; width: auto; }
.doc-kicker { font-size: 9pt; color: #555; margin: 0; }
.doc-title { font-family: "Fraunces", Georgia, serif; font-size: 21pt; font-weight: 800; color: #2A2433; margin: 0; line-height: 1; }
.doc-meta { font-size: 9pt; color: #555; margin: 2px 0 0; }
.rule { height: 6px; border-radius: 99px; margin: 9px 0 16px; background: linear-gradient(90deg,#E8192C,#F5820D,#F9C80E,#00A651,#00AEEF,#3B4FA8,#6B3FA0); }
.lead { margin: 0 0 4px; }
.sec { font-family: "Fraunces", Georgia, serif; color: #4D2C78; font-size: 11.5pt; font-weight: 700; margin: 16px 0 7px; break-after: avoid; }
p { margin: .5em 0; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 26px; margin: 4px 0; }
.field { border-bottom: 1px solid #9a9a9a; min-height: 30px; padding: 2px 2px 0; }
.field span { font-size: 8.5pt; color: #555; }
.field.wide { grid-column: 1 / -1; }
.opt { display: flex; gap: 9px; align-items: flex-start; margin: 6px 0; break-inside: avoid; }
.box { width: 12px; height: 12px; border: 1.5px solid #555; border-radius: 2px; flex: 0 0 auto; margin-top: 2px; }
.fill { display: inline-block; min-width: 70px; border-bottom: 1px solid #9a9a9a; }
.feerow { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid #9a9a9a; padding: 4px 2px; margin-top: 6px; }
.feerow b { font-weight: 600; }
.ack { font-size: 9.5pt; color: #222; }
.sign { margin-top: 34px; }
.sign .line { border-top: 1px solid #555; }
.sign .cap { font-size: 8.5pt; color: #555; margin-top: 4px; }
.acct .field { max-width: 78%; }
.pagebreak { break-before: page; }
</style>
</head>
<body>
<header class="doc-head">
<img src="../public/logo/bildmarke.svg" alt="" />
<div>
<p class="doc-kicker">Förderverein Kitafreunde Regenbogen e.V.</p>
<h1 class="doc-title">Aufnahmeantrag</h1>
<p class="doc-meta">für Vereinsmitglieder</p>
</div>
</header>
<div class="rule"></div>
<p class="lead">Hiermit beantrage ich die Aufnahme als Mitglied in den Verein „Kitafreunde Regenbogen e.V.".</p>
<p class="sec">Persönliche Angaben</p>
<div class="grid2">
<div class="field"><span>Name</span></div>
<div class="field"><span>Vorname</span></div>
<div class="field"><span>Straße, Hausnummer</span></div>
<div class="field"><span>PLZ, Ort</span></div>
<div class="field"><span>Telefon</span></div>
<div class="field"><span>E-Mail</span></div>
<div class="field"><span>Geburtsdatum</span></div>
<div class="field"><span>Eintrittsdatum</span></div>
<div class="field wide"><span>Die Aufnahme in den Verein wird beantragt ab</span></div>
</div>
<p class="sec">Ich beantrage die Aufnahme als</p>
<div class="opt"><span class="box"></span><span>passives Mitglied, Einzelperson, Mindestbeitrag: 6,00 €</span></div>
<div class="opt"><span class="box"></span><span>passives Mitglied, juristische Person, Mindestbeitrag: 240,00 €</span></div>
<div class="opt"><span class="box"></span><span>passives Mitglied, Kinder bis zum vollendeten 16. Lebensjahr, beitragsfrei</span></div>
<div class="opt"><span class="box"></span><span>aktives Mitglied, ermäßigt, Mindestbeitrag: 6,00 €</span></div>
<div class="opt"><span class="box"></span><span>aktives Mitglied, Mindestbeitrag: 12,00 €</span></div>
<p class="sec">Mitgliedsbeitrag</p>
<div class="feerow"><b>Aufnahmegebühr einmalig</b><span>5,00 €</span></div>
<div class="opt"><span class="box"></span><span>Mindestbeitrag siehe oben</span></div>
<div class="opt"><span class="box"></span><span>ich zahle einen höheren Beitrag von <span class="fill">&nbsp;</span> EUR.</span></div>
<p style="margin-top:12px">Die Zahlung des Mitgliedsbeitrags erfolgt jährlich 01.04 per</p>
<div class="opt"><span class="box"></span><span>Lastschrift, die Einzugsermächtigung ist beigefügt</span></div>
<div class="opt"><span class="box"></span><span>Überweisung</span></div>
<p class="sec">Aufnahme</p>
<p>Die Aufnahme in den Verein erfolgt auf Beschluss des Vorstandes.</p>
<p class="sec">Regularien des Vereins</p>
<p class="ack">Ich erkenne mit meiner Unterschrift die Satzung des Vereins sowie die Festsetzungen der Beiträge in der jeweils gültigen Fassung an. Mit meiner Unterschrift bestätige ich zudem, die Satzung des Vereins in ihrer aktuell gültigen Fassung erhalten zu haben.</p>
<p class="sec">Einwilligung in den Versand von Rundschreiben</p>
<p class="ack">Ich bin damit einverstanden, dass ich Rundschreiben des Vereins erhalte. Diese Einwilligung kann von Ihnen jederzeit ohne Angaben von Gründen widerrufen werden. Die Rechtmäßigkeit der Verarbeitung vor Erhalt des Widerrufs bleibt hiervon unberührt.</p>
<p class="sec">Datenschutzhinweise</p>
<p class="ack">Der Schutz personenbezogener Daten ist uns ein wichtiges Anliegen. Deshalb achten wir auf die Einhaltung der datenschutzrechtlichen Vorgaben, welche sich insbesondere aus der Europäischen Datenschutz-Grundverordnung (DS-GVO) und aus dem Bundesdatenschutzgesetz (BDSG) ergeben. In der beigefügten Anlage informieren wir Sie über die Einzelheiten der von uns zur Erfüllung der Vereinsmitgliedschaft durchgeführten Verarbeitung personenbezogener Daten und Ihrer jeweiligen Rechte als betroffene Person.</p>
<div class="sign">
<div class="line"></div>
<div class="cap">Ort, Datum, Unterschrift (bei Minderjährigen der gesetzliche Vertreter/Erziehungsberechtigte)</div>
</div>
<!-- SEPA-Mandat auf neuer Seite -->
<div class="pagebreak"></div>
<header class="doc-head">
<img src="../public/logo/bildmarke.svg" alt="" />
<div>
<p class="doc-kicker">Förderverein Kitafreunde Regenbogen e.V.</p>
<h1 class="doc-title" style="font-size:18pt">SEPA-Lastschriftmandat</h1>
</div>
</header>
<div class="rule"></div>
<p>Hiermit ermächtige ich den Verein „Kitafreunde Regenbogen e.V." widerruflich, meinen Mitgliedsbeitrag und die sonstigen Beiträge und Gebühren, die gemäß Vereinssatzung oder Beitragsordnung zu leisten sind, bei Fälligkeit von meinem Konto durch Lastschrift einzuziehen. Zugleich weise ich mein Kreditinstitut an, die vom Verein „Kitafreunde Regenbogen e.V." auf mein Konto gezogenen Lastschriften einzulösen.</p>
<p>Gläubiger-ID und Mandatsreferenz werden mir gesondert mitgeteilt.</p>
<p><b>Hinweis:</b> Ich kann innerhalb von acht Wochen, beginnend mit dem Belastungsdatum, die Erstattung des belasteten Betrages verlangen. Es gelten dabei die mit meinem Kreditinstitut vereinbarten Bedingungen.</p>
<div class="acct" style="margin-top:18px">
<div class="field"><span>Name des Kontoinhabers</span></div>
<div class="field" style="margin-top:9px"><span>Straße, Hausnummer</span></div>
<div class="field" style="margin-top:9px"><span>PLZ, Ort</span></div>
<div class="field" style="margin-top:9px"><span>IBAN</span></div>
<div class="field" style="margin-top:9px"><span>BIC</span></div>
<div class="field" style="margin-top:9px"><span>Name des Kreditinstituts</span></div>
</div>
<p style="margin-top:16px" class="ack">Die Daten werden zur Vereinsverwaltung auf elektronischen Datenträgern während der Mitgliedschaft gespeichert.</p>
<div class="sign">
<div class="line"></div>
<div class="cap">Ort, Datum, Unterschrift</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,78 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>Beitragsordnung Kitafreunde Regenbogen e.V.</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600..800&family=Hanken+Grotesk:wght@400..700&display=swap" rel="stylesheet" />
<style>
@page { size: A4; margin: 16mm 18mm 18mm; }
* { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
html, body { margin: 0; }
body { font-family: "Hanken Grotesk", system-ui, sans-serif; color: #1a1a1a; font-size: 10.5pt; line-height: 1.6; }
.doc-head { display: flex; align-items: center; gap: 14px; }
.doc-head img { height: 46px; width: auto; }
.doc-kicker { font-size: 9pt; color: #555; margin: 0; }
.doc-title { font-family: "Fraunces", Georgia, serif; font-size: 22pt; font-weight: 800; color: #2A2433; margin: 0; line-height: 1; }
.doc-meta { font-size: 9pt; color: #555; margin: 2px 0 0; }
.rule { height: 6px; border-radius: 99px; margin: 10px 0 22px; background: linear-gradient(90deg,#E8192C,#F5820D,#F9C80E,#00A651,#00AEEF,#3B4FA8,#6B3FA0); }
h2 { font-family: "Fraunces", Georgia, serif; color: #4D2C78; font-size: 12.5pt; font-weight: 700; margin: 1.5em 0 .5em; padding-top: .7em; border-top: 1px solid #ddd; break-after: avoid; }
h2:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
p { margin: .6em 0; }
ol.lvl1 { list-style: none; counter-reset: l1; margin: .5em 0; padding: 0; }
ol.lvl1 > li { counter-increment: l1; position: relative; padding-left: 2.1em; margin: .45em 0; break-inside: avoid; }
ol.lvl1 > li::before { content: counter(l1) "."; position: absolute; left: 0; top: 0; font-weight: 700; color: #4D2C78; font-variant-numeric: tabular-nums; }
ol.lvl2 { list-style: none; counter-reset: l2; margin: .4em 0; padding: 0; }
ol.lvl2 > li { counter-increment: l2; position: relative; padding-left: 2.1em; margin: .35em 0; break-inside: avoid; }
ol.lvl2 > li::before { content: counter(l2, lower-alpha) ")"; position: absolute; left: 0; top: 0; font-weight: 600; color: #B45309; }
.foot { margin-top: 1.8em; padding-top: .7em; border-top: 1px solid #ddd; font-size: 8pt; color: #777; text-align: center; }
</style>
</head>
<body>
<header class="doc-head">
<img src="../public/logo/bildmarke.svg" alt="" />
<div>
<p class="doc-kicker">Förderverein Kitafreunde Regenbogen e.V.</p>
<h1 class="doc-title">Beitragsordnung</h1>
<p class="doc-meta">Beitrags- und Gebührenordnung · beschlossen 06.04.2019</p>
</div>
</header>
<div class="rule"></div>
<h2>§ 1 Grundsatz</h2>
<p>Diese Beitragsordnung ist nicht Bestandteil der Satzung. Sie regelt die Beitragsverpflichtung der Mitglieder sowie Höhe und Umfang zu erhebender Gebühren. Sie kann nur von der Mitgliederversammlung des Vereins geändert werden.</p>
<p>Mögliche Gebühren kann hingegen der Vorstand entsprechend festgelegen. Eine Gebührentabelle wird bei Bedarf im Aushang des Vereins in der Kita Regenbogen veröffentlich.</p>
<h2>§ 2 Beschlüsse</h2>
<p>Die Mitgliederversammlung beschließt die Höhe der Beiträge. Der festgesetzte Beitrag wird jeweils zum 01.04. eines jeden Jahres erhoben und ist mit diesem Zeitpunkt fällig.</p>
<h2>§ 3 Beiträge</h2>
<ol class="lvl1">
<li>Die Aufnahmegebühr beträgt 5,00 EUR und ist mit der nächsten Beitragsabrechnung fällig.</li>
<li>Bei einem Vereinsbeitritt nach dem 01.04. eines Jahres werden Aufnahmegebühr und Mitgliedbeitrag sofort fällig.</li>
<li>Der Beitrag pro Kalenderjahr beträgt mindestens:
<ol class="lvl2">
<li>Passive Mitgliedschaft, Einzelperson ohne Stimmrecht: 6,00 EUR (Fördermitglied)</li>
<li>Passive Mitgliedschaft, juristische Person: 240,00 EUR (Fördermitglied)</li>
<li>Passive Mitgliedschaft, Kinder bis zum vollendeten 16. Lebensjahr: kostenlos</li>
<li>Aktive Mitgliedschaft, ermäßigt (Soziale Kriterien, Mitarbeiter der Kita): 6,00 EUR</li>
<li>Aktive Mitgliedschaft, normal: 12,00 EUR</li>
</ol>
</li>
<li>Der Mitgliedsbeitrag wird durch Einzugsermächtigung zum 01.04. eines jeden Jahres vom Girokonto abgebucht.</li>
<li>Mitglieder, die nicht am SEPA-Lastschriftverfahren teilnehmen, entrichten ihre Beiträge</li>
<li>Anfallende Rücklastschriftgebühren zahlt das Mitglied.</li>
<li>Bei Mahnungen werden Mahngebühren in Höhe von 3,00 EUR pro Mahnung gegenüber dem Mitglied erhoben.</li>
<li>Bei Überweisungen bitte als Verwendungszweck den Namen und die Mitgliedsnummer mit angeben.</li>
</ol>
<h2>§ 4 Spenden und Spendenbescheinigungen</h2>
<p>Zur Erfüllung der satzungsgemäßen Vereinsziele sind Spenden erwünscht. Die Spenden können Ihrem Zweck entsprechend ausgewiesen sein. Spendenbescheinigungen werden am Jahresende gemäß den gesetzlichen Bestimmungen ausgestellt.</p>
<h2>§ 5 Gültigkeit</h2>
<p>Die Beitragsordnung wurde am 06.04.2019 auf der Gründungsversammlung beschlossen und tritt mit Eintragung des Vereins ins Vereinsregister in Kraft.</p>
<p class="foot">Beitrags- und Gebührenordnung „Kitafreunde Regenbogen e.V." · beschlossen 06.04.2019</p>
</body>
</html>

37
docs-src/gen.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/usr/bin/env bash
#
# Regeneriert die gebrandeten PDFs in public/dokumente/.
#
# Voraussetzungen:
# - Google Chrome installiert (/Applications/Google Chrome.app)
# - Für satzung.pdf: Dev-Server läuft -> npm run dev (http://localhost:4321)
#
# Quelle der PDFs:
# - satzung.pdf <- die Astro-Seite /satzung (Print-CSS == PDF)
# - beitragsordnung.pdf <- docs-src/beitragsordnung.html
# - aufnahmeantrag.pdf <- docs-src/aufnahmeantrag.html
#
# Aufruf: bash docs-src/gen.sh
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
CHROME="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
OUT="$ROOT/public/dokumente"
mkdir -p "$OUT"
gen() { # $1 = url/file, $2 = output filename
local prof; prof="$(mktemp -d)"
# perl alarm = harte 45s-Schranke (macOS hat kein `timeout`; Chrome hängt gelegentlich)
perl -e 'alarm 45; exec @ARGV' \
"$CHROME" --headless=new --disable-gpu --no-first-run --no-default-browser-check \
--user-data-dir="$prof" --hide-scrollbars --no-pdf-header-footer \
--print-to-pdf="$OUT/$2" "$1" >/dev/null 2>&1 || true
rm -rf "$prof"
echo " -> $2 ($(du -h "$OUT/$2" | cut -f1))"
}
echo "Generiere PDFs ..."
gen "http://localhost:4321/satzung" "satzung.pdf"
gen "file://$ROOT/docs-src/beitragsordnung.html" "beitragsordnung.pdf"
gen "file://$ROOT/docs-src/aufnahmeantrag.html" "aufnahmeantrag.pdf"
echo "Fertig."