Por exemplo, uma postagem pode ser **algum texto aqui em negrito** e algo mais aqui
Após a importação, o Discourse o exibe literalmente assim, sem usar a sintaxe Markdown ** para colocar em negrito a parte “algum texto aqui em negrito”. E, estranhamente, mesmo que eu tente editar uma postagem assim usando a GUI normal do Discourse, ela ignorará qualquer formatação.
O script de importação usa cook_method: Post.cook_methods[:raw_html],
Eu também tentei cook_method: Post.cook_methods[:regular],
sem nenhuma mudança visível.
Como posso fazer o Discourse reconhecer Markdown ao importar dados?
Eu criaria uma nova postagem na qual colaria o mesmo conteúdo markdown de uma das postagens não formatadas.
Eu esperaria que a nova postagem fosse devidamente formatada pelo Discourse.
Então, eu compararia o campo raw de ambas as postagens; seja com o explorador de dados ou com o console rails.
Se uma estiver formatada quando cozida, e a outra não estiver quando você reconstrói o HTML (que refaz a postagem), deve haver uma diferença em seu raw.
Peguei uma das postagens problemáticas, entrei no modo de edição, copiei o conteúdo e fiz uma nova postagem com ele. A nova postagem usa a formatação Markdown, vejo texto em negrito e um link com um título.
No banco de dados, o raw delas é idêntico, mas o cooked não é.
SELECT (SELECT raw FROM posts WHERE id = 13846) = (SELECT raw FROM posts WHERE id = 13735); → t
SELECT (SELECT cooked FROM posts WHERE id = 13846) = (SELECT cooked FROM posts WHERE id = 13735); → f
Clicar em “Rebuild HTML” na postagem mal formatada não faz nenhuma alteração.
/logs/ não mostra nada neste momento (apenas avisos e erros antigos).
Quando eu edito, a prévia fica correta, a formatação Markdown é aplicada lá (por exemplo, “foo”). Assim que eu salvo, a postagem ainda mostra os caracteres de formatação (por exemplo, “**foo**”)
Por impulso, desabilitei o plugin e tentei editar um post “quebrado” novamente. Agora, ao salvar, a formatação Markdown foi usada para renderização avançada. Reabilitei o plugin e tentei novamente com sucesso. Importei novos posts e agora ele também renderiza os posts corretamente (usando cook_method: Post.cook_methods[:regular]).
Não tenho ideia do que estava/está acontecendo lá, mas parece ter sido resolvido alternando o Plugin de Avaliações de Tópicos desligado e ligado novamente.
Obrigado a todos pelas ótimas sugestões e pela caça ao problema!