正しく理解していれば、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 support や Meet Google Drive – One place for all your files[...] と表示され、あまりよろしくありません。
URL を事前にテストし、リダイレクトがある場合に URL にタイトルを付けないようにする既存の機能やコンポーネント/プラグインはありますか?
「いいね!」 2
sam
(Sam Saffron)
2022 年 5 月 16 日午前 2:27
2
はい、ここでの一般的な解決策は、「ブロックされたワンボックスドメイン」サイト設定を使用することです。
すべての内部「ログインが必要」なURLをそのリストに追加します。
@nat /@codinghorror 、ここでハンマー設定を追加すべきかどうか疑問に思います。
リダイレクト時にワンボックスをブロックする - この設定は、リダイレクトが関与した場合にワンボックスを完全にブロックできます。これにより、複数のドメインにわたってこの動作を無条件に制御するための非常に簡単なレバーが提供されます。
「いいね!」 3
内部リンクに関するヒントをありがとうございます。
ユーザーが投稿する可能性のある完全なリストを事前に把握できないため、block onebox on redirect というより汎用的な機能があれば大変助かります。
これは、リンク化されたリンクには機能しないようです。リンクは「onebox」に更新されるのではなく、単にタイトルに変換されます(例:内部リンクの https://support.sqills.com/browse/SCQI-934 は Log in - Sqills Jira になりますが、基本 URL はリンクのタイトルとして https://support.sqills.com を返すだけです)。
「いいね!」 2
sam
(Sam Saffron)
2022 年 5 月 17 日午前 12:20
4
確かに、ここで混乱を招くバグがあります。これを解決する必要があります。
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
Osama
2022 年 5 月 23 日午前 5:54
9
これは以下で修正されました。
committed 11:09AM - 20 May 22 UTC
Meta topic: https://meta.discourse.org/t/prevent-to-linkify-when-there-is-a-redi… rect/226964/4?u=osama.
これで、投稿が再構築されると、投稿内のすべてのリンクのキャッシュエントリが、再構築を行う前に削除されます。
また、block_onebox_on_redirectサイト設定を追加するためのPRは次のとおりです。
main ← feature/block-onebox-for-urls-that-redirect
opened 11:09AM - 20 May 22 UTC
Meta topic: https://meta.discourse.org/t/prevent-to-linkify-when-there-is-a-redi… rect/226964/2?u=osama.
This PR adds a new site setting `block_onebox_on_redirect` (default off) for blocking oneboxes (full and inline) of URLs that redirect. Note that an initial http → https redirect is still allowed if the redirect location is identical to the source (minus the scheme of course). For example, if a user includes a link to `http://example.com/page` and the link resolves to `https://example.com/page`, then the link will onebox (assuming it can be oneboxed) even if the setting is enabled. The reason for this is a user may type out a URL (i.e. the URL is short and memorizable) with http and since a lot of sites support TLS with http traffic automatically redirected to https, so we should still allow the URL to onebox.
block_onebox_on_redirectが有効になっている場合、DiscourseはリダイレクトするURLをワンボックス化しません。唯一の例外は、URLがhttpで、URLのhttpsバージョンにリダイレクトする場合です。これは、TLSをサポートするサイトがhttpトラフィックをhttpsにリダイレクトすることが非常に一般的であるため、ユーザーがhttpでリンクを入力し、サイトがhttpsにリダイレクトする場合でもワンボックスが機能するようにするためです。
「いいね!」 2