Markdownリンクがhttps://なしで機能しない?

リンクに関して最近何か変更がありましたか?

投稿に example.com と入力すると、投稿内で自動的にリンクとして機能します。(つまり、リンクのように見え、クリックするとそのサイトに移動します。)

しかし、以下のように入力すると

[link](example.com)

link

リンクのように見えますが、実際にはリンクではありません(クリックしても何も起こりません)。

これは最近変更されましたか?フォーラムの誰かが、現在機能していないリンクが多数あることに気づきました。

注:上記の例はMarkdownエディタを使用した場合です(明白でなければ)。リッチテキストエディタを使用し、リンクダイアログボックスに example.com を貼り付けるだけで、リンクは機能します。

[link](example.com) のようなものが実際に機能したことがあるか、確かですか? サイトのユーザーリストへの相対リンク、たとえば [link](/u)link のように機能することは知っています。

「いいね!」 2

いいえ、違います!もし手がかりと呼べるものがあるとしたら、それは私が頻繁にそのような方法(つまり https:// なしで)でサイトへのリンクを投稿していて、今回初めて誰かがそれに言及したということです。もしかしたら、誰も私のリンクをクリックしていなかったのかもしれません!

Markdownリンクに https:// を含める必要はないと思いますか?

CommonMark標準のどこにも、それについて言及されている箇所は見当たりません: CommonMark Spec

どうでしょう?正直、以前は気にしたこともありませんでした。

あなたが提案していることを行う他のMarkdownシステムについて何か知っていますか?

「いいね!」 1

さて、GitHubのイシューで試してみたのですが、リンクが相対パスとして扱われました。正直なところ、何もしないより悪い結果です。

Joplinでは、httpsなしのリンクを実際のリンクとして扱い、正しい場所に移動します。

WordPressエディタにマークダウンを貼り付けると、WPサイトへの相対リンクも作成されます。

他にマークダウンを使用している場所を考えてみようと思います。

厳密に言えば、この動作は許容できると思います。なぜなら、情報が不足しているため未定義だからです。

リンクには、リンクテキスト(表示されるテキスト)と、リンク先(リンク先のURI)が含まれます。

example.com は単独では有効なURIではありません。たとえ example.com と入力するとリンクに変換されるとしても、それは仕様ではなく慣例です。なぜなら、pineapple.belongson.pizza も有効なホスト名(ドメインを更新しなかったので、かつてはそうでした)ですが、自動リンクされません。

次を使用できます。

  • ルート付きURI
    [rooted](/t/384591)
    rooted
  • 相対URI(./の有無にかかわらず)
    :information_source: これらは有効なMarkdownですが、パーサーによって禁止されています
    [relative](../../386082)
    relative
    [relative](./386082)
    relative
    [relative](386082)
    relative
  • 絶対URI
    [absolute](https://www.example.com/foo.html)
    absolute
  • スキームレスURI(相対URIに似ていますが、スキームのみに対する相対であることを明示します)
    [schemeless](//www.example.com/foo.html)
    schemeless

これはおそらく正しい動作でしょう。先頭にアンカーがない場合、現在の場所に対するパスであり、[link](./example.com) と同じです。

「いいね!」 3

ええ、それが、マークダウンリンクもそうなるべきだと(希望的観測で)正当化した理由でした。しかし、これが起こらない(そして決して起こらなかった)という事実にゆっくりと受け入れています。

Redditで試してみましたが、https://なしではリンクにさえなりませんでした

「いいね!」 1

このアイデアは良いですね。最終的に投稿される記事では完全にリンク解除し、コンポーザーのプレビューに警告を表示すべきでしょう。

@product-managers さん、どうでしょうか?

「いいね!」 2

うーん…大したことではありませんが、例として [foo]() のようなものを使うことにも慣れてしまいました。これは foo とレンダリングされます。

ここでの問題は、「linkify」サイト設定による期待値の不一致だと思います。これをどう解決するのが最善かはわかりませんが、コンポーザーのこれらのエッジケースを考えている人たちと共有するので、少なくとも検討対象として認識してもらえるでしょう。

「いいね!」 3

そのようなずれは生じませんが、理解はできます。

markdownには、私が言ったとおりに動作することを期待します。「[link]」は、それに続くものをリンクとしてレンダリングすることを意味します。有効なURLを入れるのは私の責任です。

コンポーザーには、少し魔法のようなことを期待します。「これはURLを意図しているように見えるので、リンクとしてマークアップします。

これは私にとっては自然なことになりましたが、混乱の可能性は確かにあります。linkifyする前にmarkdownリンクのフォーマットを検証するような魔法も適用できるかもしれません。

デモンストレーション目的のみのリンクが必要な場合は、アンカーを使用できます。

[foo](#nowhere)

foo

(まだ相対リンクですが、現在のページに対する相対アンカーリンクです)

:+1:

ええ。しかし、ほとんどのユーザーは [link](example.com)example.com へのリンクを作成することを期待すると思います。ブラウザのアドレスバーに example.com と入力しても機能します。そして、投稿にそれを入力するだけでも機能します。

それが私が探しているマジックです🧙

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.