Problema / motivazione
Quando si modificano post ricchi di formule matematiche, è spesso difficile individuare l’origine esatta di un’equazione renderizzata nell’editor Markdown.
In post lunghi con molte espressioni inline $\$…\$$ o più blocchi di visualizzazione \\$…\\$\$, il flusso di lavoro diventa:
individuare un errore nell’anteprima → cercare manualmente nel Markdown grezzo → modificare → ricontrollare l’anteprima
Questo è particolarmente fastidioso per piccole modifiche (segno meno mancante, indice errato, ritocco dello spazio, ecc.), e peggiora con l’aumentare dei post.
Comportamento proposto
Nell’editor:
- Cliccare o evidenziare un elemento renderizzato nel riquadro di anteprima dovrebbe:
- scorrere l’editor Markdown grezzo fino alla sorgente corrispondente, e
- posizionare il cursore all’interno (o selezionare) il testo sorgente che lo ha prodotto.
Questo funzionerebbe particolarmente bene per:
• Matematica ($\…\\, \\$…\$$$)
• Citazioni
• Elenchi
• Link
• Altri elementi elaborati
La matematica è il caso d’uso più convincente, ma il comportamento sarebbe generalmente utile.
Perché è diverso dalla sincronizzazione dello scorrimento
Non si tratta di sincronizzare lo scorrimento durante la digitazione.
Si tratta di un salto da anteprima a sorgente, simile nello spirito a SyncTeX negli editor LaTeX:
“Sto guardando questo elemento renderizzato - mostrami da dove proviene.”
Possibile direzione di implementazione (alto livello)
Durante l’elaborazione (cooking), i nodi di output potrebbero trasportare metadati leggeri di mappatura della sorgente (ad esempio, data-sourcepos=\"start:end\" o simile).
Nell’anteprima dell’editor:
- Al clic / selezione, risalire il DOM fino al nodo più vicino con metadati di posizione della sorgente.
- Utilizzare l’API esistente dell’editor per impostare l’intervallo di selezione nell’editor grezzo e portarlo in vista.
Questo tipo di mappatura della sorgente esiste già concettualmente negli strumenti CommonMark, e i blocchi matematici in particolare sono candidati naturali poiché sono già tokenizzati in modo distinto.
Perché sarebbe prezioso
- Iterazione molto più veloce sui contenuti ricchi di matematica
- Riduce il carico cognitivo durante la modifica di lunghi post tecnici
- Rende il riquadro di anteprima genuinamente interattivo, non solo passivo
- Si adatta bene ad altri elementi elaborati oltre alla matematica
Sono lieto di preparare una breve GIF se può aiutare a illustrare l’interazione.