リダイレクトがある場合にリンク化を防ぐ

正しく理解していれば、Discourse は GitHub - markdown-it/linkify-it: Links recognition library with full unicode support を使用して、タイトル付きの素敵なリンクを提供しています。たとえば、前のリンクは GitHub - markdown-it/linkify-it: Links recognition library with full unicode support という素敵なタイトルを提供します。

しかし、次のような問題があります。投稿されたリンクの一部にアクセスするには、別のツール(例:Jira、Google…)で認証されている必要があります。そのため、すべてのリンク(変換された URL の一部のブロック)は、単に Login to supportMeet Google Drive – One place for all your files[...] と表示され、あまりよろしくありません。

URL を事前にテストし、リダイレクトがある場合に URL にタイトルを付けないようにする既存の機能やコンポーネント/プラグインはありますか?

「いいね!」 2

はい、ここでの一般的な解決策は、「ブロックされたワンボックスドメイン」サイト設定を使用することです。

すべての内部「ログインが必要」なURLをそのリストに追加します。

@nat/@codinghorror、ここでハンマー設定を追加すべきかどうか疑問に思います。

リダイレクト時にワンボックスをブロックする - この設定は、リダイレクトが関与した場合にワンボックスを完全にブロックできます。これにより、複数のドメインにわたってこの動作を無条件に制御するための非常に簡単なレバーが提供されます。

「いいね!」 3

内部リンクに関するヒントをありがとうございます。
ユーザーが投稿する可能性のある完全なリストを事前に把握できないため、block onebox on redirect というより汎用的な機能があれば大変助かります。

これは、リンク化されたリンクには機能しないようです。リンクは「onebox」に更新されるのではなく、単にタイトルに変換されます(例:内部リンクの https://support.sqills.com/browse/SCQI-934Log in - Sqills Jira になりますが、基本 URL はリンクのタイトルとして https://support.sqills.com を返すだけです)。

「いいね!」 2

確かに、ここで混乱を招くバグがあります。これを解決する必要があります。

support.sqills.com をブロックしたところ、https://support.sqills.com/browse/SCQI-934?1 https://support.sqills.com/browse/SCQI-934?1 では期待どおりに機能していることを確認しましたが、残念ながら https://support.sqills.com/browse/SCQI-934 はサーバー側で24時間キャッシュされており、HTML の再構築ではキャッシュが解除されません。

今週中にこの小さな問題を解決し、サポートを軽減します。リダイレクトをブロックするという選択肢は素晴らしいと思います。これを何とか組み込めるかもしれません。「クロスドメインリダイレクトでの onebox をブロックする」の方が良いかもしれませんが、それはあまりにも多くの忠実度かもしれません…よくわかりません。

「いいね!」 2

これは以下で修正されました。

これで、投稿が再構築されると、投稿内のすべてのリンクのキャッシュエントリが、再構築を行う前に削除されます。

また、block_onebox_on_redirectサイト設定を追加するためのPRは次のとおりです。

block_onebox_on_redirectが有効になっている場合、DiscourseはリダイレクトするURLをワンボックス化しません。唯一の例外は、URLがhttpで、URLのhttpsバージョンにリダイレクトする場合です。これは、TLSをサポートするサイトがhttpトラフィックをhttpsにリダイレクトすることが非常に一般的であるため、ユーザーがhttpでリンクを入力し、サイトがhttpsにリダイレクトする場合でもワンボックスが機能するようにするためです。

「いいね!」 2