Öffentliche Webseite der WTF Kooperative eG https://wtf-eg.de/
Go to file
muli 58bca7395f
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/promote/www Build is passing Details
Merge pull request 'Newsletter Maerz 2024 hinzugefuegt' (#256) from newsletter-maerz-2024 into main
Reviewed-on: #256
2024-04-06 09:44:34 +02:00
assets Update wtf-go-vorstand.pdf 2024-02-21 15:38:16 +01:00
content fix: Letzte Änderungen für März Newsletter eingepflegt. 2024-04-06 09:41:01 +02:00
databags feat: Selbstverständnis hinzugefügt. 2024-01-29 18:29:31 +01:00
flowblocks feat: Portfolio auf "Was wir tun" hinzugefügt. 2023-11-19 15:12:02 +01:00
models feat: Portfolio auf "Was wir tun" hinzugefügt. 2023-11-19 15:12:02 +01:00
templates Fix: Fix: Fix: *hust, hust*: Vorstand. 2024-04-04 19:19:36 +02:00
.drone.yml Use pip and venv for installation 2023-05-02 22:37:07 +02:00
.gitattributes Add Podcast Data 2021-03-31 20:47:44 +02:00
.gitignore chore: Paketverwaltungsgedöns ausgeblendet. 2023-08-08 21:08:08 +02:00
LICENCE feat: Jahreszahlen auf 2023 geändert. 2023-01-10 22:08:11 +01:00
README.md „README.md“ ändern 2023-03-23 15:14:19 +01:00
requirements.txt Pin lektor to version 3.3.8 2023-08-08 21:08:31 +02:00
wtf-eg.lektorproject feat: Deployment fixes für live implementieren. 2023-08-08 21:27:40 +02:00

README.md

Build Status

Öffentliche Seite der WTF Kooperative eG

Öffentliche Website der Genossenschaft auf Basis des Static-Site-Generators Lektor.

WTF Logo

Das Git Repository zur Webseite ist auf git.wtf-eg.de/ag_kommunikation/webseite.

Lokales entwickeln

Vorbereitung

Installation von Lektor, siehe offizielle Doku.

# install git requirements
sudo apt install git-lfs

# install lektor requirements
sudo apt install python3-pip imagemagick

# clone git repo to folder wtf-webseite
git clone https://git.wtf-eg.de/ag_kommunikation/webseite.git wtf-webseite

# change to repo
cd wtf-webseite

# install lfs
git lfs install

# download all LFS files
git lfs fetch

# create a virtual Python environmenty `venv`
python3 -m venv venv

# activate the virtual Python environment
source venv/bin/activate

# install the packages listed in [requirements.txt](./requirements.txt) using `pip`
pip install -r requirements.txt

# run lektor
lektor server

Server starten

Der Server kann nun per lektor server gestartet werden und sollte unter http://127.0.0.1:5000/ erreichbar sein.

Git Magie

Bevor du die Änderungen an der Webseite commitest, möchtest du dir vielleicht anschauen, welche Dateien sich geändert haben. Der Befehl git status ist hier dein Freund.

Da wir das direkte pushen auf den main Branch verbieten, möchtest du vermutlich einen neuen Branch erstellen. Das geht über git checkout -b <branch_name>. Mit git status siehst du auch, auf welchem branch du bist. Den kannst du per git push origin <branch_name> dann auch auf den Webserver pushen. Pushen kannst du, was du commitest hast. git commit Eine aussagekräftige commit-beschreibung wird gerne gesehen.

LFS Überspringen.

Wir verwenden LFS zum Speichern von großen Dateien wie den Podcast, Bilder und so weiter. Wenn du ganz genau weißt, was du machen willst und in Kauf nimmst, dass nicht alle Elemente der Webseite bei dir lokal laden, kannst du das auch überspringen. Der Trick ist folgende Option:

export GIT_LFS_SKIP_SMUDGE=1
git clone <git_repo>

(Da das Rendern der Startseite die Bilder benötigt, willst du dann im lektor direkt auf eine andere Unterseite wechseln. Die Seite http://localhost:5000/admin/ sollte nützlich sein!)

Deployment

Per Drone

Drone testet bereits automatisch den eingecheckten Code im main-Branch und für Pull Requests. Deployments finden nicht automatisch statt, sondern müssen angestoßen werden.

Wähle dazu den erfolgreichen Build, den du deployen möchtest unter https://drone.wtf-eg.de/ag_kommunikation/webseite aus. Rechts oben findest du dann im 3-Punkte-Menü die Aktion Promote. Als Target kannst du spielwiese oder www verwenden.

Per Hand

Das Deployment sollte für maximale Reproduzierbarkeit und Nachvollziehbarkeit immer über Drone stattfinden. In Ausnahmesituationen kann jedoch ein manuelles Deployment nötig sein.

lektor build
lektor deploy dev   # Deployment auf die Spielwiese
lektor deploy live  # Deployment auf die Live-Seite