Je viens de remarquer que lorsque je publie du contenu HTML via l’API posts.json, puis que je modifie le message, je vois le HTML dans le contenu du message.
La modification de ces messages n’affichera aucune balise <br>.
Remarque : les paragraphes sont créés automatiquement en fonction du contexte lors du traitement du message, il n’est donc pas nécessaire d’ajouter ces balises à votre entrée brute de requête.
Ok, je vois. Donc la seule option pour avoir un affichage propre lorsque les utilisateurs modifient leurs publicationsHTMLmigrées via l’API est de remplacer toutes les balises <p> et <br> par \n si je comprends bien ?
Si vous essayez d’assainir du contenu HTML importé, je suppose que vous pouvez également remplacer les paragraphes par des sauts de ligne, de sorte que vous soyez sûr qu’il y ait des sauts de ligne et que le message soit traité correctement.
Ok, merci
Dernière question :
Y a-t-il un moyen de me dire comment ajouter une mention, comme celle-ci : @Canapin, dans un message via l’API ? J’ai essayé d’utiliser @username dans le champ brut, mais cela ne fonctionne pas.
Si vous importez une grande quantité de données, vous devriez utiliser un script d’importation. Beaucoup d’entre eux contiennent des exemples pour supprimer le HTML et gérer les guillemets et les mentions.
Si vous souhaitez ajouter continuellement des données à un site existant, utilisez l’API.
Ah, je vois mon erreur ! Je testais avec un nom d’utilisateur en minuscules au lieu d’utiliser le nom d’utilisateur exact, car la mention est sensible à la casse. Mes excuses.
Honnêtement, j’ai créé une POC avec un script d’importation en Ruby, mais comme je dois synchroniser des données sur plusieurs jours entre une ancienne solution et Discourse, je préfère exécuter un simple script Python. Il est beaucoup plus rapide à mettre en place et à maintenir. De plus, c’est cohérent, car je récupère les anciennes données avec Python. Le fournisseur précédent ne nous accordera pas l’accès à la base de données, j’ai donc récupéré tout le contenu dans une base de données.
Mais bien sûr, c’est une meilleure solution si c’est une migration simple