From ae761b407a020f0a99226a674487defc5c743237 Mon Sep 17 00:00:00 2001 From: Michael Stangl Date: Wed, 29 Apr 2026 23:13:03 +0200 Subject: [PATCH] README.md berichtigt --- README.md | 118 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 87 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 78a90f8..8c93cb0 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,98 @@ # docu_build -> Kurze Projektbeschreibung hier eintragen. +Sphinx-basiertes Dokumentationssystem fuer Transport- und Hängeförderanlagen. JSON-gesteuerter Build erzeugt aus modularen Textbausteinen mehrsprachige PDF-Dokumentationen (250+ Seiten). Entwickelt von Mista GmbH fuer Schönenberger. + +Das Projekt befindet sich in der Planungs- und Aufbauphase. + +## Architektur + +Das Zielsystem besteht aus zwei Repos: + +- **transport-docs-base** (dieses Repo): Wiederverwendbare Inhalte -- Sphinx-Extensions (`_ext/`), Module (`modules/`), Kapitelgerüste (`chapters/`), Assets, Glossar, LaTeX-Templates. +- **projekt-kunde-xyz** (pro Anlage): `anlage.json` (ERP-Export), projektspezifische Bilder, Overrides, `conf.py`, `build.py`. Bindet das Base-Repo per Symlink/Mount ein. + +### Technologie-Stack + +Sphinx + reStructuredText + Jinja2-Templating → LaTeX → PDF. Konfiguration via JSON (ERP-Export) + YAML (Modul-Metadaten). Bildkonvertierung: ezdxf → SVG, Pillow. + +### Build-Pipeline (zu implementieren) + +```text +anlage.json → build.py → Versionscheck → Abhängigkeiten auflösen (meta.yaml) +→ Overrides anwenden → Sphinx-Quellen generieren → sphinx-build -b latex +→ pdflatex → PDF pro Sprache +``` ## Projektstruktur -``` +```text docu_build/ +├── _ext/ # Sphinx-Extensions (zu implementieren) +├── _templates/ # Sphinx/LaTeX-Templates +├── assets/ +│ ├── shared/ # Sprachunabhängige Bilder/Symbole +│ └── localized/ # Sprachspezifische Bilder ├── bin/ # Skripte zur Umgebungsverwaltung │ ├── setenv.bat/.sh # Umgebungsvariablen setzen │ ├── install_py.bat/.sh # venv erstellen + pip install │ ├── activate_venv.bat/.sh # venv aktivieren -│ └── get_cmd.bat/.sh # Shell mit Umgebung oeffnen -├── cfg/ # Konfigurationsdateien (INI/JSON) +│ ├── get_cmd.bat/.sh # Shell mit Umgebung oeffnen +│ ├── extract_products.* # Bilder/Text aus Produkt-PDFs extrahieren +│ └── convert_fortna.* # Fortna-Konvertierung +├── cfg/ # Konfigurationsdateien +├── chapters/ # Kapitelgerüste (rST) +│ ├── 00_inhaltsverzeichnis/ +│ ├── 01_zertifikate/ +│ ├── 02_sicherheit/ +│ ├── 03_anlagenbeschreibung/ +│ ├── 04_betrieb/ +│ ├── 05_wartung/ +│ ├── 06_steuerung/ +│ ├── 07_ersatzteile/ +│ ├── 08_lieferantendoku/ +│ ├── 09_technische_unterlagen/ +│ └── 10_anhang/ ├── data/ # Eingabedaten (nicht im Git) -├── doc/ # Dokumentation -├── examples/ # Beispieldateien -├── lib/ # Python-Quellcode / Bibliothek +├── doc/ # Projektdokumentation +├── glossary/ # Glossar-Quelldaten (CSV) +├── lib/ # Python-Bibliotheken +├── modules/ # Modulbeschreibungen + meta.yaml +├── scripts/ # Hilfsskripte (dxf2svg, optimize_images, ...) +├── styles/ # LaTeX-Styles +├── tests/ # Tests ├── log/ # Log-Dateien (nicht im Git) -├── results/ # Ergebnisse / Ausgaben (nicht im Git) -├── tests/ # Unit Tests -├── .gitignore -├── LICENSE -├── README.md -└── requirements.txt +└── results/ # Build-Ausgaben (nicht im Git) ``` +### Kapitelstruktur + +| Kapitel | Inhalt | +| ------------------------- | --------------------------------------------- | +| `00_inhaltsverzeichnis` | Wird generiert | +| `01_zertifikate` | CE/UKCA-Konformität, Konfigurationsbeschreibung | +| `02_sicherheit` | Sicherheitshinweise, Normen, Risikobewertung | +| `03_anlagenbeschreibung` | Module (via meta.yaml eingefügt) | +| `04_betrieb` | Betriebsanleitung | +| `05_wartung` | Wartungsanleitung, Schmierplan | +| `06_steuerung` | Funktionsbeschreibungen pro Steuerungssystem | +| `07_ersatzteile` | Ersatzteillisten | +| `08_lieferantendoku` | Antriebe, Elektrik, Pneumatik, Stahlbau | +| `09_technische_unterlagen` | Layouts, Schaltpläne, Notstopp | +| `10_anhang` | Prüfberichte, Abnahmeprotokolle | + ## Umgebungsvariablen | Variable | Beschreibung | |----------------|---------------------------| -| `PROJECT` | Wurzelverzeichnis | -| `PV_BIN` | Skriptverzeichnis | -| `PV_LIB` | Python-Quellcode | -| `PV_CFG` | Konfigurationsdateien | -| `PV_DATA` | Eingabedaten | -| `PV_LOG` | Log-Dateien | -| `PV_RESULTS` | Ergebnisse | -| `PV_EXAMPLES` | Beispieldateien | -| `PYTHONPATH` | Erweitert um `PV_LIB` | +| `PROJECT` | Wurzelverzeichnis | +| `PV_BIN` | Skriptverzeichnis | +| `PV_LIB` | Python-Quellcode | +| `PV_CFG` | Konfigurationsdateien | +| `PV_DATA` | Eingabedaten | +| `PV_LOG` | Log-Dateien | +| `PV_RESULTS` | Ergebnisse | +| `PV_EXAMPLES` | Beispieldateien | +| `PYTHONPATH` | Erweitert um `PV_LIB` | ## Installation @@ -59,13 +114,14 @@ bash bin/install_py.sh ## Nutzung -### Umgebung setzen +### Umgebung aktivieren ```bat -bin\setenv.bat # Windows +bin\activate_venv.bat # Windows ``` + ```bash -source bin/setenv.sh # Linux / macOS +source bin/activate_venv.sh # Linux / macOS ``` ### Shell mit gesetzten Variablen oeffnen @@ -73,22 +129,22 @@ source bin/setenv.sh # Linux / macOS ```bat bin\get_cmd.bat # Windows ``` + ```bash source bin/get_cmd.sh # Linux / macOS ``` -### venv aktivieren +### Produkt-PDFs extrahieren + +Extrahiert Bilder und Text (als rST) aus den PDFs in `data/Produktprogramm/`: ```bat -bin\activate_venv.bat # Windows -``` -```bash -source bin/activate_venv.sh # Linux / macOS +bin\extract_products.bat # Windows ``` ## Lizenz -MIT License — siehe [LICENSE](LICENSE) +MIT License -- siehe [LICENSE](LICENSE) ## Autor