Definimos las reglas de Enter para que los párrafos se vean igual en otras herramientas
¿Alguna vez has pulsado Enter una vez en un editor Markdown y la pantalla ha bajado dos líneas, o has visto cómo unos párrafos que aparecían separados en pantalla quedaban unidos en un solo bloque en GitHub? Son las dos caras de la misma pregunta.

¿Qué debería ocurrir al pulsar Enter en un editor Markdown?
En la pantalla solo debería bajar una línea. Sin embargo, el archivo necesita dos saltos de línea para separar los párrafos. Esta diferencia, que parece sencilla, determina la naturaleza del editor.
mote optó por una forma de escribir los párrafos con naturalidad sin dejar de preservar el archivo tal cual.
Una pulsación baja una línea
En mote, Enter crea un nuevo párrafo.
En la pantalla baja una línea y en el archivo se introducen dos saltos de línea. Si ya hay un salto de línea junto al cursor, se cuenta como la mitad de la separación. Por eso, independientemente de lo que haya alrededor, una pulsación equivale a una fila.
Si solo quieres cambiar de línea dentro del mismo párrafo, puedes pulsar Shift+Enter. En el archivo se introduce un solo salto de línea y la línea siguiente permanece en el mismo bloque. Es útil cuando necesitas escribir líneas seguidas, como en una dirección o un poema.
La línea vacía entre párrafos no aparece por separado en la pantalla. Esto se debe a que es el separador que divide los párrafos. El cursor tampoco se detiene sobre ella. Al pulsar Backspace, la separación entre párrafos desaparece de una vez.
Así, con cada pulsación, la pantalla también se mueve una línea.
El archivo también conserva la forma propia de Markdown
Markdown separa los párrafos con dos saltos de línea.
Tratar un solo salto de línea como un párrafo causa problemas. En los archivos creados por otras personas, el espacio entre párrafos se duplica, y los archivos creados en mote quedan unidos en un solo párrafo en GitHub o Pandoc.
Para manejar este modelo, Typora normaliza el archivo al guardarlo. Por ejemplo, reduce tres líneas vacías a una. mote no modifica el archivo por ti. Esto se debe al principio de no añadir ni eliminar bytes que el usuario no haya escrito.
En su lugar, establecimos una regla más.
No creamos líneas que estén en el archivo pero que no puedan verse ni editarse. Solo ocultamos una línea vacía que separa los párrafos y mostramos todas las demás en la pantalla.
Las líneas vacías también necesitaban reglas
Al principio, solo considerábamos como separador de párrafos la primera de varias líneas vacías consecutivas.
Entonces empezaron a ocurrir cosas extrañas. Al escribir texto en una fila vacía, este se unía al párrafo de abajo, y para crear un nuevo párrafo había que pulsar Enter una vez más. Después de eliminar un párrafo, a veces también quedaba una fila vacía.
La causa era una sola. La separación entre párrafos consiste en una pareja de dos saltos de línea, pero solo uno de ellos se contabilizaba como separador.
Ahora, dentro de una secuencia de líneas vacías, los separadores y los párrafos vacíos aparecen alternativamente. Tres líneas vacías en el archivo se convierten en una fila vacía en la pantalla. Como un párrafo vacío también es una fila, necesita separadores a ambos lados.
También dejamos claro cuándo Enter reutiliza los saltos de línea circundantes. Solo reutiliza el salto de línea que une dos líneas del mismo párrafo. No reutiliza un salto de línea que ya se esté usando para separar párrafos.
Backspace sigue el mismo principio. Al borrar un párrafo vacío, esa fila y los separadores que la rodean desaparecen juntos. Una pulsación reduce solo una fila.
Este comportamiento se comprueba tanto en la pantalla como en el archivo. En una misma prueba verificamos no solo la altura de las filas en pantalla, sino también los bytes que realmente se guardan en el archivo.
En el modo fuente se muestra el archivo tal cual
Las reglas de los párrafos solo se aplican al modo en vivo y al modo de lectura.
En el modo fuente, cada línea ocupa una fila. Las líneas vacías también se muestran tal cual y el cursor puede ir a cualquier lugar. Al pulsar Enter, solo se introduce un salto de línea.

Si hemos añadido una interpretación a la pantalla, también debe haber un lugar donde quitar esa interpretación y ver el original. Por eso también es necesario el modo fuente al trabajar con tablas o bloques de código.
Mostrarlo tal cual también tiene sus limitaciones
Si el archivo termina con un salto de línea, al final se muestra una fila vacía.
El último salto de línea no es un separador entre dos bloques. Es un lugar donde se puede introducir el siguiente carácter. Por eso no lo ocultamos.
Los documentos que en versiones anteriores de mote se dividían con un solo salto de línea ahora se muestran como un único párrafo. Es el resultado conforme a las reglas de Markdown. Para separar el párrafo, basta con pulsar Enter una vez más en esa posición. mote no modifica el archivo a escondidas.
Los párrafos no existen únicamente en la pantalla ni únicamente en el archivo. mote está diseñado para que se escriban con naturalidad en la pantalla y permanezcan como Markdown en el archivo.