Die OParl-Spezifikation besteht aus verschiedenen Textdateien, die mit Hilfe verschiedener Software automatisiert zu fertigen Dokumenten in verschiedenen Formaten bearbeitet werden.
Die Dateien, aus denen die Spezifikation erstellt wird, sind auf mehrere Ordner aufgeteilt:
src/
: Enthält den gesamten Fließtext als Markdown-Dateien.schema/
: Enthält das Datenmodell, d.h. den Aufbau der von OParl genutzten json-Objekte, als json-Dateien in einem auf JSON Schema aufbauenden Format.examples/
: Die im Text eingebundenen Beispielescripts/
: Enthält Skripte, die u.a. die json-Dateien in Markdown umwandeln und die Beispiele validieren
Es gibt zwei Möglichkeiten, die Dokumente zu erstellen: Direkt mit make
oder über eine Docker-Container.
Im Allgemeinen sollte die OParl-Spezifikation mit jedem Betriebssystem erstellbar sein, auf dem folgende Software installiert ist:
Zur Erstellung der Archive außerdem:
Unter Ubuntu können alle benötigten Pakete mit einem Befehl installiert werden:
sudo apt install etoolbox ghostscript lmodern graphviz make pandoc pandoc-citeproc texlive-fonts-recommended \
texlive-generic-recommended texlive-humanities texlive-lang-german texlive-latex-recommended texlive-luatex \
texlive-xetex librsvg2-bin
Das eingentlich bauen der Dokumente ist dann nur noch ein einziger Befehl:
make
Ein einzelnes Ausgabeformat kann mit make <format>
erstellt werden, mit make archives
können
Archive der verschiedenen Ausgabeformate gepackt werden. Dazu müssen allerdings
die enstprechenden Archivierungsprogramme vorhanden sein.
Die fertigen Dokumente finden sich dann sich in out/
Für den geneigten Containerfreund findet sich in resources/specbuilder
ein
Dockerfile, welches auch mit docker pull oparl/specbuilder
installiert werden kann.
Gebaut wird die Spezifikation dann mit folgenden Befehl, wobei auch hier ein Ausgabeformat
an den Aufruf von make
angehängt werden kann:
docker run -u $UID:$GID --rm -v $(pwd):$(pwd) -w $(pwd) oparl/specbuilder:latest make <format>