Sostituire il testo speciale per creare link nei post

Ciao, questa è più una domanda su come fare qualcosa…

Quindi, oltre al nostro forum, abbiamo un wiki (MediaWiki) e in diversi argomenti pubblichiamo link a quel wiki.

Ora, siamo appena usciti da una migrazione da SMF in cui i link erano generati come BBCode, in questo modo:
[wiki]Idrissa Doumbia[/wiki]
convertiti automaticamente in
https://www.forumscp.com/wiki/index.php?title=Idrissa Doumbia

La mia domanda è: con Discourse questi link vengono persi, il che significa che negli argomenti vediamo i tag BBCode senza che diventino link attivi. Quindi mi chiedevo quale sarebbe la strategia migliore per farli funzionare di nuovo. Il componente Linkify (non ho davvero controllato se questo sia l’obiettivo di quel componente)? Sostituire il testo tramite Rails (è possibile con questi caratteri speciali mantenendo la stringa tra i tag wiki per creare il link)? Altre idee?

Potresti utilizzare il componente del tema Auto-Linkify Words con la seguente impostazione (non testata):

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

Grazie. Funziona molto bene, il link viene generato correttamente; l’unico problema è che il titolo del link risulta [wiki]qualcosa-qui[/wiki] invece di essere convertito in testo qualcosa-qui.

Questo è risolvibile: ho una versione di linkify che può convertire anche il testo. Potresti scrivermi la prossima settimana? Vedrò cosa posso fare.

Se questo è l’unico scopo del tema linkify, puoi modificare il codice direttamente.
Nello specifico, alla riga 63 in /head_tag.html

link.innerHTML = text;

scrivi invece

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

Non l’ho testato, potresti provarlo? Fammi sapere se hai bisogno di ulteriori indicazioni.