mirror of
https://github.com/netz39/www.netz39.de.git
synced 2025-01-18 20:10:12 +01:00
107 lines
4.8 KiB
Markdown
107 lines
4.8 KiB
Markdown
# [www.netz39.de](https://www.netz39.de)
|
|
|
|
## Warum Jekyll?
|
|
|
|
Unsere Webseite setzt aus folgenden Gründen auf Jekyll, einen statischen Website-Generator:
|
|
|
|
- **Einfache Handhabung:** Jekyll ermöglicht es, Inhalte in Markdown zu schreiben, was die Erstellung und Aktualisierung von Webseiten vereinfacht.
|
|
|
|
- **Schnelle Ladezeiten:** Da Jekyll statische Seiten generiert, werden die Webseiten schnell geladen.
|
|
|
|
- **GitHub Pages Integration:** Jekyll wird von GitHub Pages unterstützt, was bedeutet, dass wir unsere Website direkt aus dem GitHub-Repository hosten können.
|
|
|
|
## Neue Blogeinträge erstellen:
|
|
|
|
1. **Blogeintrag erstellen:**
|
|
|
|
- Erstelle eine neue Markdown-Datei im `_posts`-Verzeichnis unter das aktuelle Jahr. Benenne die Datei nach dem Format `YYYY-MM-DD-titel-des-eintrags.md`
|
|
- **Front Matter:** Füge am Anfang der Datei das YAML-Front Matter hinzu. Das Front Matter enthält Metadaten für den Blogeintrag, wie z.B. den Layout-Typ, den Titel, den Autor und das Veröffentlichungsdatum. Hier ein Beispiel für das Front Matter:
|
|
|
|
```yaml
|
|
---
|
|
layout: post
|
|
title: "Titel des Blogeintrags"
|
|
author: MaxMustermann
|
|
date: 2023-10-20
|
|
feature-img: "https://cdn.netz39.de/img/feature-img.jpg" # optional
|
|
thumbnail: "https://cdn.netz39.de/img/thumbnail-img.jpg" # optional
|
|
---
|
|
```
|
|
- Schreibe den Inhalt deines Blogeintrags im Markdown-Format unterhalb des Front Matter.
|
|
- Bilder eines Blogeintrags werden unter `https://cdn.netz39.de/img/post-img`in das jeweilige Jahr abgelegt.
|
|
|
|
2. **Pull Request erstellen:**
|
|
|
|
- Erstelle einen neuen Branch, füge die Markdown-Datei hinzu und committe/pushe sie.
|
|
- Erstelle einen Pull Request von deinem Branch zum Hauptbranch im GitHub-Repository.
|
|
- Teammitglieder können deine Änderungen überprüfen und den Pull Request akzeptieren.
|
|
|
|
## Neue Events erstellen:
|
|
|
|
- Analog zu "Blogeintrag erstellen" wird im `_events`-Verzeichnis eine Markdown-Datei erstellt.
|
|
- Das Front Matter sollte wie folgt aussehen:
|
|
```yaml
|
|
---
|
|
layout: event
|
|
title: "Titel des Events"
|
|
author: MaxMustermann # optional, soll angegeben werden, wenn du der Ansprechpartner des Events bist
|
|
event:
|
|
start: 2023-10-20 19:00:00 # Datum, an dem das Event stattfindet. Die Zeit ist optional
|
|
end: 2023-10-20 21:00:00 # optional, Zeitpunkt, an dem das Event endet
|
|
organizer: "Netz39 Team <kontakt@netz39.de>" # optional, Kontaktdaten im ical Event
|
|
location: "Netz39 e.V." # optional, Ort des Events
|
|
---
|
|
```
|
|
- Unterhalb des Front Matters die Beschreibung des Events in Markdown aufschreiben
|
|
- Bei der Angabe der Zeiten müssen folgende Regeln eingehalten werden:
|
|
- `event.end` darf nicht vor `event.start` liegen
|
|
- Wenn `event.end` angegeben ist, dann muss `event.start` eine Uhrzeit enthalten
|
|
- Wenn `event.end` weggelassen wird, dann wird das Ereignis auf der [Homepage](https://www.netz39.de/events) ganztagig und im ical Feed mit Uhrzeit angezeigt
|
|
- Wenn keine Uhrzeit in `event.start` angegeben ist, dann wird das Event auch im ical Feed ganztagig angezeigt
|
|
- Mehrtägige Events werden nur mit Angabe der Uhrzeiten korrekt dargestellt
|
|
|
|
## Installation und lokale Entwicklung mit Docker:
|
|
|
|
1. Docker und Docker Compose auf deinem System installieren
|
|
2. Docker Container im root-Verzeichnis starten:
|
|
```bash
|
|
docker-compose up
|
|
```
|
|
|
|
Der Jekyll-Buildserver wird nun in einem Docker-Container gestartet und ist unter `http://localhost:4000` verfügbar. Du kannst Änderungen vornehmen, und sie werden automatisch in Echtzeit aktualisiert.
|
|
3. Nach der Entwicklung den Container mit `docker-compose down` beenden.
|
|
|
|
## git-lfs
|
|
|
|
Dieses Repository nutzt zur Verwaltung von großen Binärdaten (Bilder und PDFs) [git-lfs](https://git-lfs.com/). Zur Installation folge bitte der [Installationsanleitung für dein Betriebssystem](https://github.com/git-lfs/git-lfs#installing).
|
|
|
|
Die Arbeit mit den Dateien ändert sich durch die Verwendung von git-lfs nicht.
|
|
|
|
## pre-commit
|
|
|
|
Dieses Reoisitory nutzt [pre-commit](https://pre-commit.com/), um git pre-commit-hooks auszuführen.
|
|
|
|
### [Installation](https://pre-commit.com/#installation)
|
|
|
|
```bash
|
|
# install package
|
|
pip install pre-commit
|
|
# install pre-commit-hooks in repo
|
|
pre-commit install
|
|
# run (new) hooks against all files in repo
|
|
pre-commit run --all-files
|
|
```
|
|
|
|
### Genutzte hooks
|
|
|
|
Siehe [.pre-commit-config.yaml](./.pre-commit-config.yaml)
|
|
|
|
## License
|
|
|
|
© Netz39 e.V
|
|
|
|
- Uses [Type-on-strap](https://github.com/sylhare/Type-on-Strap) theme licensed under [The MIT License (MIT)](/LICENSE)
|
|
- Uses Pictures from [Pexels](https://www.pexels.com/) licensed under Creative Commons Zero (CC0) license
|
|
- Uses Fonts which are licensed under the [SIL Open Font License (OFL)](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL)
|
|
|
|
|