استبدال النصوص الخاصة لربطها في المنشورات

مرحبًا، هذا سؤال أكثر من كونه استفسارًا حول كيفية القيام بشيء ما…

إذًا، إلى جانب منتدانا، لدينا ويكي (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 يمكنه تحويل النص أيضًا. هل يمكنك التواصل معي الأسبوع المقبل؟ سأرى ما يمكنني فعله.

إذا كان هذا هو الهدف الوحيد من سمة (theme) الرابط التلقائي، فيمكنك تعديل الكود مباشرة. تحديدًا في السطر 63 من الملف /head_tag.html

link.innerHTML = text;

اكتب هذا بدلاً من ذلك

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

لم أجرب هذا، هل يمكنك تجربته؟ أخبرني إذا كنت بحاجة إلى مزيد من التوجيه.