Las tildes escapadas en el nuevo editor de texto enriquecido tienen errores

Al escribir un párrafo que contiene código en línea delimitado por dos o más tildes en el editor de texto enriquecido para escapar las tildes interiores, escribir tildes subsiguientes (fuera de él) no funciona como se esperaba. Específicamente, si tengo un texto que usa una ` (tilde) como esta, presionar la tecla \u003ckbd\u003e\`\u003c/kbd\u003e nuevamente más tarde en el mismo párrafo hace que el tramo de código en línea se active y desactive.

La ` escapada también es problemática.

Copia y pega lo siguiente en el editor de texto enriquecido para replicarlo:

Al escribir un párrafo que contiene código en línea delimitado
por dos o más tildes en el editor de texto enriquecido para escapar las tildes interiores, escribir tildes subsiguientes (fuera de él) no funciona como se esperaba.
Específicamente, si tengo un texto que `` usa una ` (tilde) `` como esta,
presionar la tecla \u003ckbd\u003e\\`\u003c/kbd\u003e nuevamente más tarde en el mismo párrafo
hace que el tramo de código en línea se active y desactive.

La \` escapada también es problemática.
1 me gusta

Este es uno complicado, \ en realidad no tiene ninguna semántica especial por lo que puedo ver, simplemente se convierte de \ a \\\\ durante el viaje de ida y vuelta.

@renato puede tener algunas ideas aquí, caso límite interesante.

1 me gusta

Esto debería estar arreglado ahora, ¿aún puedes reproducir este problema ejecutando latest (por ejemplo, en Meta/Try)?

2 Me gusta
\\` todavía se comporta de manera un poco extraña para mí. en particular \\` se convierte en \\\\\\` y luego, cuando miras, se agrega un extra ` las cosas se cierran.

Se siente como algo realmente difícil de arreglar por completo.

Lo siento, no entiendo. ` no se supone que deba escapar.

En tipo markdown

\`hola

Luego cambia a rich y escribe

\` 

Eso crea un bloque de código y técnicamente debería renderizarse

`hola`

2 Me gusta

Esto funciona según lo previsto, el escape se pierde al analizar y eso es esperado ya que el escape es un concepto de markdown.

La forma intencionada de escapar en el modo de editor enriquecido es retroceder después de que ocurra la regla de entrada.

1 me gusta

Oh, ya veo, gracias por aclarar.

1 me gusta

Sí, esto es un poco mejor, pero todavía es imposible escribir código en línea que contenga un ` sin algunas manipulaciones después de equivocarse. No puedes usar preventivamente más de un `. Escribir ese \u003ckbd\u003e\\u003c/kbd\u003e de arriba o el código escapado que lo crea (``\u003ckbd\u003e\\\u003c/kbd\u003e``) son ejemplos perfectos de cosas que son casi imposibles de hacer con el modo WYSIWYG, incluso con manipulaciones.

Entiendo que puedes presionar retroceso para deshacer el formato y “escaparlo” implícitamente, pero me cuesta predecir cuándo se aplicará el formato. Por ejemplo, `4*5*6` se escribe de forma natural cuando va precedido inmediatamente por ese ` abierto, pero no siempre es así. 4*5*6=120 se escribe bien, pero 120=456 no (el cinco se puso en cursiva transitoriamente ahí).

¿Qué sugieres que hagamos en estos casos específicos? ¿Tienes algún ejemplo de otro producto que lo haga de una manera de la que podamos inspirarnos?

Puedes escribir , seleccionarlo, luego escribir `` ocmd+E` para alternarlo a marca en línea.

Puedes presionar cmd+E y luego escribir . Puedes usar cmd+E para alternar la marca en línea para el siguiente carácter al escribir, al igual que puedes hacerlo con cmd+B para negrita o cmd+I para cursiva.

La regla de entrada \u003ckbd\u003e autoselecciona un carácter vacío (para evitar que el navegador elimine automáticamente un nodo vacío), por lo que solo tienes que deseleccionarlo primero (ya que presionar en este caso crea una marca en línea de la selección; potencialmente podemos eliminar ese comportamiento, ya que tenemos cmd+E para esto).

Entiendo que estas pueden no ser las opciones ideales, pero son los compromisos que tenemos para todas las particularidades dentro de Discourse. Estamos abiertos a sugerencias, si puedes compartir cómo te gustaría que funcionara en su lugar.

Bueno, abrí este tema cuando parecía que habilitar el editor WYSIWYG haría que el editor de markdown fuera monoespaciado (ver Monospace font in the Markdown-only editor - #58 by mbauman). Me alegro mucho de que ya no sea así y de que ahora sea configurable, porque, sí, nunca he conocido un editor WYSIWYG de markdown que me gustara. Sin embargo, esto se acerca. :slight_smile:

Escribo mucho markdown en muchos cuadros de texto (tanto en contextos renderizados como no renderizados, de hecho), y sé que soy bastante una excepción. Sin embargo, creo que hay un grupo de nosotros que somos excepciones, y tendemos a reunirnos en el contexto de foros de lenguajes de programación.