L'éditeur de texte enrichi convertit le bbcode en mathématiques d'affichage

Description

Lors du collage de bbcode dans l’éditeur de texte enrichi, les crochets sont échappés en tant que \[ et \\]. Cependant, cela crée un bloc mathématique d’affichage valide, il est donc rendu par erreur comme des mathématiques.

Reproduction

  1. Copiez le texte suivant

    [details="summary"]
    some text
    [/details]
    
  2. Collez-le dans quelque chose comme notepad.exe

  3. Copiez depuis notepad.exe pour supprimer les informations de formatage

  4. Collez dans l’éditeur de texte enrichi

  5. Le texte devrait s’afficher comme du code ; décochez le bouton à bascule « code » pour le rendre en texte brut

Alternativement, vous pouvez taper manuellement le bbcode montré ci-dessus dans l’éditeur de texte enrichi.

Comportement attendu

Soit

summary

some text

ce qui est correct, car c’est le sens original du bbcode, soit

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

ce qui est également correct, car c’est ce que vous voyez dans l’éditeur wysiwyg.

Comportement actuel

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

ce qui n’est pas correct.

2 « J'aime »

Je n’ai pas été en mesure de reproduire ce problème. J’ai essayé sur mon Macbook Pro et sur un ordinateur de bureau Windows, où j’ai pu suivre vos instructions de reproduction mot pour mot.

Dans les deux cas, j’ai accédé au site en utilisant le navigateur web Firefox.

2 « J'aime »

Bonjour Mark,

Pouvez-vous reproduire le problème en tapant manuellement du bbcode dans l’éditeur de texte enrichi (c’est-à-dire sans le coller) ? Le formatage du presse-papiers est en effet une question compliquée…

Si vous avez des personnes qui collent du bbcode, vous pouvez essayer de désactiver discourse_math_enable_latex_delimiters.

Mais je ne parviens pas non plus à reproduire le problème. Dans mon cas, ce qui était disponible dans le presse-papiers était :

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]'

ou la version simple :

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

En utilisant copier/coller du navigateur (au lieu du bouton copier), j’avais dans mon presse-papiers :

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]'

mais même cela s’est collé correctement.

Oui, je peux maintenant vérifier ce comportement en tapant simplement dans l’éditeur de texte enrichi :

details=”summary”

Voici les détails pas si cachés.

/details

Ceci étant dit, l’éditeur enrichi fournit des outils pour saisir ce genre de choses via une interface de type pointer-cliquer. Si vous voulez saisir des détails cachés, alors je suppose que vous devriez utiliser cette interface.

Voyons si cela fonctionne :

Summary

Ce texte est vraiment caché !!

1 « J'aime »

Il semble que mon système injecte un <pre><code> pour le presse-papiers…

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

Quoi qu’il en soit, l’idée principale est que ce que vous voyez dans l’éditeur wysiwyg n’est pas ce que vous obtenez.

Oui !

Ce qui s’est passé sur notre instance, c’est que quelqu’un a fourni un modèle à remplir par d’autres ; quelque chose comme…

[details="Partie 1"]
- [ ] vérifier
- [ ] vérifier
- [ ] vérifier
[/details]
[details="Partie 2"]
- [ ] vérifier
- [ ] vérifier
- [ ] vérifier
[/details]
...

… et puis beaucoup de gens sont revenus (de manière inattendue) avec des maths affichées comme…

\[details=“Partie 1”\]

  • \[ \] vérifier
  • \[x\] vérifier
  • \[ \] vérifier
    \[/details\]
    \[details=“Partie 2”\]
  • \[x\] vérifier
  • \[ \] vérifier
  • \[x\] vérifier
    \[/details\]

Merci encore de votre attention !

1 « J'aime »