Commit Graph
18 Commits
Author SHA1 Message Date
Michael StanglandClaude Opus 4.8 bbfe17ec37 feat: Symbole zentralisieren + Fragment-Ueberschriften filtern
Perceptual-Hash-basierte Symbol-/Duplikaterkennung in lib/pdf_extract.py:

- average_hash() (aHash) + Hamming-Distanz statt exaktem Byte-Hash: erkennt
  visuell gleiche Bilder trotz unterschiedlicher Skalierung/Kompression
- Symbole (klein <=260px UND mehrfach vorkommend, z.B. Warndreiecke) werden
  EINMAL zentral nach assets/shared/symbols/symbol_<hash>.png abgelegt und im
  RST als .. image:: (12mm, zentriert) auf die eine Quelle referenziert -
  dokumentuebergreifend (registry). Ein Warndreieck: 1x gespeichert statt 58x
- grossformatige Inhaltsbild-Duplikate ebenfalls ueber aHash zusammengefuehrt
- Fragment-"Ueberschriften" (POS, li., re., "bar, max. 10 bar") unterdrueckt
- Altbestand assets/shared/symbols/img_*.png (durcheinander benannt) entfernt

Wirkung: omniflo images/ 83 -> 62, 14 zentrale Symbole statt zig Duplikate.
Voller PDF-Build sauber (lualatex exit 0, 719 Seiten).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-23 14:10:33 +02:00
Michael StanglandClaude Opus 4.8 c912b1e9d5 fix: saubere PDF-Extraktion der Fortna-Anleitungen (lib/pdf_extract.py)
Neues Modul lib/pdf_extract.py fuer die Volltext-Konvertierung der 5
Hauptanleitungen, behebt die Qualitaetsprobleme der ersten Version:

- Doppelte Nummerierung entfernt: PDF-Gliederungsnummer wird nur fuer die
  Ueberschriften-Ebene ausgewertet, im RST-Text weggelassen (Sphinx nummeriert)
- Bilder positionsbasiert (bbox) extrahiert und als .. figure:: mit Caption
  an der richtigen Textstelle referenziert (625 Refs, 0 fehlende Bilder)
- Fliesstext zu Absaetzen zusammengefuehrt statt je PDF-Zeile ein Absatz
- Aufzaehlungen als RST-Listen (Bullet-only-Zeilen mit Folgezeile gemergt,
  zusammengelaufene Bullets aufgesplittet)
- Aenderungshistorie-/Dokumentinfo-Tabellen und TOC-Seiten uebersprungen
- Symbolfont-Zeichen (PUA) auf Unicode gemappt

fortna_convert_chapters.py: nutzt pdf_extract statt extract_products, lesbare
Dokumenttitel je Kapitel, Verzeichnislisten fuellen Kapitel ohne DE-Quelle mit
vorhandenen Fremdsprachen (Ersatzteilliste EN).
build_index.py / conf.py: Fremd-Altdateien aus dem Build ausgeschlossen.
Alte Test-.rst aus fruehen convert_to_rst.py-Laeufen entfernt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-23 13:44:09 +02:00
Michael StanglandClaude Opus 4.8 e7aa3b4e4b feat: Fortna-Extraktion nach chapters/ + Sphinx-PDF-Build
Skripte zum Befuellen der Kapitelstruktur aus dem Fortna-Rohmaterial und
Aufbau eines vollstaendigen Sphinx/LaTeX-Builds (nur Code/Config/Doku,
generierte RST/Bilder/PDFs und Rohmaterial via .gitignore ausgeschlossen).

- lib/fortna_inventory.py: Rohmaterial scannen, Sprache+Zielkapitel+Aktion
  zuordnen, results/fortna_inventory.json schreiben
- lib/fortna_convert_chapters.py: 5 Hauptanleitungen volltextig (Text+Bilder)
  konvertieren, Verzeichnislisten (index.de.rst) fuer uebrige Kapitel
- lib/fortna_init_project.py: projekte/fortna/ (anlage.json, overrides, images)
- lib/build_index.py: index.rst mit toctrees aus chapters/**/*.de.rst generieren
- lib/extract_products.py: Symbolfont-Zeichen (PUA) auf Unicode mappen (clean_pua)
- conf.py: Sphinx-Build (lualatex, babel statt polyglossia, iconpackage=none)
- bin/: .bat/.sh-Wrapper fuer alle Skripte + build_pdf
- doc/: Konzept-Plan (plan_fortna_extraktion.md) und lib-Skript-Uebersicht
- requirements.txt: Sphinx + myst-parser ergaenzt

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-23 13:23:32 +02:00
Michael Stangl eb9237217e aktuelles Dokument für das Management hinzu 2026-09-23 11:09:13 +02:00
Michael Stangl 76000e29cf Neue MVO eingearbeitet 2026-09-22 17:10:15 +02:00
Michael Stangl 8998cd3e02 Summump Schalter erstellt 2026-05-19 17:44:35 +02:00
Michael Stangl 038b51d35d extract_ids.py impl. Bauen der json Files so dass die Bezeichnungen immer mit dabei stehen ausser in den Blättern. 2026-05-19 16:19:01 +02:00
Michael Stangl d10d7c8e01 erste Fassung des Extracts von json files aus den Excel Dateien des Kontrolling geschrieben. 2026-05-19 13:37:34 +02:00
Michael Stangl 6e64a82c70 Tabelle für Umsetzungsphasen und Coding Conventions in docu dazu. Projektübersicht und erster Wurf für Folder rein 2026-05-04 09:22:13 +02:00
Michael Stangl a7bc331a7f Nummernkreise für alle Produkte aus das Produktdatenblatt extrahiert. Fortna als Beispiel .xlsx unter examples dazu. create_examplex.py so impl., dass aus dem Sivas Export eine Liste der wirklich verbauten Produkte extrahiert werden kann, wenn man die cfg Produktnummern richtig pflegt 2026-04-30 17:14:16 +02:00
Michael Stangl 1f9193d332 defaultverhalten des Skripts ist es jetzt alle Beispiele zu bauen. Ansonsten kann man auch nur ein Unterverzeichnis angeben 2026-04-30 15:49:51 +02:00
Michael Stangl 1abd469043 Link auf Kernkonzepte in README.md 2026-04-30 15:33:59 +02:00
Michael Stangl 61f1430821 Hilfskripte zum Extrakt aus dem Produktprogramm erstellt. Kernkonzepte in README.md und doc 2026-04-30 15:30:43 +02:00
Michael Stangl c4581f8da3 sphinx, docutils, doc8, rstcheck und restructuredtext_lint installiert 2026-04-30 15:09:55 +02:00
Michael Stangl ae761b407a README.md berichtigt 2026-04-29 23:13:03 +02:00
Michael Stangl cfc494d0dd Extrakt von Fortna gestartet um Standardsymbole und Basis für die ersten .rst Files zu erhalten. 2026-04-29 22:55:30 +02:00
Michael Stangl 367eb38cc8 Andere Kapitelstruktur aufgesetzt, Bsp. Fortna 2026-04-28 23:30:56 +02:00
Michael Stangl 200a482c32 Erste Fassung erstellt. 2026-04-28 17:51:52 +02:00