LinuxCommandLibrary

daps

Display APT package dependencies

TLDR

Check if a DocBook XML file is valid

$ daps [[-d|--docconfig]] [path/to/file.xml] validate
copy

Convert a DocBook XML file into PDF
$ daps [[-d|--docconfig]] [path/to/file.xml] pdf
copy

Convert a DocBook XML file into a single HTML file
$ daps [[-d|--docconfig]] [path/to/file.xml] html --single
copy

Display help
$ daps [[-h|--help]]
copy

Display version
$ daps --version
copy

SYNOPSIS

daps [global-options] command [command-options] [args]

PARAMETERS

-s, --srcdir=DIR
    Source directory containing control.xml (default: .)

-d, --builddir=DIR
    Build output directory (default: _build)

-l, --logdir=DIR
    Directory for log files (default: ./logs)

-v, --verbose
    Increase verbosity (repeatable for more output)

--clean
    Clean build directory before processing

--force
    Force overwrite of existing files

-p, --profile=PROFILE
    Select build profile (e.g., product/language)

--version
    Display DAPS version

-h, --help
    Show help

DESCRIPTION

DAPS (Documentation Automation and Processing System) is a powerful command-line toolset for SUSE/openSUSE and Linux documentation workflows.

It streamlines the creation, validation, building, and publishing of technical documentation written in DocBook XML 5 or Markdown. DAPS supports numerous output formats, including single-page/multi-page HTML, PDF (via fo or LaTeX), EPUB, man pages, plain text, and Word/PowerPoint.

Key features include XML validation against DocBook schemas, XSLT transformations, automated linking, branding customization, and integration with version control systems like Git. It uses standardized tools like xsltproc, XEP, fop, and dblatex under the hood.

DAPS is ideal for large-scale doc projects, enforcing consistency via templates and profiles. Users define build configurations in a control.xml file, specifying products, languages, and revisions. Subcommands handle specific tasks, from initialization (daps init) to full builds (daps build). It's extensible via plugins and integrates with CI/CD pipelines.

CAVEATS

Requires dependencies like xsltproc, libxml2, libxslt, DocBook XSL stylesheets; PDF needs fop or XEP. Markdown support via md2man. Not for non-technical docs.

COMMON SUBCOMMANDS

init: Initialize project.
build: Full build (add --pdf, --html).
validate: Check XML.
check: Lint and profile checks.
single-html: Single-page HTML.

CONFIGURATION

Uses control.xml for builds: define <product>, <languages>, <formats>.

HISTORY

Developed by SUSE Linux Products GmbH since 2013 for openSUSE/SLE documentation. Evolved from custom Makefiles; version 1.0 in 2014, now at 2.x with Markdown/HTML5 support. Actively maintained in openSUSE Factory.

SEE ALSO

xmllint(1), xsltproc(1), fop(1), make(1), dblatex(1)

Copied to clipboard