Markdown coincidente in contenuto formattato incollato nell'editor di testo rich visualizzato alla pubblicazione

Priorità/Gravità:

Media

Piattaforma:

Sistema Operativo

  • Windows 11

Browser

  • Google Chrome 141.0.7390.123

Discourse

fb4bd7951aa6ae8c814df702807c12ccb77bd3fd

Descrizione:

L’“editor di testo avanzato” ha lo scopo di fornire un’esperienza “WYSIWYG” (What You See Is What You Get), in cui il contenuto visualizzato nell’editor viene renderizzato esattamente come apparirà nel post pubblicato.

Il testo copiato da alcune origini può essere memorizzato negli appunti in formato formattato (text/html) oltre che in testo semplice (text/plain).

Quando il testo viene incollato nell’editor, se è presente un tipo di dati formattato negli appunti, questo dato viene utilizzato al posto del tipo di testo semplice.

A causa della natura minimale della sintassi, è comune che il testo contenga contenuti che casualmente assomigliano a markup Markdown.

:bug: Il post pubblicato viene renderizzato diversamente da quanto mostrato nell’“editor di testo avanzato” quando il contenuto formattato incollato contiene un certo markup Markdown casuale.

Passaggi per la riproduzione:

Markup di lista casuale

  1. Crea un file HTML con il seguente contenuto:
    <html>
      <body>
    <br />- foo
      </body>
    </html>
    
  2. Apri il file nel tuo browser web.
  3. Copia il contenuto della pagina web.
  4. Apri l’editor di post.
  5. Imposta l’editor sulla modalità “editor di testo avanzato”.
  6. Incolla il contenuto copiato nell’editor.
    :slightly_smiling_face: Il testo è stato incollato verbatim, anziché essere renderizzato come una lista:

    - foo

  7. Pubblica il post.

:bug: Invece di corrispondere a quanto visto nell’editor, il contenuto è stato renderizzato come una lista non ordinata:

  • foo

Markup di blocco di codice casuale

  1. Crea un file HTML con il seguente contenuto:
    <html>
      <body>
        <span style="white-space: pre">    foo</span>
      </body>
    </html>
    
  2. Apri il file nel tuo browser web.
  3. Copia il contenuto della pagina web.
  4. Apri l’editor di post.
  5. Imposta l’editor sulla modalità “editor di testo avanzato”.
  6. Incolla il contenuto copiato nell’editor.
    :slightly_smiling_face: Il testo è stato incollato verbatim, anziché essere renderizzato come un blocco di codice:

        foo

  7. Pubblica il post.

:bug: Invece di corrispondere a quanto visto nell’editor, il contenuto è stato renderizzato come un blocco di codice:

foo

Markup di blocco di codice casuale con BBCode casuale

  1. Crea un file HTML con il seguente contenuto:
    <html>
      <body>
        <span style="white-space: pre">    [foo]</span>
      </body>
    </html>
    
  2. Apri il file nel tuo browser web.
  3. Copia il contenuto della pagina web.
  4. Apri l’editor di post.
  5. Imposta l’editor sulla modalità “editor di testo avanzato”.
  6. Incolla il contenuto copiato nell’editor.
    :slightly_smiling_face: Il testo è stato incollato verbatim:

        [foo]

  7. Pubblica il post.

:bug: Invece di corrispondere a quanto visto nell’editor, il contenuto è stato renderizzato come un blocco di codice, con barre rovesciate anteposte alle parentesi quadre:

\[foo\]

Contesto aggiuntivo:

Penso sia corretto che l’editor di testo avanzato ignori il markup Markdown apparente presente nel contenuto incollato di tipo “text/html”. Qualsiasi formattazione intenzionale in tale contenuto sarà definita da tag HTML, quindi è più probabile che il contenuto che assomiglia al Markdown sia casuale piuttosto che un vero markup. Quindi il difetto qui è che la sintassi Markdown casuale viene renderizzata alla pubblicazione; non che non venga renderizzata nell’editor.


Sono in grado di riprodurre il difetto su try.discourse.org in “modalità sicura”.

1 Mi Piace