Web-Prototyp fuer eine digitale Edition zur Berner Reformation (1528) mit Fokus auf Predigten und Disputation. Die Anwendung kombiniert:
- IIIF-Faksimile (OpenSeadragon, seitenbasiert)
- Textspalte fuer Transkription (mit optionalem Named-Entity-Linking)
- Textspalte fuer moderne deutsche Uebersetzung aus lokalen Markdown-Dateien
Implementiert:
- Single-Page-Webapp in
index.html - Navigation zwischen vier Bereichen: Startseite, Predigten, Disputation, Ressourcen
- Predigten-Viewer mit OpenSeadragon (Canvas-Wechsel pro Seite aus IIIF-Manifest)
- Disputation-Viewer mit OpenSeadragon und Variantenumschaltung
- Disputation kann pro Variante aus lokalem
viewer_manifest.jsongespeist werden (Transkribus-Export) - Seitennavigation fuer Bild + Transkription + Uebersetzung (beide Bereiche)
- Laden der Uebersetzungen aus den jeweiligen Bereichspfaden (Predigten/Disputation)
- Optionales Laden von Transkriptionen aus
data/predigten/transcriptions/ - Optionales Named-Entity-Linking via
data/predigten/entities/named_entities.json - Disputations-Ansichten:
- Druck von 1528
- A V 1447: Schlussredaktion
- A V 1443: Hertwig
- A V 1444: Cyro
- A V 1445: Schoeni
- A V 1446: Ruemlang
In Vorbereitung:
- Vollstaendige Befuellung der Disputations-Manifeste fuer alle Handschriften
- Personen-/Institutionsregister
- Vollstaendige Transkriptionsspalten
reformation/
├── index.html
├── README.md
├── PROJEKTPLAN.md
├── scripts/
│ └── sync_disputation_transkribus.py
├── config/
│ └── disputation_transkribus.example.json
├── docs/
│ └── named-entity-linking.md
└── data/
├── predigten/
│ ├── entities/
│ │ └── named_entities.json
│ ├── transcriptions/
│ │ └── page_<n>.md
│ └── translations/
│ └── README.md
└── disputation/
├── druck_1528/
├── a_v_1447_schlussredaktion/
├── a_v_1443_hertwig/
├── a_v_1444_cyro/
├── a_v_1445_schoeni/
└── a_v_1446_ruemlang/
Wichtige Dateien:
index.html: komplette Frontend-Logik (HTML, CSS, JavaScript)scripts/sync_disputation_transkribus.py: Sync von Bildern + PAGE XML + Zeilenkoordinaten aus Transkribusscripts/check_transkribus_credentials.py: Schneller Login-/Dokumentzugriffstest fuer Transkribusconfig/disputation_transkribus.example.json: Vorlage fuer Collection-/Document-IDsdata/predigten/translations/: Zielordner fuer Predigten-Uebersetzungendata/predigten/entities/named_entities.json: Alias- und Link-Index fuer Entitaetendata/disputation/: Variantenordner fuer die sechs Disputationsfassungendocs/named-entity-linking.md: Vorgehen fuer Vollabdeckung aller Entitaetendocs/disputation-transkribus-setup.md: Credential- und Sync-Setup fuer TranskribusPROJEKTPLAN.md: Projektplanung und Roadmap
Da Uebersetzungen via fetch(...) geladen werden, muss die Seite ueber einen lokalen Webserver laufen (nicht via file://).
- Im Projektverzeichnis starten:
cd /Users/TH_1/Documents/Repo/reformation
python3 -m http.server 8000- Im Browser oeffnen:
http://localhost:8000
Hinweis: Fuer OpenSeadragon und Manifest-Zugriff ist Internetzugang erforderlich (CDN + e-rara).
Dateinamen:
- Uebersetzung:
data/predigten/translations/page_<nummer>.md - Transkription:
data/predigten/transcriptions/page_<nummer>.md - Disputation pro Variante analog:
data/disputation/<variante>/translations/page_<nummer>.mddata/disputation/<variante>/transcriptions/page_<nummer>.mddata/disputation/<variante>/line_coords/page_<nummer>.json(Zeilenkoordinaten)
Einfaches Markdown-Schema:
- Zeilen mit
#werden als Abschnittstitel dargestellt - Alle anderen Zeilen werden als Fliesstext mit Zeilenumbruechen ausgegeben
Beispiel:
# Seite 1
Kurzer Abschnittstitel
Lauftext der Uebersetzung...- Die Konstante
PREDIGTEN_DEFAULT_TOTAL_PAGESinindex.htmldefiniert den Fallback, bis die Seitenzahl aus dem Manifest geladen ist. - Predigten nutzt
PREDIGTEN_MANIFEST_URL,PREDIGTEN_TRANSLATION_BASE_PATH,PREDIGTEN_TRANSCRIPTION_BASE_PATH. - Disputation wird ueber
DISPUTATION_VARIANTSkonfiguriert (Manifest + Datenpfade je Variante). - Named-Entity-Linking nutzt pro Bereich eine
named_entities.json(mitlabel,aliases,url). - Bei Varianten ohne IIIF-Manifest laedt das Frontend
data/disputation/<variante>/viewer_manifest.json. - Fuer Disputationsseiten mit
pagexmlkann das Frontend Zeilenkoordinaten direkt aus PAGE XML ableiten, falls keineline_coords-Datei vorliegt. - Repository-Validierung:
python3 scripts/validate_repo.py
- Fuer Seiten ohne Datei in
data/predigten/transcriptions/wird ein Platzhalter angezeigt. - Fuer Predigten sind derzeit keine finalen Uebersetzungen hinterlegt; es wird ein Platzhalter angezeigt.
- Der Predigten-Bereich erwartet numerische Seiten (
page_1.mdbispage_500.md). Zusaetzliche Dateien mit roemischen Seitenbezeichnungen werden derzeit nicht automatisch verwendet. - Fuer Varianten ohne IIIF-Manifest ist ein vorheriger Transkribus-Sync notwendig.
- Keine Build-Pipeline, Tests oder Linting eingerichtet (statischer Prototyp).
Details: docs/disputation-transkribus-setup.md
Kurzfassung:
pip install requestscp config/disputation_transkribus.example.json config/disputation_transkribus.json- IDs je Variante setzen (
collection_id,document_id) - Auth setzen (
TRANSKRIBUS_ACCESS_TOKENoderTRANSKRIBUS_USER+TRANSKRIBUS_PASSWORD) python3 scripts/check_transkribus_credentials.py --collection-id 2313234 --document-id 13922579python3 scripts/sync_disputation_transkribus.py --config config/disputation_transkribus.json --no-images
- Predigten (DOI): 10.3931/e-rara-3026
- Disputation (DOI): 10.3931/e-rara-47098
- OpenSeadragon: openseadragon.github.io
Konzeptionelle und organisatorische Details stehen in PROJEKTPLAN.md.