Compare commits
2 Commits
cfc494d0dd
...
c4581f8da3
| Author | SHA1 | Date | |
|---|---|---|---|
| c4581f8da3 | |||
| ae761b407a |
@@ -1,43 +1,98 @@
|
|||||||
# docu_build
|
# 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
|
## Projektstruktur
|
||||||
|
|
||||||
```
|
```text
|
||||||
docu_build/
|
docu_build/
|
||||||
|
├── _ext/ # Sphinx-Extensions (zu implementieren)
|
||||||
|
├── _templates/ # Sphinx/LaTeX-Templates
|
||||||
|
├── assets/
|
||||||
|
│ ├── shared/ # Sprachunabhängige Bilder/Symbole
|
||||||
|
│ └── localized/ # Sprachspezifische Bilder
|
||||||
├── bin/ # Skripte zur Umgebungsverwaltung
|
├── bin/ # Skripte zur Umgebungsverwaltung
|
||||||
│ ├── setenv.bat/.sh # Umgebungsvariablen setzen
|
│ ├── setenv.bat/.sh # Umgebungsvariablen setzen
|
||||||
│ ├── install_py.bat/.sh # venv erstellen + pip install
|
│ ├── install_py.bat/.sh # venv erstellen + pip install
|
||||||
│ ├── activate_venv.bat/.sh # venv aktivieren
|
│ ├── activate_venv.bat/.sh # venv aktivieren
|
||||||
│ └── get_cmd.bat/.sh # Shell mit Umgebung oeffnen
|
│ ├── get_cmd.bat/.sh # Shell mit Umgebung oeffnen
|
||||||
├── cfg/ # Konfigurationsdateien (INI/JSON)
|
│ ├── 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)
|
├── data/ # Eingabedaten (nicht im Git)
|
||||||
├── doc/ # Dokumentation
|
├── doc/ # Projektdokumentation
|
||||||
├── examples/ # Beispieldateien
|
├── glossary/ # Glossar-Quelldaten (CSV)
|
||||||
├── lib/ # Python-Quellcode / Bibliothek
|
├── lib/ # Python-Bibliotheken
|
||||||
|
├── modules/ # Modulbeschreibungen + meta.yaml
|
||||||
|
├── scripts/ # Hilfsskripte (dxf2svg, optimize_images, ...)
|
||||||
|
├── styles/ # LaTeX-Styles
|
||||||
|
├── tests/ # Tests
|
||||||
├── log/ # Log-Dateien (nicht im Git)
|
├── log/ # Log-Dateien (nicht im Git)
|
||||||
├── results/ # Ergebnisse / Ausgaben (nicht im Git)
|
└── results/ # Build-Ausgaben (nicht im Git)
|
||||||
├── tests/ # Unit Tests
|
|
||||||
├── .gitignore
|
|
||||||
├── LICENSE
|
|
||||||
├── README.md
|
|
||||||
└── requirements.txt
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 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
|
## Umgebungsvariablen
|
||||||
|
|
||||||
| Variable | Beschreibung |
|
| Variable | Beschreibung |
|
||||||
|----------------|---------------------------|
|
|----------------|---------------------------|
|
||||||
| `PROJECT` | Wurzelverzeichnis |
|
| `PROJECT` | Wurzelverzeichnis |
|
||||||
| `PV_BIN` | Skriptverzeichnis |
|
| `PV_BIN` | Skriptverzeichnis |
|
||||||
| `PV_LIB` | Python-Quellcode |
|
| `PV_LIB` | Python-Quellcode |
|
||||||
| `PV_CFG` | Konfigurationsdateien |
|
| `PV_CFG` | Konfigurationsdateien |
|
||||||
| `PV_DATA` | Eingabedaten |
|
| `PV_DATA` | Eingabedaten |
|
||||||
| `PV_LOG` | Log-Dateien |
|
| `PV_LOG` | Log-Dateien |
|
||||||
| `PV_RESULTS` | Ergebnisse |
|
| `PV_RESULTS` | Ergebnisse |
|
||||||
| `PV_EXAMPLES` | Beispieldateien |
|
| `PV_EXAMPLES` | Beispieldateien |
|
||||||
| `PYTHONPATH` | Erweitert um `PV_LIB` |
|
| `PYTHONPATH` | Erweitert um `PV_LIB` |
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -59,13 +114,14 @@ bash bin/install_py.sh
|
|||||||
|
|
||||||
## Nutzung
|
## Nutzung
|
||||||
|
|
||||||
### Umgebung setzen
|
### Umgebung aktivieren
|
||||||
|
|
||||||
```bat
|
```bat
|
||||||
bin\setenv.bat # Windows
|
bin\activate_venv.bat # Windows
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
source bin/setenv.sh # Linux / macOS
|
source bin/activate_venv.sh # Linux / macOS
|
||||||
```
|
```
|
||||||
|
|
||||||
### Shell mit gesetzten Variablen oeffnen
|
### Shell mit gesetzten Variablen oeffnen
|
||||||
@@ -73,22 +129,22 @@ source bin/setenv.sh # Linux / macOS
|
|||||||
```bat
|
```bat
|
||||||
bin\get_cmd.bat # Windows
|
bin\get_cmd.bat # Windows
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
source bin/get_cmd.sh # Linux / macOS
|
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
|
```bat
|
||||||
bin\activate_venv.bat # Windows
|
bin\extract_products.bat # Windows
|
||||||
```
|
|
||||||
```bash
|
|
||||||
source bin/activate_venv.sh # Linux / macOS
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Lizenz
|
## Lizenz
|
||||||
|
|
||||||
MIT License — siehe [LICENSE](LICENSE)
|
MIT License -- siehe [LICENSE](LICENSE)
|
||||||
|
|
||||||
## Autor
|
## Autor
|
||||||
|
|
||||||
|
|||||||
+38
-10
@@ -1,10 +1,38 @@
|
|||||||
# Python-Abhaengigkeiten
|
annotated-doc==0.0.4
|
||||||
# Installieren mit: pip install -r requirements.txt
|
annotated-types==0.7.0
|
||||||
|
cffi==2.0.0
|
||||||
# Dokumenten-Konvertierung
|
charset-normalizer==3.4.7
|
||||||
mammoth >= 1.8.0
|
click==8.3.3
|
||||||
pdfminer.six >= 20231228
|
cobble==0.1.4
|
||||||
PyMuPDF >= 1.24.0
|
colorama==0.4.6
|
||||||
|
cryptography==47.0.0
|
||||||
# reStructuredText / Sphinx
|
doc8==2.0.0
|
||||||
docutils >= 0.21
|
docutils==0.21.2
|
||||||
|
et_xmlfile==2.0.0
|
||||||
|
mammoth==1.12.0
|
||||||
|
markdown-it-py==4.0.0
|
||||||
|
mdurl==0.1.2
|
||||||
|
numpy==2.4.4
|
||||||
|
openpyxl==3.1.5
|
||||||
|
pandas==3.0.2
|
||||||
|
pdfminer.six==20251230
|
||||||
|
pdfplumber==0.11.9
|
||||||
|
pillow==12.2.0
|
||||||
|
pycparser==3.0
|
||||||
|
pydantic==2.13.3
|
||||||
|
pydantic_core==2.46.3
|
||||||
|
Pygments==2.20.0
|
||||||
|
PyMuPDF==1.27.2.3
|
||||||
|
pypdfium2==5.7.1
|
||||||
|
python-dateutil==2.9.0.post0
|
||||||
|
restructuredtext_lint==2.0.2
|
||||||
|
rich==15.0.0
|
||||||
|
rstcheck==6.2.5
|
||||||
|
rstcheck-core==1.2.2
|
||||||
|
shellingham==1.5.4
|
||||||
|
six==1.17.0
|
||||||
|
stevedore==5.7.0
|
||||||
|
typer==0.25.0
|
||||||
|
typing-inspection==0.4.2
|
||||||
|
typing_extensions==4.15.0
|
||||||
|
tzdata==2026.2
|
||||||
|
|||||||
Reference in New Issue
Block a user