Existe-t-il un moyen de convertir du contenu cuit en Markdown ?

MODIFICATION : erreur dans mon message original. Je voulais faire référence au champ « cooked », et non au champ « raw » (CORRIGÉ).

J’ai récemment acquis des données JSON d’un forum Discourse, où les données des messages sont sous forme « cooked ». Je me demandais s’il existait un moyen de reconvertir cela en Markdown ? Je suis nouveau sur Discourse et j’ai cherché, mais je n’ai pas trouvé de moyen de le faire. Étant donné que les données « cooked » semblent être utilisées pour créer le HTML, je suppose qu’une autre solution serait d’utiliser la fonction qui convertit le « cooked » en HTML, puis de convertir le HTML en Markdown.

Toute aide sera grandement appréciée.

Merci.

1 « J'aime »

Il y a beaucoup d’options sur Google, mais mon premier choix pour ces choses est généralement pandoc https://stackoverflow.com/questions/16248986/how-to-convert-html-to-markdown-while-retaining-non-markdown-html-tags

1 « J'aime »

Essayez ceci. Simple

Je possède déjà les données, je ne peux pas les récupérer à nouveau. Elles provenaient d’un forum qui a été supprimé, j’essaie de nettoyer les données pour qu’elles puissent être restaurées.

Quel est exactement le format des données “brutes” ?

Markdown !

Si par « brut » vous entendez un champ appelé raw, alors vous regardez la source Markdown réelle que nous stockons. Par exemple, ceci est le point de terminaison JSON pour votre dernier message à l’instant.

Le champ raw est le texte réel que vous avez composé dans l’éditeur Markdown, et nous le stockons tel quel, donc il ne peut pas être plus pur que cela.

Au lieu de cela, si vous entendez généralement par « le HTML brut » tel qu’il est extrait sans utiliser de points de terminaison JSON, alors vous pouvez convertir ce HTML en Markdown en externe avec pandoc comme suggéré ci-dessus, ou tout autre logiciel.

3 « J'aime »

Veuillez accepter mes excuses, j’ai fait une erreur dans mon premier message (corrigée depuis). Je voulais faire référence aux données traitées par opposition aux données brutes (c’est une longue journée…).

Sous quelle forme se présentent les données traitées et y a-t-il un moyen de les convertir en Markdown ou en HTML ? Merci.

J’ai fait une erreur dans mon premier message, corrigée depuis. Mes excuses.

1 « J'aime »

Ah, cela a plus de sens. Le champ cooked est le HTML rendu à partir de Markdown.

Vous pouvez simplement exécuter cela via pandoc pour obtenir du Markdown ; vous n’obtiendrez pas une fidélité complète par rapport au raw correspondant car il existe des balises Markdown non standard comme [quote] qui sont rendues à certains modèles HTML, mais si vous avez simplement besoin du contenu en Markdown, pandoc devrait suffire.

3 « J'aime »

Merci beaucoup. Je m’en occupe tout de suite.

Je suppose que les données du message (contenu) sont en fait stockées dans la base de données au format Markdown ?

Les deux, voici un exemple :

 #<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,
2 « J'aime »