Implementiert ein professionelles Build-System für Windows-Benutzer ohne Python-Installation: PyInstaller-Integration: - DocuMentor.spec mit automatischer Icon/Version-Einbindung - Unterstützung für alle PySide6-UI-Dateien und Dependencies - UPX-Kompression für kleinere Executable-Größe Icon-System: - create_icon.py generiert Standard-Icon oder konvertiert PNG zu ICO - Multi-Size ICO (16x16 bis 256x256) für alle Windows-Kontexte - Automatische Integration in Build-Prozess - Prompts für Bild-KIs (Gemini, DALL-E, etc.) Versionsinformationen: - create_version_info.py liest Version aus pyproject.toml - Windows-Datei-Eigenschaften (Rechtsklick → Details) - Automatische Generierung bei jedem Build Build-Automatisierung: - build_windows.py orchestriert gesamten Build-Prozess - Erstellt Icon und Versionsinformationen automatisch - Generiert ZIP-Archiv für Distribution - Cleanup alter Builds Inno Setup-Integration: - installer.iss für professionelle Setup.exe - GUID-Generator (generate_guid.py) - Desktop-Verknüpfungen und Start-Menü-Integration Dokumentation: - BUILD.md - Schnellstart-Anleitung - docs/windows_distribution.md - Detaillierte Distribution-Dokumentation - docs/icon_and_version_info.md - Icon- und Versions-System - resources/icon_prompt.md - KI-Prompts für Icon-Generierung Dependencies: - pyinstaller>=6.0.0 für Executable-Erstellung - pillow>=10.0.0 für Icon-Generierung Externe Abhängigkeiten (Java, FOP, Saxon, diff-pdf) bleiben separat installierbar. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
DocuMentor
Professionelle XSL-Transformations-Verwaltung und PDF-Generierung
DocuMentor (ehemals xsl-validator) ist eine leistungsstarke PySide6-basierte Desktop-Anwendung zur Verwaltung und Validierung von XSL-Transformationen mit automatischer PDF-Generierung. Die Anwendung bietet eine intuitive GUI zur Konfiguration von Transformations-Toolchains (Saxon, Apache FOP, diff-pdf) und zur Verwaltung komplexer PDF-Generierungsprojekte mit PostgreSQL-Datenbankintegration.
Features
🌳 Hierarchische Projektverwaltung
- Organisieren Sie Ihre XSL-Transformationen in einer übersichtlichen Baumstruktur
- Flexible Workflow-Definitionen mit verschachtelten Knoten
- Projektspezifische Konfiguration mit
project.yaml
⚡ Asynchrone Batch-Verarbeitung
- Verarbeiten Sie große Mengen von XML-Dateien im Hintergrund
- Fortschrittsanzeige für lange Transformationen
- 4x schnellere XSLT-Transformationen durch Worker-Pool-Architektur
🔍 Intelligente Duplikatserkennung
- Automatische Hash-basierte Erkennung von identischen XML-Dateien (Blake2b)
- Verhindert Redundanzen und spart Speicherplatz
- Asynchrone Hash-Berechnung im Hintergrund
📄 PDF-Vergleichsansicht
- Drei-Panel-Ansicht (Referenz, Diff, Neu)
- Alpha-Blending für visuellen Vergleich
- Zoom- und Pan-Funktionalität
🗄️ PostgreSQL-Integration
- Nahtlose Datenbankanbindung mit Polars und ConnectorX
- Performante SQL-Abfragen und Datenverarbeitung
- SSL-Modus-Unterstützung
🛠️ Konfigurierbare Toolchains
- Flexible Verwaltung von Saxon, Apache FOP und diff-pdf
- Versionierung von Tools
- Plattformübergreifende Unterstützung (Linux, Windows, macOS)
🎨 Modernes UI
- Dark-Theme-Unterstützung via
qdarktheme - Drag-and-Drop für XML-Dateien
- Responsive und intuitive Benutzeroberfläche
Installation
Voraussetzungen
- Python 3.13 oder höher
- uv Paketmanager
Abhängigkeiten installieren
# Mit uv (empfohlen)
uv sync
# Oder mit pip
pip install -e .
Externe Tools (optional)
Für die volle Funktionalität benötigen Sie:
- Saxon-HE: XSLT 3.0 Prozessor (Download)
- Apache FOP: PDF-Generierung aus XSL-FO (Download)
- diff-pdf: PDF-Vergleich (GitHub)
Verwendung
Anwendung starten
uv run python src/main.py
Projekt erstellen
- Legen Sie ein neues Projekt an
- Konfigurieren Sie Ihre Tools (Saxon, Apache FOP) in den Einstellungen
- Organisieren Sie XSL-Stylesheets und XML-Dateien in der Baumstruktur
- Führen Sie Transformationen aus
Konfiguration
Die Anwendung speichert Konfigurationsdateien an folgenden Orten:
- Linux:
~/.config/DocuMentor/config.json - Windows:
%APPDATA%\DocuMentor\config.json - macOS:
~/Library/Application Support/DocuMentor/config.json
Projektdaten werden in project.yaml im jeweiligen Projektverzeichnis gespeichert.
Entwicklung
Code-Qualität
# Code-Style prüfen
uv run ruff check
# Code formatieren
uv run ruff format
Tests
# Hash-Implementierung testen
uv run python test_hash_implementation.py
# Duplikatserkennung testen
uv run python test_xml_hash_duplicate_detection.py
Architektur
- PySide6: Native Qt-basierte GUI
- Pydantic: Typsichere Konfigurationsverwaltung
- Polars: Lightning-fast DataFrame-Verarbeitung
- Blake2b: Kryptographische Hash-Funktion für Integritätsprüfung
Siehe CLAUDE.md für detaillierte Entwicklerdokumentation.
Lizenz
DocuMentor ist unter der MIT License lizenziert.
Third-Party-Lizenzen
Diese Software verwendet folgende Open-Source-Bibliotheken:
- PySide6 - LGPL-3.0 OR GPL-2.0 OR GPL-3.0
- Pydantic - MIT License
- Polars - MIT License
- pyqtdarktheme - MIT License
- Weitere siehe THIRD_PARTY_LICENSES.txt
Externe Tools (separat zu installieren):
- Saxon-HE - Mozilla Public License 2.0
- Apache FOP - Apache License 2.0
Vollständige Lizenzanalyse: LICENSES.md
Beiträge
Beiträge sind willkommen! Bitte beachten Sie:
- Fork des Repositories
- Feature-Branch erstellen (
git checkout -b feature/amazing-feature) - Änderungen committen (
git commit -m 'Add amazing feature') - Branch pushen (
git push origin feature/amazing-feature) - Pull Request öffnen
Code-Konventionen
- Deutsche Sprache für UI-Texte und Kommentare
pathlib.Pathfür Dateipfade- Zeilenlänge: 120 Zeichen (Ruff-Konfiguration)
- UI-Dateien (
*_ui.py) werden automatisch generiert - nicht manuell bearbeiten!
Support
Bei Fragen, Problemen oder Feature-Requests:
- GitHub Issues: Issue Tracker
- Dokumentation: docs/
Changelog
Version 0.1.0 (2025-01)
- ✅ Hierarchische Projektverwaltung
- ✅ Asynchrone Batch-Verarbeitung
- ✅ Blake2b-Hash-basierte Duplikatserkennung
- ✅ PDF-Vergleichsansicht
- ✅ PostgreSQL-Integration
- ✅ Worker-Pool für 4x schnellere Transformationen
- ✅ Dark-Theme-Unterstützung
Autoren
- [Ihr Name] - Initial work
Danksagungen
Vielen Dank an alle Entwickler der verwendeten Open-Source-Bibliotheken!
DocuMentor - Professionelle XSL-Transformations-Verwaltung für anspruchsvolle Projekte