Kursdateien erstellen
Inhalte erstellen
Kursdateien erstellen
Aus dem Kursumriss werden jetzt Dateien: eine Kursübersicht und je eine Datei pro Lektion. Diese Lektion zeigt die Hugo-Befehle dafür und erklärt das Frontmatter.
Die Kursübersichtsdatei erstellen
- in das Projektverzeichnis wechseln
- den Kurs mit dem Hugo-Befehl anlegen:
hugo new courses/<kebab-style-course-name>/_index.md
- die Datei
_index.mdöffnen und das Frontmatter ausfüllen:
---
title: "Ihr Kurs Titel"
description: "Eine kurze Beschreibung Ihres Kurses"
summary: "Eine Zusammenfassung der Kursinhalte"
type: "Kurse"
layout: "kurs"
date: YYYY-MM-DD
# lastUpdated: "Juli 2026" # Optionaler Anzeige-Override
tags: ["tag1", "tag2", "tag3"]
levels: "anfänger/fortgeschrittene/expert"
video:
youtube: YOUR_VIDEO_ID # YouTube Video-ID (empfohlen)
# vimeo: 123456789 # oder Vimeo Video-ID
# tibav: 42061 # oder TIB AV-Portal ID
image: kurs-thumbnail.png # Bild aus dem _media/-Ordner
# duration: 90 # Optionaler Kurs-Override in Minuten
lessonCount: X
firstLessonURL: "/de/courses/your-course-name/lesson1/"
featured: true/false
certificate: true/false
objectives:
- "Ziel 1"
- "Ziel 2"
prerequisites:
- "Voraussetzung 1"
- "Voraussetzung 2"
programmingLanguages:
- "Sprache 1"
- "Sprache 2"
authors:
- name: "Ihr Name"
role: "Ihre Rolle"
avatar: "/images/placeholders/avatar.svg"
---
# Kursinhalt kommt hier hin
Ohne duration im Kursindex summiert die Kursseite automatisch alle Lektionsdauern. Eine numerische Minutenzahl dort überschreibt die berechnete Gesamtdauer. Ebenso zeigt die Kursseite ohne lastUpdated automatisch die jüngste Git-Änderung des Kursindex oder einer Lektion an.
Lektionsdateien erstellen
- für jede Lektion eine neue Datei anlegen:
hugo new courses/<kebab-style-course-name>/<prefix>-<kebab-style-lesson-name>.md
- jede Lektionsdatei öffnen und das Frontmatter ausfüllen:
---
title: "Lektion Titel"
description: "Kurze Beschreibung der Lektion"
type: "Kurse"
course: "ihr-kurs-name"
layout: "lektion"
lessonNumber: X
courseSection: "Kurs Abschnitt Name"
duration: X # Optional: geschätzte Minuten
image: erste-schritte/lektion-thumbnail.png # Bild aus _media/-Unterordner
video:
youtube: YOUR_VIDEO_ID # YouTube Video-ID (empfohlen)
# vimeo: 123456789 # oder Vimeo Video-ID
---
# Lektionsinhalt kommt hier hin
duration: 5 ist die Kurzform für fünf Minuten. Für genauere Angaben lassen sich die Komponenten einzeln angeben:
duration:
hours: 1
minutes: 2
seconds: 30
factor: 1.5 # Optionaler positiver Multiplikator
Alle Komponenten und factor sind optional; ohne Faktor gilt 1. Mit ausschließlich factor: 2 wird die automatisch geschätzte Dauer verdoppelt. Ohne explizite Lektionsdauer schätzt Hugo die Zeit aus Fließtext, Codeblöcken und Bildern. Die Kursseite addiert die exakten Werte und rundet erst die Gesamtdauer auf volle Minuten auf.
Dateien organisieren
Die empfohlene Struktur sieht so aus:
content/
└── de/
└── courses/
└── ihr-kurs-name/
├── _index.md
├── _media/
│ ├── index.md
│ ├── kurs-thumbnail.png
│ └── erste-schritte/
│ └── lektion-thumbnail.png
├── 10-erste-schritte/
│ ├── _index.md
│ ├── 10-einfuehrung.md
│ └── 20-erste-schritte.md
├── 20-fortgeschrittene-themen/
│ ├── _index.md
│ └── 10-fortgeschrittenes-thema.md
└── ...
Übung: Kursdateien erstellen
- die Kursübersichtsdatei für den geplanten Kurs anlegen
- mindestens drei Lektionsdateien nach der Namenskonvention anlegen
- das Frontmatter jeder Datei ausfüllen
Die nächste Lektion behandelt das Schreiben der eigentlichen Kursinhalte in Markdown.