EDITAR: error en mi publicación original. Quise referirme al campo cooked, no al campo raw (CORREGIDO).
Recientemente adquirí algunos datos JSON de un foro de Discourse, donde los datos de las publicaciones están en formato “cooked”. Me preguntaba si hay alguna manera de convertir esto de nuevo a Markdown. Soy nuevo en Discourse y he buscado, pero no encuentro una manera de hacerlo. Dado que los datos “cooked” parecen usarse para crear el HTML, supongo que una ruta alternativa sería usar la función que convierte “cooked” a HTML y luego convertir el HTML a Markdown.
Ya tengo los datos, no puedo volver a cogerlos. Eran de un foro que fue desmantelado, estoy intentando limpiar los datos para que puedan ser revividos.
¿En qué formato están exactamente los datos “en bruto”?
Si por “raw” te refieres a un campo llamado raw, entonces estás viendo el código fuente real de Markdown que almacenamos. Como ejemplo, este es el endpoint JSON para tu última publicación ahora mismo.
El campo raw allí es el texto real que compusiste en el editor de Markdown, y lo almacenamos tal cual, así que no puede ser más puro que eso.
En cambio, si generalmente te refieres al “HTML sin procesar” tal como se extrae sin usar endpoints JSON, entonces puedes convertir ese HTML a Markdown externamente con pandoc, como se sugirió anteriormente, o cualquier otro software.
Por favor, acepte mis disculpas, cometí un error en mi primera publicación (ya corregido). Quise referirme a los datos cocinados en lugar de los datos en bruto (ha sido un día largo…).
¿En qué formato están los datos cocinados y hay alguna forma de convertirlos a Markdown o HTML? Gracias.
Ah, eso tiene más sentido. El campo cooked es el HTML renderizado desde Markdown.
Puedes simplemente ejecutar eso a través de pandoc para obtener Markdown; no obtendrás una fidelidad completa con el raw correspondiente porque hay algunas etiquetas Markdown no estándar como [quote] que se renderizan a ciertos patrones HTML, pero si simplemente necesitas el contenido como Markdown, pandoc debería funcionar lo suficientemente bien.
#<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,