Remplacer du texte spécial pour le lier dans les publications

Bonjour, c’est plutôt une question sur la manière de faire quelque chose…

Donc, outre notre forum, nous avons un wiki (MediaWiki) et dans plusieurs de nos sujets, nous publions des liens vers ce wiki.

Maintenant, nous venons tout juste d’une migration depuis SMF où les liens étaient générés en bbcode, comme ceci :
[wiki]Idrissa Doumbia[/wiki]
converti automatiquement en
https://www.forumscp.com/wiki/index.php?title=Idrissa Doumbia

Ma question est la suivante : avec Discourse, ces liens sont perdus, ce qui signifie que ce que nous voyons dans les sujets sont les balises bbcode sans lien. Je me demandais donc quelle serait la meilleure stratégie pour les faire fonctionner à nouveau. Le composant Linkify (je n’ai pas vraiment vérifié si c’est l’objectif de ce composant) ? Le remplacement de texte via Rails (est-ce possible avec ces caractères spéciaux tout en conservant la chaîne entre les balises wiki pour créer le lien) ? D’autres idées ?

Vous pouvez utiliser le composant de thème Auto-Linkify Words avec le paramètre suivant (non testé) :

/\[wiki\]([^[]+)\[\/wiki\]/,https://www.forumscp.com/wiki/index.php?title=$1

Merci. Cela fonctionne très bien, le lien est généré comme il se doit. Le seul problème est que le titre du lien est [wiki]quelque-chose-ici[/wiki] au lieu d’être converti en texte quelque-chose-ici.

C’est réparable, j’ai une version de linkify qui peut également convertir du texte. Pourriez-vous me relancer la semaine prochaine ? Je verrai ce que je peux faire.

Si c’est le seul but du thème linkify, vous pouvez modifier le code directement.
Plus précisément, à la ligne 63 de /head_tag.html

link.innerHTML = text;

écrivez ceci à la place

link.innerHTML = captured.length == 1 ? captured[0] : text;

Je ne l’ai pas testé, pouvez-vous essayer ? Faites-moi savoir si vous avez besoin de plus de conseils.