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>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
eb9237217e
commit
e7aa3b4e4b
@@ -0,0 +1,102 @@
|
||||
"""Sphinx-Konfiguration fuer den Fortna-Dokumentations-Build (DE).
|
||||
|
||||
Vorlaeufige Konfiguration fuer den ersten vollstaendigen Build aus dem Base-Repo
|
||||
heraus. Die spaetere Zwei-Repo-Architektur (conf_base.py + Projekt-conf.py, siehe
|
||||
doc/Kernkonzepte.md) ist hier noch nicht umgesetzt.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
# -- Projekt ----------------------------------------------------------------
|
||||
project = "Anlagendokumentation Fortna (500592 / KA 135776)"
|
||||
author = "Schoenenberger Systeme GmbH / Mista GmbH"
|
||||
copyright = "2026, Schoenenberger Systeme GmbH"
|
||||
release = "0.1"
|
||||
language = "de"
|
||||
|
||||
# -- Allgemein --------------------------------------------------------------
|
||||
extensions = [
|
||||
"myst_parser", # erlaubt .md gleichwertig zu .rst (Kernkonzepte.md)
|
||||
]
|
||||
|
||||
# Master-Dokument
|
||||
root_doc = "index"
|
||||
|
||||
source_suffix = {
|
||||
".rst": "restructuredtext",
|
||||
".md": "markdown",
|
||||
}
|
||||
|
||||
# Nur die deutschsprachigen Bausteine in den Build aufnehmen; fremdsprachige
|
||||
# {name}.en.rst / {name}.cz.rst (aktuell keine im Baum) werden ignoriert.
|
||||
# Sphinx sammelt per Default ALLE .rst/.md unter dem Wurzelverzeichnis ein.
|
||||
# Alles ausserhalb von chapters/ ausschliessen, damit nur die Doku-Bausteine
|
||||
# in den Build gelangen (CLAUDE.md, README.md, doc/, Git-Worktrees etc. raus).
|
||||
exclude_patterns = [
|
||||
"_build",
|
||||
"**/*.en.rst",
|
||||
"**/*.cz.rst",
|
||||
"*.md",
|
||||
".claude",
|
||||
".venv",
|
||||
".git",
|
||||
"doc",
|
||||
"examples",
|
||||
"results",
|
||||
"data",
|
||||
"lib",
|
||||
"bin",
|
||||
"cfg",
|
||||
"log",
|
||||
"tests",
|
||||
"projekte",
|
||||
"_ext",
|
||||
"_templates",
|
||||
"assets",
|
||||
"modules",
|
||||
"glossary",
|
||||
"styles",
|
||||
"scripts",
|
||||
# Defekte Altbestaende aus fruehen Testlaeufen (nicht von den fortna_*-Skripten
|
||||
# erzeugt): unvollstaendiger Bildbestand bzw. fehlende RST-Ueberschrift.
|
||||
# TODO: mit fortna_convert_chapters.py sauber neu erzeugen, dann Exclude entfernen.
|
||||
"chapters/02_sicherheit/risikobewertung/rb_fortna_h_m_500592_ev12_20260311.de.rst",
|
||||
"chapters/00_inhaltsverzeichnis/contens_obsah_500592_135776_v2_1_en_cz.de.rst",
|
||||
]
|
||||
|
||||
# -- HTML -------------------------------------------------------------------
|
||||
html_theme = "alabaster"
|
||||
|
||||
# -- LaTeX / PDF ------------------------------------------------------------
|
||||
# lualatex verkraftet die Unicode-Zeichen (tschechische Diakritik, ue/oe/ae,
|
||||
# Sonderzeichen aus der PDF-Extraktion) deutlich besser als pdflatex.
|
||||
latex_engine = "lualatex"
|
||||
|
||||
latex_documents = [
|
||||
(root_doc,
|
||||
"Fortna_Dokumentation_DE.tex",
|
||||
"Anlagendokumentation Fortna\\\\500592 / KA 135776",
|
||||
author,
|
||||
"manual"),
|
||||
]
|
||||
|
||||
# iconpackage=none: FontAwesome nicht laden. fontawesome7 (MiKTeX) bricht unter
|
||||
# lualatex beim Font-Analyze ab (\faDice undefined). Ohne Icons werden Admonitions
|
||||
# (.. note:: in den Verzeichnislisten) einfach ohne Symbol gesetzt.
|
||||
latex_elements = {
|
||||
"sphinxsetup": "iconpackage=none",
|
||||
"papersize": "a4paper",
|
||||
"pointsize": "11pt",
|
||||
# babel statt polyglossia erzwingen: polyglossia 2.13 (MiKTeX 09/2026) wirft
|
||||
# unter lualatex einen bidi-Initialisierungsfehler (\g__xpg_unibidi_str), der
|
||||
# fuer rein deutschen Text irrelevant ist. babel vermeidet ihn.
|
||||
"polyglossia": "",
|
||||
"babel": r"\usepackage[ngerman]{babel}",
|
||||
# Robustheit gegen ueberlange Zeilen aus der PDF-Textextraktion:
|
||||
"preamble": r"""
|
||||
\usepackage{microtype}
|
||||
\emergencystretch=3em
|
||||
\setcounter{tocdepth}{2}
|
||||
\sloppy
|
||||
""",
|
||||
}
|
||||
Reference in New Issue
Block a user