#!/bin/bash # --------------------------------------------------------------------- # Das Handbuch bauen. # # Ergebnis ist reines HTML in handbuch/site/ - ohne Netzzugang benutzbar, # mit Volltextsuche. install.sh kopiert es von dort nach # /usr/share/doc/pvesnap/handbuch, wenn es vorliegt. # # Gebaut wird auf dem Arbeitsplatz, nicht auf dem Proxmox-Host: mkdocs # gehoert nicht auf einen Hypervisor. # --------------------------------------------------------------------- set -euo pipefail HIER="$(cd "$(dirname "$0")" && pwd)" VENV="${HIER}/.venv" rot() { printf '\033[31m%s\033[0m\n' "$*" >&2; } info() { printf '\033[36m%s\033[0m\n' "$*"; } BEDARF=(mkdocs mkdocs-material) if ! command -v python3 >/dev/null 2>&1; then rot "python3 wird gebraucht." exit 1 fi # Eigene Umgebung, damit nichts am System haengenbleibt. if [ ! -x "${VENV}/bin/mkdocs" ]; then info "Richte Bau-Umgebung in ${VENV} ein ..." python3 -m venv "${VENV}" "${VENV}/bin/pip" install --quiet --upgrade pip "${VENV}/bin/pip" install --quiet "${BEDARF[@]}" fi case "${1:-bauen}" in bauen) info "Baue Handbuch ..." "${VENV}/bin/mkdocs" build --strict --config-file "${HIER}/mkdocs.yml" echo info "Fertig: ${HIER}/site/index.html" echo " Auf den Host bringen: ./install.sh (kopiert es mit)" ;; ansehen|serve) info "Starte Vorschau auf http://127.0.0.1:8000/ (Strg-C beendet)" "${VENV}/bin/mkdocs" serve --config-file "${HIER}/mkdocs.yml" ;; bilder) # Die Bildschirmfotos neu aufnehmen - siehe werkstatt/LIESMICH.md exec "${HIER}/werkstatt/aufnehmen.sh" ;; sauber) rm -rf "${HIER}/site" "${VENV}" info "site/ und .venv/ entfernt." ;; *) cat <