2026-02-07 00:02:19 +01:00
2026-01-20 14:23:32 +01:00
2026-02-06 23:46:12 +01:00
2025-06-24 22:04:42 +02:00
2024-12-06 14:42:19 +01:00
2026-02-06 23:46:12 +01:00
2026-02-07 00:02:19 +01:00
2026-02-01 16:13:35 +01:00
2024-12-06 17:47:36 +01:00
2026-02-06 23:46:12 +01:00
2025-06-25 23:27:42 +02:00

50ohm.de

50ohm.de ist die Ausbildungsplattform des DARC e.V.

Dieses Repository enthält den Generator für die Seite 50ohm.de, der mit einer Directus-Datenbank als Quelle arbeitet.

Überblick

Die Ausbildungsmaterialien von 50ohm.de werden in einem erweiterten Marcdownformat geschrieben, intern als Darcdown bezeichnet. Kern des Generators ist ein Parser, der auf mistletoe basiert und um zusätzliche Syntax und Ausgabeformate erweitert wurde.

Die möglichen Ausgabeformate sind:

Prinzipiell lassen sich diese Generatoren auch losgelöst vom Directus einsetzen. Der zweite Teil des Generators liegt in src, unterteilt in die Prozessschritte Herunderladen (download.py) und Seite Bauen (build.py).

Hier werden alle Inhalte aus der Datenbank heruntergeladen und strukturiert in verschiedenen JSON-Dateien abgelegt. Diese dienen im Build-Prozess als Quelle für Abschnitte, Kapitelstruktur und weitere Inhalte.

In der build.py finden sich außerdem weitere Begleitfunktionen zum Renderprozess, z.B. das Übersetzen von Fragennummern in Fragen oder das Kopieren von Assets.

Mitmachen und Kontakt

Aktuell wird 50ohm durch ein kleines ehrenamtliches Entwicklerteam beim DARC e.V. betreut und weiterentwickelt. Falls du einen Fehler oder einen Funktionswunsch hast, schreibe gerne ein Issue. Auch über einen PR freuen wir uns! Wenn du inhaltliche Beiträge hast, kannst du diese über dieses Repository einreichen.

Bei Anfragen bitte die Email-Adresse [email protected] nutzen. Weiterhin findet man viele der Beitragenden im Matrix-Kanal 50ohm Contribution.

Python einrichten und Abhängigkeiten installieren

Dieses Projekt wurde mit uv aufgesetzt, ist aber genauso mit pip und venv kompatibel.

Wichtig ist, mit der richtigen Python-Version aus der .python-version zu arbeiten. Mit uv geht das ganz einfach:

$ uv venv
Using CPython 3.12.7
Creating virtual environment at .venv
$ source .venv/bin/activate

Die Dependencies müssen aus der requirements.txt installiert werden:

$ uv pip sync requirements.txt

Ausführen

Um 50ohm ausführen zu können, muss der Pfad zu einem lokal ausgechecktem Content-Repository in die config/config.json eingetragen werden. Ein Beispiel-Content-Repository für deutsche Inhalte findet sich hier: 50ohm-contents-dl.

Die 50ohm.de-Website wird mit folgendem Befehl vollständig gebaut:

$ python3 ./build.py

Anschließend ist der Einstiegspunkt in build/index.html zu finden.

S
Description
No description provided
Readme AGPL-3.0
15 MiB
Languages
JavaScript 93.8%
HTML 3.5%
Python 0.9%
CSS 0.7%
SCSS 0.7%
Other 0.4%