En al menos dos sitios diferentes de Discourse me he encontrado con un problema en el que, al seleccionar texto y pulsar “Citar” para responder, se utilizan comillas inteligentes en un lugar que rompe la apariencia de mi publicación. Aquí tienes una captura de pantalla de un ejemplo de publicación que se muestra incorrectamente debido a la comilla inteligente al final de la primera línea (dentro de los corchetes):
Obviamente, se debe implementar una solución real para un error, pero en caso de que sea útil mientras tanto, mencionaré que una solución alternativa podría ser eliminar las comillas dobles de la configuración del sitio Markdown typographer quotation marks o deshabilitar la configuración del sitio Enable markdown typographer.
Supongo que es esta función “Markdown typographer” la que está causando el reemplazo del carácter de comilla doble recta correcto en la etiqueta BBCode por el carácter incorrecto de “comilla inteligente” o “comilla rizada”.
Es una buena corazonada, pero recuerdo un problema similar de hace años y recuerdo que incluso tenemos algo de código en Discourse que convierte “→” para manejar este caso límite.
@jtbayly ¿tienen estos sitios habilitado el nuevo compositor?
Otro usuario informa que si desactivo las sustituciones de comillas inteligentes en Safari yendo a Edición → Sustituciones → Comillas inteligentes, eso lo arreglará.
Sin embargo, no quiero hacer eso particularmente. jaja. Me gustan mis comillas inteligentes la mayor parte del tiempo.
Creo que este es el problema, además del hecho de que imitamos la entrada del usuario en el textarea en este tipo de adición para evitar perder el historial de deshacer.
Creo que se puede “solucionar” con un spellcheck="false" en el elemento, pero tiene una desventaja obvia.
Lo que causa el problema es la cotización inconsistente, funcionaría si tuviera el mismo estilo de comillas en ambos extremos – cualquiera de estos conjuntos puede ser utilizado:
Es extraño que solo la segunda comilla se haya convertido al citar, ambos lados se convierten si se escribe manualmente el mismo BBCode.