YAML-Dateien

Verzeichnisbezogene Parametern für mdmachine

C. Bienmüller

2025-08-12

Einstellungen, die nicht nur einzelne Markdowndateien betreffen werden in eigenen YAML-Dateien untergebracht. Diese Konfigurationen finden durchgehend als key:value Pärchen statt.

Vorsicht: Diese Dateien werden nur während einer Konvertierung ausgewertet. Nachträgliche Änderungen erfordern eine händische Neu-Konvertierung - z.B. mit mdmachine.py -u -f (-f für force).

Es gibt zwei Dateien, die automatisch ausgewertet werden.

mdm_dir.yaml

Diese Datei enthält Parameter für das Verzeichnis, in dem sie selbst steht. Primär wird damit der Inhalt der _mdm_sidebar_.html gesteuert.
Eine Demodatei kann man auf der Kommandozeile mit mdmachine -d anfordern.

m²_indexfilename
z.B. xyz.html
als Alternative zur index.html, als der Datei, die beim Betreten des Verzeichnisses aufzurufen ist. Wenn weder dieser Parameter, noch eine index.html existiert, dann wird der Verzeichnisinhalt nicht in der Sidebar-Navigation aufgeführt.
m²_overridetitle
Demoinhalte
Eigentlich sollte als Verzeichnistitel der Titel der Datei m²_indexfilename bzw. der index.html genommen werden. Dies kann hier übersteuert werden (kann inkonsistent wirken, wenn es nicht nur eine Kürzung ist)
m²_subdirprio
{ High | Low }
Wird damit in der sidebar des übergeordneten Verzeichnisses einsortiert. Dort werden High/normal/Low in drei Blöcken, jeweils in sich alphabetisch sortiert angeordnet im Format Fett/normal/kursiv.
m²_links
ist ein array of dicts (welche link, title und hover als keys enthalten).
Die Links werden am Ende der Sidebar als einzelne Links aufgeführt.
title ist der Anzeigename
hover wird angezeigt, wenn die Maus über den Link gleitet.
Anzahl: Kein Limit…
Bsp:
m²_links:
    - link:  'http://example.com'
      title: 'Example-homepage'
    - link:  'https://www.google.com'
      title: 'Let´s Search something'
      hover: 'go to google'

mdm_root.yaml

Diese Datei liegt entweder im aktuellen Verzeichnis oder einem der Elternverzeichnissen. Das erste gefundene wird verwendet, das Verzeichnis, das mdm_root.yaml enthält wird als “root”, also als Wurzel der Verzeichnisstuktur aus Sicht der Dokumente angesehen.

m²_fixlinks
wie oben bei “m²_links”.

Sichtbarkeit der Links: Sie sind in der Sidebar neben jeder Seite dieses und aller untergeordneten Verzeichnisse sichtbar!

Die folgenden Parameter haben den angegebenen Standardwert, wenn sie nicht angegeben werden.

m²_lang:
“de-DE”
Standardsprache, die in HTML als lang festgelegt wird. Kann in einer Markdowndatei mit lang überschrieben werden.
m²_cssfile_main:
‘https://www.bienmueller.de/css/mdm_main.css’
CSS-Datei, die in jede HTML-Datei eingebunden werden soll.
m²_cssfile_md:
‘https://www.bienmueller.de/css/mdm_md.css’
CSS-Datei nur für aus md generierte HTML-Dateien. Wird zusätzlich zu obiger main eingebunden.
m²_cssfile_sb:
‘https://www.bienmueller.de/css/mdm_sb.css’
CSS-Datei für in mdmachine generierte (Sidebar, Sitemap) HTML-Dateien. Wieder zusätzlich zu main.

Die obigen CSS-Dateien werden nach der beschriebenen Logik eingebunden. Um eine größere Anzahl an Dateien zu nutzen gibt es die Importmöglichkeiten in CSS.

Wenn Sie nur eine kleine Modifikation vornehmen wollen, so können Sie mit dem folgenden Parameter eine weitere CSS-Datei dazuladen, die Standardwerte überschreiben kann. Ich verwende dies mit der https://www.bienmueller.de/css/cb.css für das persönliche Aussehen

m²_include_main_css
‘URL’
Die URL kann entweder eine echte Adresse (mit http beginnend) oder ein relativer Link ausgehend vom Ort der mdm_root.yaml sein. Diese wird in jede HTML-Datei (inkl. Navigation und Timetable) eingebunden.
m²_include_css
[URL1, URL2]
Eine Liste von URLs - derzeit nur relativ zum Ort der mdm_root.yaml. Werden nur in aus Markdown konvertierte HTML-Dateien eingebunden.
m²_mainfont:
‘https://www.bienmueller.de/fonts/RadioCanadaRegular.woff2’
Der wichtigste Font (im woff2-Format), der vorab geladen werden soll.
m²_include_style:
’’
identische Funktion wie im YAML-Block einer Datei, aber für alle Dateien gültig.
m²_generate_sitemap:
False
Soll im root-Verzeichenis (“hier”) eine sitemap.html für den ganzen Verzeichnisbaum unter diesem Verzeichnis erzeugt werden?