Problem / Motivation
Beim Bearbeiten von Beiträgen mit vielen mathematischen Formeln ist es oft schwierig, die genaue Quelle einer gerenderten Gleichung im Markdown-Editor zu finden.
Bei langen Beiträgen mit vielen Inline-$...$-Ausdrücken oder mehreren $$...$$-Anzeigeblöcken sieht der Arbeitsablauf wie folgt aus:
Fehler in der Vorschau erkennen → im rohen Markdown manuell suchen → anpassen → Vorschau erneut überprüfen
Dies ist besonders mühsam bei kleinen Änderungen (fehlendes Minuszeichen, falscher Index, Anpassung des Abstands usw.) und wird bei wachsender Beitragsgröße schlimmer.
Vorgeschlagenes Verhalten
Im Editor:
- Das Klicken oder Markieren eines gerenderten Elements im Vorschaufenster sollte:
- zum entsprechenden Quelltext im rohen Markdown-Editor scrollen und
- den Cursor in den Quelltext setzen (oder diesen auswählen), der es erzeugt hat.
Dies würde sich besonders gut eignen für:
• Mathematik (…, $$…$$)
• Zitate
• Listen
• Links
• Andere verarbeitete Elemente
Mathematik ist der überzeugendste Anwendungsfall, aber das Verhalten wäre allgemein nützlich.
Warum dies sich von der Scroll-Synchronisierung unterscheidet
Hier geht es nicht um synchronisiertes Scrollen während der Eingabe.
Es handelt sich um einen Sprung von der Vorschau zur Quelle, ähnlich dem Geist von SyncTeX in LaTeX-Editoren:
„Ich schaue mir dieses gerenderte Ding an – zeig mir, woher es kommt.“
Mögliche Implementierungsrichtung (hochrangig)
Während des Renderings könnten Ausgabeknoten leichtgewichtige Metadaten zur Quellzuordnung tragen (z. B. data-sourcepos="start:end" oder Ähnliches).
In der Editor-Vorschau:
- Beim Klicken/Auswählen den DOM-Baum nach oben zum nächsten Knoten mit Metadaten zur Quellposition durchlaufen.
- Die vorhandene Editor-API verwenden, um den Auswahlbereich im rohen Editor festzulegen und ihn in die Ansicht zu scrollen.
Diese Art der Quellzuordnung existiert konzeptionell bereits in CommonMark-Tools, und mathematische Blöcke sind natürliche Kandidaten, da sie bereits eindeutig tokenisiert sind.
Warum dies wertvoll wäre
- Viel schnellere Iteration bei Inhalten mit vielen mathematischen Formeln
- Reduziert die kognitive Belastung beim Bearbeiten langer technischer Beiträge
- Macht das Vorschaufenster wirklich interaktiv, nicht nur passiv
- Lässt sich gut auf andere verarbeitete Elemente jenseits der Mathematik skalieren
Gerne erstelle ich eine kurze GIF-Animation, um die Interaktion zu veranschaulichen.