El editor de texto enriquecido convierte bbcode en display math

Descripción

Al pegar bbcode en el editor de texto enriquecido, los corchetes se escapan como \[ y \]. Sin embargo, esto convierte el texto en un bloque de matemáticas de visualización válido, por lo que se renderiza erróneamente como matemáticas.

Reproducción

  1. Copie el siguiente texto

    [details="summary"]
    some text
    [/details]
    
  2. Péguelo en algo como notepad.exe

  3. Copie desde notepad.exe para eliminar la información de formato

  4. Péguelo en el editor de texto enriquecido

  5. El texto debería mostrarse como código; desmarque el botón de alternancia “código” para convertirlo en texto plano

Alternativamente, puede escribir manualmente el bbcode mostrado arriba en el editor de texto enriquecido.

Comportamiento esperado

O bien

summary

some text

lo cual está bien, ya que es el significado original del bbcode, o

\[details=“summary”]
some text
\[/details]

lo cual también está bien, ya que es lo que se ve en el editor wysiwyg.

Comportamiento real

\[details=“summary”\]
some text
\[/details\]

lo cual no está bien.

2 Me gusta

No he podido reproducir este problema. Lo he intentado tanto en mi Macbook Pro como en un escritorio con Windows, donde pude seguir sus instrucciones de reproducción textualmente.

En ambos casos, accedí al sitio usando el navegador web Firefox.

2 Me gusta

Hola Mark,

¿Puedes reproducir esto escribiendo manualmente algo de bbcode en el editor de texto enriquecido (es decir, no pegándolo)? El formato del portapapeles es realmente un asunto complicado…

Si tienes personas pegando bbcode, puedes intentar deshabilitar discourse_math_enable_latex_delimiters.

Pero yo tampoco puedo reproducir el problema. En mi caso, lo que estaba disponible en el portapapeles era:

Formats: TIMESTAMP,TARGETS,SAVE_TARGETS,MULTIPLE,STRING,UTF8_STRING,TEXT,text/plain,text/plain;charset=utf-8,chromium/x-internal-source-rfh-token,chromium/x-source-url
'[details=\"summary\"]\nsome text\n[/details]'

o la versión simple:

Formats: TARGETS,UTF8_STRING
'[details=\"summary\"]\nsome plain text\n[/details]\n'

Usando copiar/pegar del navegador (en lugar del botón de copiar) tenía en mi portapapeles:

Formats: TIMESTAMP,TARGETS,SAVE_TARGETS,MULTIPLE,STRING,UTF8_STRING,TEXT,text/html,text/plain,text/plain;charset=utf-8,chromium/x-internal-source-rfh-token,chromium/x-source-url
UTF8_STRING:
b'[details=\"summary\"]\nsome text\n[/details]'
text/html:
b'\u003cspan style=\"color: rgb(199, 199, 199); font-family: \u0026quot;JetBrains Mono\u0026quot;, Consolas, Monaco, monospace; font-size: 15.75px; font-style: normal; font-variant-ligatures: none; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: pre; background-color: rgba(0, 0, 0, 0.25); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;\"\u003e[details=\"summary\"]\nsome text\n[/details]\u003c/span\u003e'
text/plain:
b'[details=\"summary\"]\nsome text\n[/details]'
text/plain;charset=utf-8:
b'[details=\"summary\"]\nsome text\n[/details]'

pero incluso eso se pegó bien.

Sí, ahora puedo verificar este comportamiento simplemente escribiendo en el editor de texto enriquecido:

details=”summary”

Aquí están los detalles no tan ocultos.

/details

Habiendo dicho esto, el editor enriquecido proporciona herramientas para introducir este tipo de cosas a través de una interfaz de apuntar y hacer clic. Si quieres introducir detalles ocultos, supongo que deberías usar esa interfaz.

Veamos si funciona:

Resumen

¡Este texto está realmente oculto!

1 me gusta

Parece que mi sistema inyecta un <pre><code> para el portapapeles…

> arguments[0].clipboardData.getData('text/html')
'<pre><code class="lang-plaintext hljs language-plaintext" data-highlighted="yes">[details="summary"]
some text
[/details]
</code></pre>' 

De todos modos, el punto principal es que lo que ves en el editor wysiwyg no es lo que obtienes.

¡Sí!

Lo que sucedió en nuestra instancia fue que alguien proporcionó una plantilla para que otros la completaran; algo como…

[details="Parte 1"]
- [ ] verificar
- [ ] verificar
- [ ] verificar
[/details]
[details="Parte 2"]
- [ ] verificar
- [ ] verificar
- [ ] verificar
[/details]
...

…y luego muchas personas regresaron (inesperadamente) con matemáticas de visualización como…

details="Parte 1"
  • [ ] verificar
  • [x] verificar
  • [ ] verificar
/details
details="Parte 2"
  • [x] verificar
  • [ ] verificar
  • [x] verificar
/details

¡Gracias de nuevo por su atención!

1 me gusta