Konfiguration des Publishers

Der Publisher ist auf verschiedene Weisen zu konfigurieren:

  1. Die Datei publisher.cfg in /etc/speedata/, im Homeverzeichnis (mit Punkt davor) und im aktuellen Verzeichnis (Linux, Mac)
  2. Die Datei %APPDATA%\speedata\publisher.cfg und im aktuellen Verzeichnis (Windows)
  3. Die Parameter auf der Kommandozeile
  4. Die Angaben in der Layoutdatei

Die Konfigurationsdatei publisher.cfg

Die Datei publisher.cfg ist eine Datei, die beim Starten des Publishers eingelesen wird. Es ist eine einfache Textdatei, die den Aufbau Schlüssel = Wert hat.

data      = data.xml
layout    = layout.xml
# Das ist ein Kommentar
# Das ist kein Kommentar
#  ^^^ das ist natürlich ein Kommentar, auch
#      wenn der Text anderes behauptet

# Spezifische Konfigurationswerte für
# einen Abschnitt
[Abschnitt]
key = value

In der Konfigurationsdatei kann mit %(projectdir)s auf das Verzeichnis zugegriffen werden, in dem die Datei publisher.cfg liegt.

Alle Angaben in dieser Konfigurationsdatei sind optional. Alle folgenden Konfigurationsdateien werden in dieser Reihenfolge eingelesen: /etc/speedata/publisher.cfg, ~/.publisher.cfg und im aktuellen Verzeichnis publisher.cfg. Das aktuelle Verzeichnis kann beim Aufruf des Publishers mittels --wd=…​ geändert werden.

Das Format muss eingehalten werden, sonst wird die Datei nicht richtig erkannt. Folgende Optionen werden unterstützt:

autoopen

wenn hier true anstelle von false steht, wird das PDF nach dem Publisher Durchlauf automatisch geöffnet. Derselbe Effekt lässt sich über die Kommandozeile mit --autoopen erreichen.

cache

Caching-Strategie für http(s) Dateien. Entweder fast, dann wird nur geschaut, ob die Datei im Dateisystem vorhanden ist oder optimal, dann wird bei jedem Zugriff auf die Datei geprüft, ob sie aktualisiert werden muss. Vollständig ausschalten kann man den Cache mit none.

data

Name der XML-Daten. Wenn nicht vorhanden, wird die Datei data.xml geladen.

dummy

Wenn true, dann wird die Datendatei nicht eingelesen. Anstatt dessen wird wird der folgende Inhalt angenommen: <data />. Das dient zum einfachen Testen von Layoutregelwerken. Es muss also ein <Record element="data"> im Layout vorhanden sein.

extra-dir

Ein Verzeichnis im Dateisystem, das Dateien für den Publisherlauf enthält. Dazu gehören die Schriftdateien, die XML-Dateien (Daten und Layoutregelwerk) sowie die einzubindenden Bilddateien. Sollen mehrere Verzeichnisse hinzugefügt werden, müssen diese mit : oder ; getrennt werden, je nach Betriebssystem (Windows: ;, alle anderen: :). Das aktuelle Verzeichnis wird automatisch eingebunden. Beispiel unter Windows: extra-dir=c:\myfonts.

extensionhandler

Zuordnung von Dateiendungen zu in imagehandler definierten Konvertern. Um Grafiken on-the-fly zu konvertieren. Beispiel: extensionhandler="mmd:mermaid". Mehrere Einträge werden mit Semikolon getrennt. Siehe auch imagehandler. (Seit Version 3.9.1, experimentell.)

extraxml

Diese XML-Dateien zu den Layoutanweisungen hinzufügen. Kommaseparierte Liste (extraxml=datei1.xml,datei2.xml).

fontloader

Setze den Fontlader auf fontforge (Voreinstellung bis Version 4.16) oder harfbuzz (Voreinstellung ab Version 4.18).

prependxml

Diese XML-Dateien vor den Layoutanweisungen hinzufügen. Kommaseparierte Liste (prependxml=datei1.xml,datei2.xml).

filter

Führt die angegebene Datei als Lua-Filter aus. Siehe Abschnitt Lua-Filter / Datenvorverarbeitung.

fontpath

Setzt den systemweiten Pfad für Fonts. Unter Windows ist dies %WINDIR%\Fonts, unter Mac OS X /Library/Fonts:/System/Library/Fonts.

grid

Bestimmt, ob das Raster angezeigt wird.

imagecache

Ordner für zwischengespeicherte Dateien (file="http(s)://…​" und externe Programme). Voreinstellung: $TMPDIR/sp/images.

