カスタムスキームへのリンク

こんにちは皆様、

新しい Discourse 内部環境をセットアップしており、ネットワーク上の内部リソースにリンクするためのカスタム URL スキームを設定することができました。新しい投稿を作成する際に簡単なボタンを追加したいと思っており、それは実現できましたが、リンクのタイトルとして、また実際のリンクとしてもハイライトされたテキストを使用したいと考えています。現在、apply surround を使用して必要なものをリンクに挿入していますが、リンクのタイトルを手動で変更する必要があります。以下のコードを参照してください。

<script type="text/discourse-plugin" version="1.0">
api.onToolbarCreate(toolbar => {
    toolbar.addButton({
        id: "dms_button",
        group: "fontStyles",
        icon: "fab-wikipedia-w",
        perform: e => e.applySurround("[id_here](INET://", ')')
    });
});
</script>

ユーザーが 123456 を入力すると、ハイライトされたテキスト [id_here](INET://123456) の周りにこれが適用されます。

コードを調べましたが、求めていることを達成するのに役立つものは見つかりませんでした。ハイライトされたテキストをリンクのタイトルとしても使用する方法はありますか?

テキストを2回表示させたいということですか?

その機能ではできないと思います。

oneboxのロジックをオーバーライドして、プロトコルで動作するようにすることを検討しましたか?

プロトコルは問題なく動作し、必要に応じて inet:// を使用できますが、ユーザーがカスタム URL を投稿に簡単に挿入する方法を探していました。以前のフォーム (phpbb) では、リンク用のカスタム bbcode を作成して機能させましたが、Discourse でより簡単な解決策を探していました。

Discourseはすでにinet://リンクのワンボクシングをサポートしていますか?

標準ではできません。したがって、私が言及しているのは、inet:// のためのワンボックスプラグインを作成し、リンクを必要な形式にフォーマットすることですか?

ユーザーが inet://12345 と入力すると、ワンボックスプレビューには適切にフォーマットされたリンクが含まれるようになりますか?

私の提案は、コンポーザーでそのような低レベルなことをするのではなく、inet:// リンクを https:// リンクと同じようにフォーマットするように、ワンボクシングサブシステムを「単純に」変更することでした。

具体的には、次のようにインラインでフォーマットする方法を指しています。Dark/Light Mode Toggle - #20 by jordan.vidrine

私がしたことは、リンクを貼り付けるだけで、Discourse がターゲットを見て、og タグから素敵なリンク付きタイトルを作成してくれたことです。

もちろん、これはあなたの組織がターゲットのリンクページ上の og タグを制御できることを前提としています。