Замена специального текста для создания ссылок в постах

Привет, это скорее вопрос о том, как сделать что-то…

Итак, помимо нашего форума у нас есть вики (MediaWiki), и в нескольких наших темах мы публикуем ссылки на эту вики.

Теперь, после миграции с SMF, ссылки генерировались в формате BBCode, например:
[wiki]Idrissa Doumbia[/wiki]
что автоматически конвертировалось в:
https://www.forumscp.com/wiki/index.php?title=Idrissa Doumbia

Мой вопрос: в Discourse эти ссылки теряются, то есть в темах мы видим теги BBCode без ссылок. Поэтому я хотел бы узнать, какая будет лучшая стратегия, чтобы заставить их снова работать. Компонент Linkify (я пока не проверял, является ли это его целью)? Замена текста через Rails (возможно ли это с такими специальными символами и с сохранением строки между тегами вики для создания ссылки)? Есть ли другие идеи?

Вы можете использовать компонент темы Auto-Linkify Words со следующим (непроверенным) настройкой:

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

Спасибо. Это работает очень хорошо, ссылка генерируется как положено. Единственная проблема заключается в том, что заголовок ссылки отображается как [wiki]something-here[/wiki], вместо преобразования в текст something-here.

Это исправимо, у меня есть версия linkify, которая также умеет преобразовывать текст. Можешь написать мне на следующей неделе? Я посмотрю, что смогу сделать.

Если это единственная цель темы linkify, вы можете изменить код напрямую. Конкретно, на строке 63 в файле /head_tag.html

link.innerHTML = text;

замените это на

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

Я не тестировал это, не могли бы вы попробовать? Дайте знать, если потребуется дополнительная помощь.