imagehandler

Zuordnungen von Bildtyp zu externen Konvertern. Z.B. imagehandler="mermaid:(/usr/bin/mmdc -i %%input%% -o %%output%%.pdf)". Der Bildtyp mermaid wird mit dem Programm /usr/bin/mmdc konvertiert und erhält als Eingabeparameter -i, die Eingabedatei, -o und die Ausgabedatei mit angehängter Dateiendung .pdf. Die Dateinamen werden zur Laufzeit ersetzt und zufällig generiert. Mehrere Einträge werden mit Semikolon getrennt. Siehe auch Externe Konvertierungstools.

ignore-case

Ignoriere die Groß- und Kleinschreibung für Dateizugriff in der rekursiven Dateiliste.

inkscape

Pfad zum Inkscape-Programm.

inkscape-command

Befehlszeile zur Bildkonvertierung. In Version 0.92 und vorher ist dies --export-pdf und ab Version 1 ist das --export-filename.

jobname

Name der Ausgabedatei ohne Dateiendung. Voreinstellung ist publisher.

layout

Name des Layoutregelwerks. layout.xml ist der voreingestellte Name.

loglevel

Setze die Logausgabe auf ein level of debug, info, message, warn und error.

luatex

Pfad zum LuaTeX-Programm. Für Entwicklungszwecke.

mode

Setzt einen Modus für die Verabeitung. Kann im Layout mit sd:mode() abgefragt werden. Mehrere Modi werden durch Komma getrennt angegeben. Siehe Steuerung des Layouts beim Aufruf des Publishers.

opencommand

Kommando für das automatische Öffnen der Dokumentation bzw. PDF-Datei. Für MacOS X sollte das open sein, für Linux xdg-open oder exo-open (xfce).

pathrewrite

Kommaseparierte Liste der Form Pfadteil=Pfadteil. Beispiel: /media/=%(projectdir)s/myfiles/. Das würde absolute Pfadangaben wie file:///media/XYZ in file:///Pfad/zum/Projekt/myfiles/XYZ ändern.

pdfversion

Die Versionsnummer des PDFs, das geschrieben wird. Beispiel: 1.7.

reportmissingglyphs

Sollen angeforderte aber fehlende Zeichen als Fehler oder als Warnung gemeldet werden? Die erlaubten Werte sind true, false, und warning. false schaltet die Ausgabe aus.

runs

Setzt die Anzahl der Durchläufe fest.

startpage

Nummer der ersten Seite.

systemfonts

Benutze Systemfonts.

tempdir

Name des temporären Verzeichnisses. Voreinstellung ist die des Systems.

timeout

Maximale Dauer des Publishing-Laufs. Wenn dieser Wert überschritten wird, bricht der Lauf mit Fehler 1 ab. Angabe in Sekunden.

vars

Kommaseparierte Liste der Form var=wert um Variablen in der Konfigurationsdatei festzulegen.

verbose

true gibt die Ausgaben der Protokolldatei auf Standardausgabe aus.

wd

Setzt das Basis-Verzeichnis. Der speedata Publisher nimmt dies als Startverzeichnis.

xpath

Setzt das XML Modul. Die Voreinstellung ist der neue XML/XPath Parser lxpath, mit luxor wird der alte XML/XPath Parser eingeschaltet.

Abschnitt Server (server)

address

IP Adresse, auf die der Server den Port öffnen soll. Voreinstellung ist 127.0.0.1.

extra-dir

Extra-Verzeichnisse für die aufzurufenden Publishing-Läufe.

filter

Lua-Skript, das vor dem Verarbeiten der Publishing-Läufe ausgeführt werden soll (wie ein Aufruf sp --filter …​).

logfile

Dateiname für das Protokoll. STDOUT für Standardausgabe und STDERR für Standardfehlerausgabe.

port

Port, zu dem eine Verbindung aufgebaut werden kann.

runs

Anzahl der Durchläufe für das Dokument.

Abschnitt Hotfolder (hotfolder)

hotfolder

Verzeichnis, das »beobachtet« werden soll.

events

Regeln, welche Programme bei welchen Dateien ausgeführt werden sollen.

Eine genaue Beschreibung ist im Abschnitt Starten des Publishers über den Hotfolder zu finden.

Parameter auf der Kommandozeile

Die erlaubten Parameter auf der Kommandozeile werden im Abschnitt über die Kommandozeile aufgeführt.

Angaben in der Layoutdatei

Das Layoutregelwerk erlaubt manche Parameter zu setzen. Dazu gehören die Angaben, die im Element Options gesetzt werden.