Skip to content

Docker: Switch to pandoc/extra (?) #300

@cagix

Description

@cagix

Aktuell haben wir Skripte, die die einzelnen Bausteine (Pandoc, Hugo, LaTeX, ReLearn, ...) einzeln installieren. Damit können wir sowohl (a) die Github Action betreiben, (b) einen Docker-Container definieren, und (c) eine lokale Installation vornehmen.

In pandoc/extra und pandoc/latex sind bereits alle benötigten LaTeX-Pakete enthalten. Macht es Sinn, die hier definierte GH-Action auf eine Docker-Action umzubauen?

Vorteile:

  • Man muss nicht mehr mühselig manuell die Versionen hochziehen.
  • Die Pandoc-Macher stellen sicher, dass alle nötigen Abhängigkeiten drin sind.
  • Das Runterladen von pandoc/extra in der GH-Action dürfte nicht länger als die manuelle Nachinstallation von TeX-Paketen dauern.
  • Die GH-Action sollte sich leicht umbauen lassen, dito die Makefiles für den lokalen Einsatz. Lediglich die native lokale Installation lässt sich so nicht mehr erzeugen.

Nachteile:

  • Die Versionen für Pandoc und/oder Eisvogel hinken immer etwas hinterher.1
  • Passt die im Image enthaltene Eisvogel-Version wirklich auch zu der Pandoc-Version? (In Eisvogel muss jedesmal das Template aktualisiert werden ...)
  • Wie kommt man zu einer adäquaten lokalen Installation? (Nutzt die überhaupt noch jemand?)

Zu überlegen ist, wie man die hier definierten Defaults und Filter und sonstigen Definitionen in den Docker und/oder die Action bekommt.


Beide Images werden auch für arm64 angeboten. (Man muss das Image aber erst pullen, ein direktes run schlägt fehlt beim pullen.)

docker pull pandoc/extra:latest-ubuntu
docker run --rm -it --entrypoint "bash"  pandoc/extra:latest-ubuntu

https://hub.docker.com/r/pandoc/extra/tags

pandoc/latex wäre deutlich schlanker, und man könnte die aktuelle Eisvogel-Version manuell runterladen. Aber dann muss man leider auch wieder alle Abhängigkeiten selbst installieren ...

Footnotes

  1. Pandoc 3.6.2 vs. Pandoc 3.6.0, Eisvogel 3.1.0 vs. Eisvogel 2.5.0 (Stand 20. Jan 2025)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions