こんにちは、これは「どうやってやるか」という質問になります…
さて、当フォーラムの他にもウィキ(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 のバージョンを持っています。来週連絡いただけますか?できることを検討します。
もしこのリンクifyテーマの唯一の目的であれば、コードを直接修正することも可能です。
具体的には、/head_tag.html の 63 行目で
link.innerHTML = text;
を以下のように書き換えてください。
link.innerHTML = captured.length == 1 ? captured[0] : text;
私はこれをテストしていませんので、お試しください。さらにサポートが必要な場合は、お知らせください。