Visualização e resultado do Markdown diferem

Per Creating bug reports for Discourse on Meta

try.discourse.org

https://try.discourse.org/t/word1-word2-word3-word4/1430?u=rokejulianlockhart

discuss.kde.org

https://discuss.kde.org/t/difference-between-preview-and-actual-post/1245/2?u=rokejulianlockhart

1 curtida

Olá @rokejulianlockhart

Consigo reproduzir e a pré-visualização realmente difere da postagem. :slight_smile:
A linha vazia acima ou abaixo das suas tags tem um pequeno papel aqui, mas não é importante. Se você as remover, elas envolverão o conteúdo mais próximo, anterior e posterior, mas não todo o conteúdo.

sem linhas vazias Além disso, por que ```qml import QtQuick import QtQuick.Controls 2.15 as QQC2 import QtQuick.Layouts import QtPositioning ``` e a preposição de `QQC2` antes de `Action`, `Button`, `ApplicationWindow` e `Frame` não funcionam, enquanto ```qml import QtQuick import QtQuick.Controls import QtQuick.Layouts import QtPositioning import QtQuick.Controls 2.15 as QQC2 ``` e a adição de `QQC2.Button` (via https://discuss.kde.org/t/qml-pyqt6-cant-get-native-control-appearance/1240/2?u=rokejulianlockhart) funcionam? Uma nova linha ``` ![image|690x412](upload://rIR9RPpxTxaXhuJmjQRWoOBO6ie.png)

Dito isso…
Pensei que o problema fosse porque <s>[1] era um elemento inline. Consigo reproduzir com outras tags como <b> ou <i>, mas não com <strong>, <em>. Portanto, não é porque é um elemento de nível inline. O Discourse permite envolver blocos com inlines, pelo que vejo com <strong> ou <em>.

<strong>
<strong>

Além disso, por que
```qml
import QtQuick
import QtQuick.Controls 2.15 as QQC2
import QtQuick.Layouts
import QtPositioning

e a preposição de QQC2 antes de Action, Button, ApplicationWindow e Frame não funcionam, enquanto

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtPositioning
import QtQuick.Controls 2.15 as QQC2

e a adição de QQC2.Button (via [qml+pyqt6] Can't get native control appearance - #2 by carl - Help - KDE Discuss) funcionam?
Uma nova linha

```` ![image|690x430](upload://jidxWx5cvg60pEO4FCA0zYxMWQW.png)

Parece não estar relacionado a tags autorizadas, já que o Discourse aceita todas essas tags (<s>, <b>, <strong>, <i>, <em>…).

Parece não ser um problema do markdown-it também, já que não consigo reproduzir o problema em o demo deles.


  1. Note que <s> é obsoleto em favor de <s>. Um detalhe que não mudará nada neste problema, mas é sempre bom saber… Acabei de aprender agora mesmo :smile: ↩︎

5 curtidas

Dei uma olhada rápida por curiosidade. Parece um problema com a biblioteca Nokogiri. :thinking:

Pelo que o Discourse usa aqui:

Loofah.fragment usa o parser HTML4 do Nokogiri.

Isso poderia ser corrigido usando Loofah.html5_fragment desde que Nokogiri >= 1.14.0 e Loofah >= 2.21.0. O Discourse já usa Nokogiri::HTML5.fragment; isso faria sentido.

Observação: Loofah 2.21.0 ainda não foi lançado; atualmente em RC1.

11 curtidas

Depuração fantástica! Obrigado
:folded_hands:

6 curtidas

Vou marcar isso para 30 dias, espero que então o novo loofah esteja disponível e possamos simplesmente atualizá-lo.

2 curtidas

Acabei de testar a versão HTML5 do loofah e parece que estamos encontrando um problema de segurança:


  1) PrettyText fornece segurança para bbcode de img
     Falha/Erro: expect(cooked).to eq(html)
     
       esperado: "<p><img src=\"http://aaa.com&lt;script&gt;alert(1);&lt;/script&gt;\" alt=\"\" role=\"presentation\"></p>"
            obtido: "<p><img src=\"http://aaa.com<script>alert(1);</script>\" alt=\"\" role=\"presentation\"></p>"
     
       (comparado usando ==)
     # ./spec/lib/pretty_text_spec.rb:2150:in `block (2 levels) in <main>'
     # ./spec/rails_helper.rb:358:in `block (2 levels) in <top (required)>'
     # /home/sam/.gem/ruby/3.2.1/gems/webmock-3.18.1/lib/webmock/rspec.rb:37:in `block (2 levels) in <top (required)>'

Este me parece muito arriscado… vou levantar…

3 curtidas

Muito obrigado pela sua depuração! Corrigimos isso com:

como visto aqui:

~~

Além disso, como é que

import QtQuick
import QtQuick.Controls 2.15 as QQC2
import QtQuick.Layouts
import QtPositioning

e a preposição de QQC2 antes de Action, Button, ApplicationWindow e Frame não funciona, enquanto

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtPositioning
import QtQuick.Controls 2.15 as QQC2

e a adição de QQC2.Button (conforme [qml+pyqt6] Can't get native control appearance - #2 by carl - Help - KDE Discuss) funciona?
~~

4 curtidas

Este tópico foi fechado automaticamente após 2 dias. Novas respostas não são mais permitidas.