EDIT: Erro na minha postagem original. Eu quis me referir ao campo cooked, não ao campo raw (CORRIGIDO).
Recentemente adquiri alguns dados JSON de um fórum Discourse, onde os dados da postagem estão na forma “cooked”. Eu estava me perguntando se haveria alguma maneira de converter isso de volta para Markdown? Sou novo no Discourse e procurei, mas não encontrei uma maneira de fazer isso. Visto que os dados “cooked” parecem ser usados para criar o HTML, imagino que uma rota alternativa seria usar a função que converte “cooked” para HTML e, em seguida, converter o HTML para Markdown.
Se por “raw” você quer dizer um campo chamado raw, então você está olhando para o código-fonte Markdown real que armazenamos. Como exemplo, este é o endpoint JSON para sua última postagem agora mesmo.
O campo raw lá é o texto real que você compôs no editor Markdown, e nós o armazenamos como está, então não há nada mais puro do que isso.
Em vez disso, se você geralmente quer dizer “o HTML bruto” como extraído sem usar endpoints JSON, então você pode transformar esse HTML em Markdown externamente com pandoc, como sugerido acima, ou qualquer outro software.
Peço desculpas, cometi um erro na minha primeira postagem (já corrigido). Eu quis me referir aos dados processados em oposição aos dados brutos (foi um longo dia…).
Em que formato estão os dados processados e há alguma maneira de convertê-los para Markdown ou HTML? Obrigado.
Ah, isso faz mais sentido. O campo cooked é o HTML renderizado a partir do Markdown.
Você pode simplesmente executar isso através do pandoc para obter o Markdown; você não terá fidelidade total ao raw correspondente porque existem algumas tags Markdown não padrão como [quote] que são renderizadas para certos padrões HTML, mas se você simplesmente precisa do conteúdo como Markdown, o pandoc deve funcionar bem o suficiente.
#<Post:0x00007fbb78416f50
id: 2203,
user_id: -4,
topic_id: 590,
post_number: 6,
raw: "\"@merefield, it looks like @eloy has mentioned that their favourite colour is red!\"",
cooked:
"<p><a class=\"mention\" href=\"/u/merefield\">@merefield</a>, it looks like <a class=\"mention\" href=\"/u/eloy\">@eloy</a> has mentioned that their favourite colour is red!</p>",
created_at: Sun, 18 Aug 2024 11:15:32.487912000 UTC +00:00,
updated_at: Sun, 18 Aug 2024 11:15:32.487912000 UTC +00:00,