Idée : Option pour toujours transformer en liens les URL sans tag dans le HTML importé

Salut, je travaille à l’importation d’un immense forum Drupal dans Discourse. Drupal et la plupart des autres plateformes de forum / CMS peuvent automatiquement créer un lien HTML dans un message en tapant simplement https://example.com, tout comme Discourse. Mais Discourse ne le fait que lorsque le message utilise Markdown, pas à l’intérieur d’un élément HTML (qu’il s’agisse d’un message importé ou que l’utilisateur colle du HTML d’ailleurs). Dans le cas du HTML importé d’une autre plateforme de forum, il y a souvent des URL qui ne sont pas balisées comme des liens dans le corps brut du message, mais le moteur du forum détectait l’URL et la transformait en lien dans le message rendu. Mais dans Discourse, l’URL dans le paragraphe HTML suivant ne serait pas un lien :


<p>Take a look at http://example.com for that.</p>

Take a look at http://example.com for that.


Je pourrais faire quelques manipulations par expressions régulières dans le script d’importation pour détecter les URL brutes et les transformer en liens Markdown, ou je pourrais même simplement remplacer les occurrences de <p> par un retour à la ligne et Discourse le rendra correctement. Mais ce serait une solution assez désordonnée et je n’ai pas confiance en mes compétences en expressions régulières pour ne pas me retrouver dans un cas particulier où cela finirait par créer un lien involontairement ou supprimer un message entier. Une option Discourse pour détecter et transformer les URL brutes en liens à l’intérieur du code HTML serait appréciée.

Le fait de définir enable rich text paste pourrait-il aider ?

Merci d’avoir mentionné cette option, cela fonctionnerait lors du collage de HTML rendu si le moteur précédent avait déjà automatiquement lié l’URL, mais pas pour du code HTML brut avec une URL non liée. De plus, cette option n’affecterait pas les publications importées d’un autre moteur de forum.

Je vois. Cela semble aussi tout à fait logique.