handbuch-gen/README.md

2.2 KiB

Build Status

About

This project is an experiment of how to generate the WTF handbook in various output formats (HTML, epub and pdf) from the git repository for the WTF handbook. The handbuch sources are included as git submodule.

This repository contains the Sphinx configuration and a Sphinx theme adapted for the corporate identity of WTF cooperation.

How to build

Checkout with submodules

This repository accesses the required WTF handbook's content as a git submodule. Therefore, make sure to check out this repository including its submodule:

git clone --recurse-submodules https://git.wtf-eg.de/wtf-eg/handbuch-gen.git

Python based dependencies

In order to generate the documentation, first create a Python 3 virtual environment using the venv module included in Python 3:

  1. Create a virtual Python environment in the directory venv: python3 -m venv venv
  2. Activate the virtual Python environment: source venv/bin/activate
  3. Install the packages listed in requirements.txt using pip: pip install -r requirements.txt

Other dependencies

For generating the images from PlantUML sources (*.plantuml), PlantUML is required.

For pdf output the LaTeX builder is used, so latex and pdflatex need to be installed.

Running the document generation via make

The top level directory contains a Makefile, for generation with all output formats use

make bundle

In order to automatically determine the version string from the latest Git tag, execute the following command before calling make:

export SPHINXOPTS="-D version=$(git -C source/handbuch describe --tags --abbrev=0) -D release=$(git -C source/handbuch describe --tags)"

The output files of the final handbook can be found in the subfolder ./bundle.

All generated intermediate artifacts and the final output files can be found in the ./build subfolder.