Markdown链接没有https://无法工作?

最近链接有什么变化吗?

当你写 example.com 在帖子中时,它会自动在帖子中作为链接显示。(意味着它看起来像一个链接,点击它会带你到那个网站)。

但是当你写

[link](example.com)

link

看起来像一个链接,但实际上没有链接(意味着点击它没有任何作用)。

这是最近改变的吗?我们论坛上有人注意到我们有很多这样的链接(现在?)不工作了。

注意:我上面的例子是在使用 Markdown 编辑器时(如果这还不够明显的话)。当我使用富文本所见即所得编辑器,并且只是在链接对话框中粘贴 example.com 时,链接就可以工作。

您确定像 [link](example.com) 这样的链接曾经起作用过吗?我知道包含相对链接的 Markdown,例如 [link](/u)link 网站上的用户列表,是可以正常工作的。

2 个赞

我不确定!我唯一能给出的线索,如果你能称之为线索的话,就是我经常以这种方式(即不带 https://)发布链接到某个网站,而这是第一次有人提到它。也许从来没有人点击过我的链接!

你是否同意在 Markdown 链接中不应该包含 https://

我在通用标记标准中没有看到任何关于此的说明:CommonMark Spec

我不知道?老实说,这以前从来没有困扰过我。

您知道其他执行您建议操作的 Markdown 系统吗?

1 个赞

嗯,我刚在 GitHub 问题中试了一下,它把我的链接当作了一个相对路径,说实话,这比什么都不做还要糟糕。

在 Joplin 中,它把我的无 https 链接当作了一个真正的链接,并跳转到了正确的位置。

将 Markdown 粘贴到 WordPress 编辑器中也会为 WP 站点创建一个相对链接。

我正在努力回想我还在哪里使用 Markdown。

严格来说,我认为这种行为是可以接受的,因为它没有足够的信息,所以是未定义的。

链接包含链接文本(可见文本),链接目标(链接目标的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 个赞

是的,这(曾经)是我希望的理由,为什么 markdown 链接也应该这样做。但我正在慢慢接受这个事实,它不会发生(而且它从来没有发生过)。

我刚在 Reddit 上试过,没有 https:// 它甚至根本不会变成一个链接。

1 个赞

我喜欢这个主意;在最终发布的帖子中,我们可能应该完全取消链接,并在撰写预览中添加警告。

@产品经理

2 个赞

嗯……虽然不是什么大问题,但我已经习惯了使用类似 [foo]() 的东西来举例说明,它会渲染成 foo

我觉得这里的问题在于“linkify”网站设置所带来的期望不匹配。不确定如何最好地解决这个问题,但我会把它分享给那些考虑在编辑器中处理这些边缘情况的人,至少让他们注意到并考虑一下。

3 个赞

我不会有这种不匹配,但我理解它。

我期望 markdown 能够完全按照我的指示进行:[link] 表示将后面的内容渲染成一个链接;由我来放入一个有效的 URL。

我期望编辑器能做一些魔法:这看起来应该是一个 URL,所以我将它标记为一个链接。

这对我已经很自然了,但我确实看到了潜在的困惑。也许可以应用类似的魔法来在 markdown 链接被 linkify 之前验证它们的格式。

如果一个人想要一个纯粹用于演示目的的链接,他可以使用一个锚点

[foo](#nowhere)

foo

(仍然是一个相对链接,但它是相对于当前页面的锚点链接)

:+1:

当然。但我认为大多数用户会期望 [link](example.com) 创建一个指向 example.com 的链接。在浏览器地址栏输入 example.com 就可以访问。直接在帖子中输入它也可以。

这就是我想要的魔法 :mage:

1 个赞

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