pandoc-lecture icon indicating copy to clipboard operation
pandoc-lecture copied to clipboard

[Filter] Ersetze Überschriften mit bestimmten Klassen mit Eintrag in Meta-Data

Open cagix opened this issue 1 year ago • 0 comments

Aktuell wird der YAML-Header für viele Metadaten verwendet, u.a. auch Zusammenfassung (TLDR), Outcomes, Video-Links, ... Diese Metadaten werden von den selbstdefinierten Hugo-Templates ("Archetypes") aufgegriffen und als Content an der gewünschten passenden Stelle generiert.

Das funktioniert für Hugo und die generierten HTML-Skripte, und für die Beamer-Slides bleibt es ohne Wirkung.

Für die Ansicht in GitHub passt das nicht: (a) Der YAML-Header wird als eine riesige Tabelle dargestellt, d.h. die Lesbarkeit leider massiv, und (b) die Links auf Videos und Self-Assessments funktionieren nicht.

Man könnte diese Dinge an einer passenden Stelle im Markdown einbauen: Passende Überschrift plus Inhalt darunter. Die Überschrift würde zusätzlich die entsprechende Klasse zugewiesen bekommen, etwa {.tldr}. Ein Filter könnte alle diese Blöcke als Vorverarbeitung für Hugo aus dem Markdown entfernen und in die Meta-Daten schreiben, so dass dann bei der nachfolgenden Verarbeitung mit Hugo die Hugo-Templates wieder wirken können.

Alternativ könnte man überlegen, dass ein Filter diese Blöcke zunächst entfernt (und in die Meta-Daten schreibt) und dann ein Pandoc-Template nutzt für die flexible Anordnung der Blöcke. Hugo würde darauf das passende HTML generieren (plus CSS für die Klassen). Damit würde man sich extra Hugo-Templates sparen.

Auf diese Weise hätte man die statische Ansicht im GitHub, eine per Template dynamische Struktur für Hugo und für die Beamer-Slides werden diese zusätzlichen Elemente bisher komplett ignoriert.

cagix avatar Apr 26 '23 07:04 cagix