How to configure the speedata publisher
The speedata publisher can be configured in several ways:
The file publisher.cfg in
/etc/speedata/, in the home directory (with a leading dot) and in the current working directory (Linux, Mac)
- Parameters given on the command line
- Options given in the layout file
The file publisher.cfg (
$HOME/.publisher.cfg and in the current working directory) is a text file, that is read at the beginning of the publisher run. The default file looks like this:
data = data.xml layout = layout.xml autoopen = false # This is a comment # But this is not a comment # ^^^ of course the line above is also a comment # # section specific values [section] key = value
You can access the base directory of the project with
%(projectdir)s. This is the directory with the file
All entries in the configuration file are optional.
The configuration files are read in the following order:
~/.publisher.cfg and in the current directory
The current directory can be changed on the command line with the switch
The format of the file is important, otherwise it won’t be recognized. The following options are supported:
if true, the publisher opens the PDF file. Default: false. The same effect can be achieved if you run sp --autoopen.
Caching-strategy for http(s) image requests and external image processors. Use
fastfor file system lookup only or
optimalfor checking on each request. Use
nonefor no caching.
Name of the data file (XML). If not given, the system uses
If true, the system won’t read the data file, instead it uses the single element
<data />as its input.
A list of directories in the file system separated by
:(Mac, Linux). These directories contain the images, fonts, source files and other assets that are used during the publisher run. Example for windows:
Assignment of file extensions to converters defined in 'imagehandler'. To convert graphics on-the-fly. Example:
extensionhandler="mmd:mermaid". Multiple entries are separated by semicolon. See also
imagehandler. (Since version 3.9.1.)
Add this XML file to the layout instructions. List of comma separated file names (
Set the fontloader to
fontforge(default until version 4) or
harfbuzz(default starting from version 5).
Run the given file as an Lua-Filter. See the section Lua-Filter / pre-processing.
Set the path for system fonts. On Windows this is
%WINDIR%\Fonts, on Mac OS X it defaults to
If true, the underlying grid is shown in the PDF file. For debugging purpose only.
Folder for cached images (
href="http://…"and image processors). Defaults to
Assignments of screen type to external converters. For example,
imagehandler="mermaid:(/usr/bin/mmdc -i %%input%% -o %%output%%%.pdf)". The image type mermaid is converted with the program
/usr/bin/mmdcand receives as input parameter
-i, the input file,
-oand the output file with attached file extension
Ignore case when accessing files (on a case-insensitive file system).
The path to the program inkscape when you need on the fly SVG to PDF conversion.
Command line for image conversion. Version 0.92 and before needs
--export-pdfand since version 1 it is
Name of the output file. Default is
Name of the layout rule set (XML). The default name is
Path to the Lua(jit)TeX binary. Experimental! This is provided for your experiments, not for production use.
Set the layout mode. See Control of the layout when calling the Publisher.
Command that will be run to open the documentation and the PDF file. For MacOS X this should be
open, for Linux
Comma separated list of entries of the form A=B which replace parts in
file:///path/to/project/myfiles/XYZ. Useful when you have absolute paths in the data which must be changed during the publishing process.
The PDF version that gets written. For example
Add this XML file in front of the layout instructions. List of comma separated file names (
Should requested but missing glyphs be reported as an error or as a warning? The allowed values are
falsedisables the reporting.
Set the number of runs.
Number of the first page.
If set to
true, then the publisher searches for fonts in the system directory.
Name of the temporary directory. Default is the system’s temp.
Maximum time of the publishing run. If time is exceeded, the publisher exits with status 1.
Comma separated list of variables and values in the form var=value to set additional variables.
Set the current directory.
Set the XML module. The current default is
luxor, and the new, experimental is called
Section server (
IP address to which the server should open the port. Default is 127.0.0.1.
Extra directories for the publishing runs to be includes.
Lua script to run before processing the publishing runs (like a call to
sp --filter …).
File name for the log.
STDOUTfor standard output and
STDERRfor standard error.
Port to which a connection can be established.
Set the number of publishing runs for the client document.
Section Hotfolder (
Directory to be “watched”.
Rules which programs to run on which files.
A detailed description can be found in the Starting the Publisher via the Hotfolder section.
Command line parameters
The valid command line parameters are written on a separate page.
Options given in the layout file
The XML layout file has a command called
<Options> that allows to set some parameters (tracing, default language, …)