Il tag HTML5 "button" viene visualizzato nell'anteprima dell'editor, ma non nei post renderizzati

Problema

Dopo aver salvato il contenuto del post, viene visualizzato per circa 4 ms nel post renderizzato, prima che appaia un cerchio di caricamento per 2 ms, e poi scompare:

Soluzioni

Se la sua visualizzazione nell’anteprima è accidentale e la sua rimozione dal post renderizzato è deliberata a causa di preoccupazioni di sicurezza a me sconosciute, non si potrebbe almeno sostituire <button> con <button disabled>?

Chiedo perché vedo un uso frequente di <code> e <kbd> dove <button> sarebbe semantico, specialmente nei tutorial e nei passaggi di riproduzione.

1 Mi Piace

Non sono sicuro che sia un bug in sé. Capisco la tua confusione.

Per evitare che i tag HTML e gli attributi/nomi di classe vengano filtrati, questo deve essere esplicitamente consentito in Discourse core o in un plugin.

Ad esempio, un elenco predefinito si trova qui:

È anche possibile consentire un tag solo per l’anteprima. Ad esempio, i controlli delle immagini hanno diverse combinazioni di tag/nomi di classe/attributi.

Vedi il pulsante nell’anteprima perché è un effetto collaterale del tag consentito qui.
Tuttavia, l’attributo disabled viene ignorato perché non è definito.

Non ho controllato come viene analizzato l’elenco degli elementi consentiti; mi chiedo se sia il comportamento previsto. :thinking:. Attualmente, sembra che il tag sia consentito indipendentemente dagli attributi. Mi sarei aspettato che il pulsante non venisse visualizzato se non si utilizzasse esattamente, ad esempio, <button class="alt-text-edit-ok btn btn-primary">.

Puoi creare un plugin per consentire <button> dopo il rendering del post. Fammi sapere se hai bisogno di assistenza.

2 Mi Piace

@Arkshine, ti sono grato. Tuttavia, non sono un operatore di istanza. Ho semplicemente notato questo quando formulavo contenuti.

Questa è una delle molte istanze in cui le rappresentazioni HTML5 e CSS3 nell’anteprima differiscono dal rendering finale, il che significa che scrivere contenuti per Discourse può essere difficile. Ciò è particolarmente vero quando le modifiche sono state disabilitate o limitate a un lasso di tempo molto breve, a livello di istanza.

1 Mi Piace

Capisco; ha senso! Concordo sul fatto che non sia una bella esperienza.

Se vuoi, ho creato questo piccolo plugin per consentire \u003cbutton\u003e con l’attributo disabled: GitHub - Arkshine/discourse-markdown-allowlist

Sfortunatamente, in questa situazione non puoi apportare modifiche, quindi se vuoi aggiungere un altro tag dovrai fare un fork del mio repository e aggiungerlo tu stesso qui.

2 Mi Piace

@Arkshine, non si potrebbe fare upstream? Chiedo perché questo influisce su ogni istanza che uso, e chiedere a tutti di incorporare una patch per qualcosa di così banale per loro sarebbe probabilmente impraticabile.

Di solito, farei un problema per qualcosa del genere sul repository GitHub pertinente, ma la sezione dei problemi è disabilitata per Discourse.

Usa Feature qui invece di GitHub? Perché Bug questo non lo è.

@Jagster, se questo tag fosse semplicemente non disponibile, lo farei. Tuttavia, il fatto che l’anteprima non funzioni come anteprima è un Bug.

Come classificheresti questo come una funzionalità – come riscriveresti il titolo per dimostrarlo?

1 Mi Piace

Feature è una categoria per funzionalità mancanti. Bug è per errori, e questo non è un errore.

Forse vorresti usarlo esattamente nello stesso modo in cui useresti una sezione issue in GitHub?

1 Mi Piace

Ritengo che l’incoerenza tra anteprima e post renderizzati sia ragionevole da considerare un Bug.
La soluzione probabilmente sarà bloccarlo anche nell’anteprima, il che significa che “aggiungere il supporto per <button> ai post” sarebbe una valida richiesta di Feature in futuro :wink:

3 Mi Piace

Infatti, @david. Avrei dovuto separarli:

Mi scuso e grazie.

3 Mi Piace