# swablab.de Repository für den Quellcode unserer Vereinswebsite [swablab.de](https://swablab.de). Wir verwenden die folgenden Technologien: - [Astro](https://astro.build) für den Inhalt und die Struktur - [DaisyUI](https://daisyui.com)/[Tailwind](https://tailwindcss.com) für das Design - [Deno](https://deno.com) für den Build - [nginx](https://nginx.org) für die Bereitstellung ## Entwicklung Um die Entwicklung einfach und einheitlich zu gestalten, benutzen wir [Devcontainer](https://containers.dev) in [VSCode](https://code.visualstudio.com). Wenn du das Repo in VSCode mit der Devcontainer-Erweiterung öffnest, dann werden alle Tools und Erweiterungen für die Entwicklung automatisch für dich installiert. Wenn du das nicht willst oder kannst, musst du Deno von Hand installieren. Folgende Tasks sind definiert und stehen auch als VSCode Tasks zur Verfügung: - `deno task install`: Installiert/Updated die Abhängigkeiten - `deno task check`: Überprüft den Code auf Fehler - `deno task dev`: Startet den Dev-Server und läd bei Änderungen neu - `deno task build`: Baut die Website (wie beim Deployment) - `deno task preview`: Zeigt die gebaute Website an Der Dev-Server ist sehr praktisch zum Entwickeln, verhält sich aber manchmal etwas anders als der Build. Deswegen sollte nach Änderungen noch einmal die Funktionalität mit dem Preview-Server getestet werden. ## Änderungen Wenn du etwas ändern willst oder du einen Fehler bemerkt hast, dann öffne gerne ein [Issue](https://git.swablab.de/swablab/website/issues) und beschreibe möglichst genau dein Problem. Alternativ kannst du die Änderung auch gerne selbst entwickeln und einen [Pull Request](https://git.swablab.de/swablab/website/pulls) stellen. ## Deployment Wenn Änderungen den `main`-Branch erreichen, wird automatisch eine [Pipeline](https://git.swablab.de/swablab/website/actions) gestartet. Diese baut die Website neu und pusht das Image als [Package](https://git.swablab.de/swablab/website/packages). Dort wird es automatisch von Watchtower regelmäßig aktualisiert.