← Alle Rezepte

Mitmachen

Diese Rezeptdatenbank lebt davon, dass Rezepte dazukommen. Diese Anleitung erklärt, wie ihr ein neues Rezept hinzufügt oder ein bestehendes ändert. Ihr braucht dafür keine Programmiererfahrung – aber ein paar kleine Programme müssen einmalig auf eurem Rechner eingerichtet werden.

Was passiert grob: Ihr schreibt eine Textdatei mit dem Rezept, und die Website wird daraus automatisch gebaut und veröffentlicht.


Einmalige Einrichtung (lokal)

Schritt 1: Programme installieren

Ihr braucht vier Dinge auf eurem Rechner:

Was Wozu Windows macOS
Texteditor Rezept-Dateien schreiben und bearbeiten VS Code oder Notepad++ VS Code oder BBEdit
Git Änderungen verwalten und hochladen Git for Windows (enthält auch „Git Bash”) Im Terminal git eingeben → macOS fragt automatisch nach Installation
Node.js Website lokal auf eurem Rechner testen nodejs.org (Version 22 oder neuer) Homebrew: brew install node
Terminal Befehle eingeben Git Bash (liegt Git for Windows bei) Terminal.app (bereits vorinstalliert)

Tipp: In VS Code gibt es eine Erweiterung für Cooklang-Syntax-Hervorhebung – sucht im Erweiterungen-Marktplatz nach „Cooklang”. Nicht notwendig, aber angenehm beim Schreiben.

Tipp für Windows: Nach der Installation von Git for Windows könnt ihr überall mit der rechten Maustaste „Git Bash Here” öffnen – das ist euer Terminal.

Schritt 2: SSH-Key erstellen (einmalig)

Mit einem SSH-Key könnt ihr euch sicher bei Codeberg anmelden, ohne jedes Mal ein Passwort eingeben zu müssen.

Öffnet das Terminal und gebt ein:

ssh-keygen -t ed25519 -C "eure@email.de"

Drückt bei allen Rückfragen einfach Enter (der Standardpfad passt, eine Passphrase ist optional).

Danach gibt es zwei Dateien:

Den Inhalt der öffentlichen Datei könnt ihr so anzeigen:

cat ~/.ssh/id_ed25519.pub

Schritt 3: Codeberg-Account erstellen (einmalig)

Geht auf codeberg.org und legt euch einen kostenlosen Account an.

Zugang zum Repository: Ihr braucht keinen Schreibzugriff auf das Original-Repository. Ihr arbeitet über einen eigenen Fork – eine Kopie des Repositories in eurem Account (siehe Schritt 6). Damit kann jede:r Änderungsvorschläge per Pull Request einbringen, unabhängig von Zugriffsrechten.

Schritt 4: Öffentlichen SSH-Key auf Codeberg hochladen (einmalig)

  1. Loggt euch bei codeberg.org ein.
  2. Klickt oben rechts auf euer Profilbild → Settings.
  3. Im linken Menü: SSH / GPG KeysAdd Key.
  4. Gebt dem Key einen Namen (z. B. „Mein Laptop”) und fügt den Inhalt aus ~/.ssh/id_ed25519.pub ein.
  5. Klickt auf Add Key.

Schritt 5: Git konfigurieren (einmalig)

Damit eure Commits mit eurem Namen und eurer E-Mail-Adresse versehen werden:

git config --global user.name "Euer Name"
git config --global user.email "eure@email.de"

Verwendet am besten dieselbe E-Mail-Adresse wie bei eurem Codeberg-Account.

Tipp für Windows: Führt außerdem diesen Befehl aus, damit Zeilenumbrüche korrekt behandelt werden:

git config --global core.autocrlf true

Schritt 6: Repository forken und klonen (einmalig)

Das „Repository” ist der Ort, an dem alle Dateien der Website gespeichert sind. Ihr arbeitet nicht direkt am Original, sondern an einer eigenen Kopie davon, einem sogenannten Fork – so braucht ihr keinen Schreibzugriff auf das Original-Repository.

  1. Geht auf codeberg.org/klimaschutz-einfach-machen/Rezeptdatenbank und klickt oben rechts auf Fork. Übernehmt die vorausgefüllten Angaben und bestätigt mit Fork Repository. Ihr landet danach bei eurer eigenen Kopie unter codeberg.org/<euer-benutzername>/Rezeptdatenbank.

  2. Holt euch eine lokale Kopie eures Forks (nicht des Originals):

    git clone ssh://git@codeberg.org/<euer-benutzername>/Rezeptdatenbank.git
    cd Rezeptdatenbank
    npm install

    Ersetzt <euer-benutzername> durch euren Codeberg-Benutzernamen. npm install lädt einmalig alle Programmbausteine herunter, die die Website zum Bauen braucht.

