Abbiamo definito le regole del tasto Invio affinché i paragrafi appaiano uguali anche in altri strumenti
Ti è mai capitato di premere una sola volta Invio in un editor Markdown e vedere il cursore scendere di due righe, oppure di trovare su GitHub, uniti in un unico blocco, paragrafi che sullo schermo erano separati? Sono le due facce della stessa domanda.

Che cosa dovrebbe accadere quando si preme Invio in un editor Markdown?
Sullo schermo si dovrebbe scendere di una sola riga. Nel file, però, servono due caratteri di nuova riga per separare i paragrafi. Questa differenza, apparentemente semplice, determina la natura dell’editor.
mote ha scelto un metodo che conserva il file così com’è e permette comunque di scrivere i paragrafi in modo naturale.
Premendo una volta si scende di una riga
In mote, Invio crea un nuovo paragrafo.
Sullo schermo si scende di una riga, mentre nel file vengono inseriti due caratteri di nuova riga. Se accanto al cursore è già presente un carattere di nuova riga, questo viene contato come metà della separazione. Perciò, indipendentemente da ciò che si trova intorno, premendo una volta si ottiene una sola riga.
Se vuoi soltanto andare a capo all’interno dello stesso paragrafo, puoi premere Maiusc+Invio. Nel file viene inserito un solo carattere di nuova riga e anche la riga successiva rimane nello stesso blocco. È utile quando occorre scrivere su righe consecutive, come negli indirizzi o nelle poesie.
La riga vuota tra i paragrafi non appare separatamente sullo schermo. Questo perché è un separatore che divide i paragrafi. Nemmeno il cursore può fermarsi su di essa. Premendo Backspace, la separazione tra i paragrafi scompare in un solo colpo.
A ogni input, anche lo schermo si sposta di una riga alla volta.
Anche il file rimane conforme al Markdown
Il Markdown separa i paragrafi con due caratteri di nuova riga.
Considerare un solo carattere di nuova riga come un paragrafo causa dei problemi. Nei file creati da altre persone, la distanza tra i paragrafi raddoppia, mentre i file creati con mote vengono riuniti in un unico paragrafo su GitHub o in Pandoc.
Per gestire questo modello, Typora normalizza il file al momento del salvataggio. Per esempio, riduce tre righe vuote a una. mote non modifica il file al posto dell’utente. Il principio è non aggiungere né eliminare byte che l’utente non ha scritto.
Al suo posto, è stata stabilita un’altra regola.
Non vengono create righe presenti nel file ma invisibili e non modificabili. Viene nascosta soltanto una riga vuota che separa i paragrafi; tutte le altre vengono mostrate sullo schermo.
Anche le righe vuote avevano bisogno di regole
All’inizio, tra una serie di righe vuote consecutive, soltanto la prima veniva considerata un separatore di paragrafi.
Questo provocava uno strano comportamento. Scrivendo in una riga vuota, il testo si univa al paragrafo sottostante e, per creare un nuovo paragrafo, bisognava premere Invio un’altra volta. Dopo aver eliminato un paragrafo, poteva anche rimanere una riga vuota.
La causa era una sola. La separazione tra paragrafi è formata da una coppia di caratteri di nuova riga, ma soltanto uno dei due veniva conteggiato come separatore.
Ora, all’interno di una serie di righe vuote consecutive, separatori e paragrafi vuoti si alternano. Tre righe vuote nel file diventano una riga vuota sullo schermo. Poiché anche un paragrafo vuoto occupa una riga, ha bisogno di un separatore su entrambi i lati.
È stato chiarito anche quando Invio può riutilizzare i caratteri di nuova riga circostanti. Viene riutilizzato soltanto un carattere di nuova riga che collega due righe dello stesso paragrafo. Un carattere già utilizzato per separare i paragrafi non viene riutilizzato.
Anche Backspace segue lo stesso principio. Quando si elimina un paragrafo vuoto, quella riga e i separatori circostanti scompaiono insieme. Premendo una volta, viene rimossa una sola riga.
Questo comportamento viene verificato sia sullo schermo sia nel file. Lo stesso test controlla non soltanto l’altezza delle righe sullo schermo, ma anche i byte effettivamente salvati nel file.
In modalità sorgente, il file viene mostrato così com’è
Le regole dei paragrafi si applicano soltanto alla modalità live e alla modalità di lettura.
In modalità sorgente, ogni riga occupa una riga sullo schermo. Anche le righe vuote vengono mostrate così come sono e il cursore può andare ovunque. Premendo Invio viene inserito un solo carattere di nuova riga.

Se allo schermo è stata aggiunta un’interpretazione, deve esserci anche un luogo in cui rimuoverla e vedere l’originale. È per questo che la modalità sorgente è necessaria anche quando si lavora con tabelle o blocchi di codice.
Mostrarlo così com’è comporta anche alcuni limiti
Se il file termina con un carattere di nuova riga, alla fine viene mostrata una riga vuota.
L’ultimo carattere di nuova riga non è un separatore tra due blocchi. È uno spazio in cui si può digitare il carattere successivo. Per questo non viene nascosto.
I documenti separati da un solo carattere di nuova riga nelle vecchie versioni di mote ora vengono mostrati come un unico paragrafo. È il risultato conforme alle regole del Markdown. Per separare i paragrafi, basta premere Invio un’altra volta nel punto corrispondente. mote non modifica il file di nascosto.
Un paragrafo non esiste soltanto sullo schermo, né soltanto nel file. mote è stato progettato affinché la scrittura risulti naturale sullo schermo e il file rimanga conforme al Markdown.