PDF aus RST Doc Dokumenten rendern

PDF aus RST Doc Dokumenten rendern

Das RstDoc Format ist das Standard Format für TYPO3 Extensions und TYPO3 Core Dokumentation, wenn es in die offizielle Dokumentation einfließen soll. Wenn man den Bedarf hat, die Dokumentation selbst zu rendern und z.B. ein Dokument als pdf ausliefern möchte, kann das über das Docker Setup einfach bewerkstelligt werden.

Voraussetzung: 

  • Docker muss installiert sein und laufen
  • Linux oder MacOS (Windows habe ich nicht getestet)
  • Dokumentation nach den offiziellen TYPO3 Vorgaben (siehe how-to-document-an-extension

Schritt für Schritt

Schritt 1: Docker Image starten und Befehl in Terminal verfügbar machen

Terminal öffnen und Befehl ausführen im übergeordneten Verzeichnis der Dokumentation ausführen:

source <(docker run --rm t3docs/render-documentation show-shell-commands)

Schritt 2: Dokumentation rendern

Wenn ich die Dokumentation als HTML betrachten möchte, führe ich folgenden Befehl aus:

dockrun_t3rd makehtml

Als Ergebnis erhält man den HTML Output im Verzeichnis: /Documentation-GENERATED-temp/Result/project/

Wenn das ganze als PDF erzeugt werden soll, müssen folgende Befehle ausgeführt werden:

dockrun_t3rd  makeall dockrun_t3rd  makehtml  -c make_latex 1  -c make_pdf 1

Damit wird neben dem HTML output auch eine Latex Ausgabe erzeugt, die im dritten Schritt verwendet wird.

Schritt 3: Umwandlung zu PDF

Zum Schluß werden noch drei weitere Befehle abgesetzt, um das PDF zu generieren. 

mkdir -p Documentation-GENERATED-temp docker run --rm \       -v $(pwd):/PROJECT:ro \       -v $(pwd)/Documentation-GENERATED-temp:/RESULT \       t3docs/render-documentation:develop \       makeall -c jobfile /PROJECT/Documentation/jobfile.json docker run --rm \       -v $(pwd)/Documentation-GENERATED-temp/Result/latex:/RESULT \       --workdir="/RESULT/" \       thomasweise/docker-texlive-full:latest \       "./run-make.sh"

Das Ergebnis befindet sich dann im Verzeichnis: /Documentation-GENERATED-temp/Result/latex/PROJECT.pdf

Fazit

Mit Hilfe der Docker Umgebung lassen sich nicht nur PDF Dateien rendern, sondern vor allem auch die Dokumentation einer TYPO3 Extension sinnvoll vorabtesten. Das Rst Format ist zwar aufwändiger als Markdown, bietet aber jedoch viel mehr Möglichkeiten eine umfassende Dokumentation mit Naviagtion und Querverlinkungen zu erzeugen.

Stefan Busemann

Projekte und Produkte im TYPO3-Bereich?

Haben Sie Fragen zu Projekten und Produkten im TYPO3-Bereich?

Unser Geschäftsführer Stefan Busemann hilft Ihnen gerne weiter.

Stefan Busemann  |  Geschäftsführung & Kundenbetreuung

TYPO3: Unbenutzte Dateien im fileadmin finden

Ihr wollt unbenutzte oder verwaiste Dateien im fileadmin oder einer anderen Storage löschen? Leider gibt es hier nichts direkt vom Core. Aber ein kleiner Command in eurem Sitepackage hilft schnell...

Zum Beitrag

TYPO3: Redakteure mit individuellen user_upload Folder

Vielleicht kennt ihr die Kundenanforderung? Redakteure sollen Videos über den Button "Add media by URL" hinzufügen können. Aber die Dateien sollen sich dann nicht in fileadmin/user_upload/ sondern in...

Zum Beitrag

TYPO3: Seiten im Mixed Mode finden

Mixed Mode bezeichnet man in TYPO3 übersetzte Seiten, auf denen sich Seiteninhalte befinden, die nur zum Teil eine Relation auf entsprechende Seiteninhalte in der Hauptsprache haben. Dies wird im...

Zum Beitrag

Extbase Extensions: An Erweiterbarkeit denken mit data, site und language

Heute mal eine kleine Bitte an die TYPO3-Extension-Autoren da draußen: Achtet auf Erweiterbarkeit eurer Extensions. Dies fördert dann auch die Verbreitung der entsprechenden Plugins.

Zum Beitrag

SQL: Zeige alle Tabellen absteigend nach Größe sortiert

Ich brauche in letzter Zeit häufiger den SQL-Befehl, um herauszufinden, welche Tabellen in der TYPO3-Datenbank am größten sind. Ich habe das Snippet einmal veröffentlicht.

Zum Beitrag

TYPO3 12 mit CKEditor 5: Stile als Einfachauswahl

Wenn man im RTE in TYPO3 einen Link setzt, kann es sein, dass man zwischen verschiedenen Link-Klassen auswählen muss, um beispielsweise Buttons im Frontend zu erzeugen. Neu ist in TYPO3 12 dass man...

Zum Beitrag