Was ist ein Fork? Eine vollständige, eigene Kopie eines Repositories in eurem Account. Ihr könnt darin frei arbeiten, ohne dass es das Original beeinflusst. Über einen Pull Request schlagt ihr eure Änderungen später dem Original vor (siehe Schritt 7 unten).


Neues Rezept anlegen – Schritt für Schritt

Schritt 1: Fork aktualisieren und neuen Branch erstellen

Da ihr an einem Fork arbeitet, kann sich das Original-Repository inzwischen weiterentwickelt haben. Bevor ihr loslegt, gleicht ihr euren Fork damit ab:

  1. Geht auf die Codeberg-Seite eures Forks (codeberg.org/<euer-benutzername>/Rezeptdatenbank). Erscheint dort der Button Sync Fork, klickt ihn an – das übernimmt neue Änderungen vom Original in euren Fork.
  2. Holt euch den aktuellen Stand danach lokal:
git checkout main
git pull
git checkout -b rezept/mein-neues-rezept

Was ist ein Branch? Stellt euch die Website wie ein gemeinsames Dokument vor. Ein Branch ist eine persönliche Arbeitskopie davon – ihr könnt darin in Ruhe arbeiten, ohne dass andere sofort betroffen sind. Erst wenn ihr fertig seid, werden eure Änderungen in die „echte” Version übernommen.

Schritt 2: Rezept-Ordner und -Datei anlegen

Rezepte liegen unter src/content/rezepte/<Kategorie>/<Rezeptname>/<Rezeptname>.cook. Legt einen neuen Ordner mit einem kurzen, beschreibenden Namen an (ohne Umlaute/Sonderzeichen) und darin eine gleichnamige .cook-Datei, z. B.:

src/content/rezepte/Hauptgerichte/Kuerbissuppe/Kuerbissuppe.cook

<Kategorie> ist der grobe Bereich (z. B. Brotaufstriche, Hauptgerichte, Desserts) und bestimmt, wo das Rezept auf der Website einsortiert wird.

Schritt 3: Rezept schreiben

Eine .cook-Datei besteht aus zwei Teilen: dem Frontmatter (die Infos zum Rezept zwischen den ---) und dem Rezepttext darunter, geschrieben in Cooklang.

---
title: Kürbissuppe
tags:
  - Vegan
  - Herbst
servings: 4
prep time: 15 Minuten
cook time: 25 Minuten
author: Euer Name
---
= Zubereitung
@Kürbis{500%g} schälen, entkernen und würfeln. @Zwiebel{1} fein hacken.

Zwiebel in @Olivenöl{1%EL} in einem #Topf glasig dünsten, Kürbis zugeben und kurz mitbraten.
Mit @Gemüsebrühe{600%ml} auffüllen und etwa ~{20%Minuten} köcheln, bis der Kürbis weich ist.

Mit dem #Pürierstab fein pürieren, mit @Salz{} und @Pfeffer{} abschmecken.

Frontmatter-Felder:

Feld Bedeutung Pflicht? Beispiel
title Name des Rezepts ja Kürbissuppe
tags Liste von Schlagworten nein Vegan, Herbst
servings Anzahl Portionen nein 4
prep time Vorbereitungszeit nein 15 Minuten
cook time Zubereitungszeit nein 25 Minuten
author Wer hat das Rezept beigetragen/angepasst? nein Euer Name

Wichtig: Andere Feldnamen als die oben genannten führen zu einem Fehler beim Bauen der Website (nicht zu einem stillen Ignorieren) – so fallen Tippfehler sofort auf.

Cooklang-Kurzreferenz für den Text unterhalb des Frontmatters:

Element Syntax Beispiel
Zutat mit Menge @Name{Menge%Einheit} @Mehl{200%g}
Zutat ohne feste Menge @Name{} @Salz{}
Zutat mit Leerzeichen im Namen @Zwei Wörter{Menge%Einheit} @Rote Bete{1%große}
Küchengerät #Name #Pfanne
Timer ~{Menge%Einheit} ~{20%Minuten}
Abschnitts-Überschrift = Titel = Vorbereitung
Neuer Schritt Leerzeile

Jede mit @ oder # markierte Zutat/jedes Küchengerät taucht automatisch in der Zutaten- bzw. Küchengeräte-Liste der Seite auf. Wird eine Zutat später im Text nochmal erwähnt, ohne dass eine zusätzliche Menge dazukommt, einfach ohne @ schreiben – sonst erscheint sie doppelt in der Liste.

Schritt 4: Bilder hinzufügen (optional)

Legt Fotos einfach in denselben Ordner wie die .cook-Datei, mit demselben Namen (plus fortlaufender Nummer bei mehreren Bildern):

