Serie: Statische Website-Generatoren – Pandoc/Markdown

Serie: Statische Website-Generatoren – Pandoc/Markdown

Vielleicht in Ergänzung zur Serie mit den “Static Site Generators”, also Systemen die statische Webseiten bauen, hier noch ein Versuch mit Pandoc und Markdown.>

Inhaltsverzeichnis

  1. Einleitung
  2. Hugo Teil 1
  3. Publii
  4. Hugo Teil 2
  5. mdBook
  6. Hugo Teil 3
  7. Pandoc/Markdown (das ist dieser Artikel)

Vorbemerkung

Vielleicht in Ergänzung zur Serie mit den “Static Site Generators”, also Systemen, die statische Webseiten bauen, hier noch ein Versuch mit Pandoc und Markdown. Wir benötigen – sofern nicht eh schon vorhanden – natürlich die Pakete ‘markdown’ und ‘pandoc’.

Die Idee

Pandoc kann auch als SSG (“Static Site Generator”) verwendet werden. Es liegen alle zu “beackernden” Markdown-Dateien in einem gemeinsamen Verzeichnis, und wir haben zusätzlich die folgenden Unterverzeichnisse:

  • css – Hier liegt eine CSS Datei, welche die Textformatierung erledigt und eine “Menüleiste” ermöglicht.
  • htm – Diese “Menüleiste” ist eine “HTML Liste”, welche Pandoc in alle zu bauenden HTML Dateien einfügt.
  • med – Mit diesem Verzeichnis sind “Medien” gemeint, also (anderes) HTML, Bilder, PDF, Tabellen u. s. w.

Mehrere ‘Schleifen’ in einem kleinen Shellskript bauen unsere Webseiten unter Verwendung von CSS, binden jeweils unsere Leiste ein und sie räumen hinterher wieder auf. Wichtig: Die gesamte Seitenstruktur liegt in der «Menüleiste» (HTML-Liste).

Das Skript

Wir definieren das Arbeitsverzeichnis, bauen – wie oben schon angedeutet – die Webseiten und räumen hinterher wieder auf.

Serie: Statische Website-Generatoren – Pandoc/Markdown

Serie: Statische Website-Generatoren - Pandoc/Markdown

Aufgetretene Probleme

Zumindest meine Pandoc ” aus=”” den=”” es=”” formaten=”” her=”” hin-=”” in=”” inkarnation=”” kann=”” keine=”” markdown-tabellen=”” nicht=”” sieht=”” so=”” src=”https://gnulinux.ch/bl-content/uploads/pages/2e7acac2092dc039b622edff5e3dc22d/p_dieses.jpg” und=”” w=”” wandeln=”” zwischen=””>korrekte HTML-Tabellen übersetzt. Bei der Umwandlung in andere «Zielformate» – Textverarbeitungsformate z. B. – klappt das mit den Tabellen nämlich sehr gut.

Eine Lösung besteht hier temporär darin, in ‘med/tab/’ und einem dort abgelegten Python-Skript – dort – Markdown-Tabellen in HTML umzuwandeln und diese dann – manuell – in die vom Shellskript zu beackernden «Ausgangs-Markdown-Dateien» einzufügen.

Die Tabelle sind hier im Beispiel – stark verkürzt – einige Etappen des Giro d’Italia 2019. Wie diese Tabelle dann eingefügt aussieht, kann man übrigens (teilweise) oben erkennen.

Serie: Statische Website-Generatoren - Pandoc/Markdown

Mit verfügbaren “Template Engines”, die zusätzliche und separate HTML-Schnipsel in den Markdown-Code einfügen, habe ich bislang ebenfalls noch nicht experimentiert. Mit HTML an sich kommt ja Pandoc bekanntlich sehr gut klar. Selber bin ich leider kein Programmierer, aber wer Erfahrung mit Python o. Ätte, kann da sicher noch mehr.

Quellen:
Bilder und Screenshots sind von mir, die Tabelle (Giro 2029) stammt aus Wikipedia, das Build-Skript stammt von mir, nicht aber das ursprüngliche Python-Skript zur Umwandlung von Markdown-Tabellen. Ob man – auch für den reinen «Desktop-Betrieb» – besser stets ein virtuelles Python-Environment verwendet, kann ich nicht beurteilen.

Die hier verwendete CSS-Datei hatte ich vor Jahren gebaut, und der Teil mit der “Menüleiste” stammt aus einer Vorlage, deren Herkunft ich heute leider nicht mehr nachvollziehen kann. Die ‘Hauskatze’ hat sich bei meinen Eltern einquartiert.

Share the Post:

Related Posts