src/content/rezepte/Hauptgerichte/Kuerbissuppe/
├── Kuerbissuppe.cook
├── Kuerbissuppe-1.jpg
└── Kuerbissuppe-2.jpg

Bei einem Bild wird es als einzelnes Titelbild angezeigt, bei zwei oder mehr automatisch als Karussell.

Schritt 5: Seite lokal testen

npm run dev

Dann im Browser http://localhost:4321 öffnen und das neue Rezept kontrollieren. Mit Strg+C stoppt ihr den Server wieder.

Schritt 6: Änderungen speichern und hochladen

git add .
git commit -m "Kürbissuppe hinzugefügt"
git push -u origin rezept/mein-neues-rezept

Was passiert hier?

  • git add . – sagt Git: „Merke dir alle meine Änderungen.”
  • git commit -m "..." – speichert die Änderungen mit einer kurzen Beschreibung (wie „Speichern unter” mit Notiz).
  • git push – lädt alles in euren Fork hoch (origin zeigt auf euren Fork, nicht auf das Original).

Schritt 7: Pull Request stellen

Geht auf euren Fork bei Codeberg (codeberg.org/<euer-benutzername>/Rezeptdatenbank) – meist erscheint dort direkt nach dem Push ein Banner mit dem Vorschlag, einen Pull Request zu erstellen. Alternativ öffnet ihr das Original-Repository und erstellt dort einen Pull Request von eurem Branch (<euer-benutzername>:rezept/mein-neues-rezept) nach main.

Was ist ein Pull Request? Das ist eine Anfrage: „Ich habe etwas geändert – kann jemand drüberschauen und es freigeben?” So können andere prüfen, ob alles passt, bevor die Änderung live geht.

Sobald der Pull Request angenommen (gemergt) wurde, ist das Rezept auf der Website sichtbar.

Schritt 8: Aufräumen

Nach dem Merge könnt ihr euren Branch (in eurem Fork) löschen:

git checkout main
git pull
git branch -d rezept/mein-neues-rezept
git push origin --delete rezept/mein-neues-rezept

Die ersten drei Befehle löschen den Branch auf eurem Rechner, der letzte löscht ihn auch auf Codeberg.


Technik (Hintergrund)

Die Seite wird mit Astro gebaut. Rezepte werden als Cooklang-Dateien (.cook) unter src/content/rezepte/ gepflegt und über Astros Content Collections eingelesen – Fehler im Frontmatter (z. B. Tippfehler bei Feldnamen) werden dabei schon beim Bauen der Website erkannt, nicht erst danach.

Dateistruktur

src/content/
├── rezepte/
│   └── <Kategorie>/
│       └── <Rezeptname>/
│           ├── <Rezeptname>.cook
│           └── <Rezeptname>-1.jpg   (optional, mehrere möglich)
├── legal/                          # Impressum, Datenschutz, Kontakt
└── contribute/                     # diese Anleitung

Nützliche Git-Befehle

Befehl Beschreibung
git status Zeigt geänderte und neue Dateien
git diff Zeigt die konkreten Änderungen im Detail
git log --oneline Kompakte Übersicht der letzten Commits
git checkout main Wechselt zum main-Branch
git checkout -b <name> Erstellt und wechselt zu einem neuen Branch
git add . Nimmt alle Änderungen in den nächsten Commit auf
git commit -m "..." Erstellt einen Commit mit Beschreibung
git push Überträgt Commits zum Remote-Repository
git pull Holt aktuelle Änderungen vom Remote-Repository

Glossar

Begriff Bedeutung
Repository Der zentrale Speicherort aller Dateien der Website – wie ein gemeinsamer Ordner in der Cloud
Fork Eine eigene, komplette Kopie des Repositories im eigenen Account – nützlich ohne Schreibzugriff auf das Original
Branch Eine persönliche Arbeitskopie des Repositories, in der man ungestört arbeiten kann
Commit Ein gespeicherter Zwischenstand – wie „Speichern” mit einer kurzen Notiz, was geändert wurde
Pull Request Eine Anfrage, eigene Änderungen in die Hauptversion zu übernehmen – andere können vorher drüberschauen
Merge Das Zusammenführen eines Branches mit der Hauptversion (main)
Frontmatter Der strukturierte Kopfbereich einer Rezeptdatei zwischen ---, der Metadaten wie Titel und Zutaten-Zeiten enthält
Cooklang Eine einfache Schreibweise für Rezepte, bei der Zutaten (@), Küchengeräte (#) und Timer (~) markiert werden
Content Collection Astros System zum strukturierten Einlesen und Validieren von Inhalten wie den Rezept-Dateien
main Der Haupt-Branch – das ist die „offizielle” Version der Website, die live geschaltet ist