如何防止GitHub wiki中自动生成的链接?

dav*_*vid 31 markdown github hyperlink autolink github-flavored-markdown

在GitHub维基页面上,如果我输入:

www.foobar.com
Run Code Online (Sandbox Code Playgroud)

GitHub自动假定这是一个URL,并使文本成为http://www.foobar.com的超链接.但是,有时我不希望创建超链接.有没有办法阻止这种行为?也许某种降价?

Von*_*onC 34

这不仅限于维基页面,也是GFM(GitHub Flavored Markdown)网址自动链接功能的一部分.

把它们放在``可以工作但是将url显示为代码:foo http://example.combar.

foo `http://example.com` bar
Run Code Online (Sandbox Code Playgroud)

另一个技巧(在这个要点中提到)是

ht<span>tp://</span>example.com 
Run Code Online (Sandbox Code Playgroud)

这将显示http://example.com作为常规文本.

在你的情况下(没有http://)

w<span>ww.</span>foobar.com
Run Code Online (Sandbox Code Playgroud)

这也将www.foobar.com显示为常规文本.

  • 在同一个Gist的底部也提到了使用标点符号`&#46;` (8认同)
  • 不理想,但这是我迄今为止遇到的唯一可行的解​​决方案。谢谢。 (2认同)
  • 不需要长标签名称 `https&lt;k&gt;://exa&lt;/k&gt;mple.com/` 就可以了 @kitsu.eb :这不再有效,甚至 `https://example. ;com/` ... (2认同)
  • @VonC另外,我意识到使用空的`&lt;area&gt;`标签(或[这里提到的一个](/sf/answers/549849891/))比使用`&lt;span/&gt;更好` 标签,有两个原因:1)它短了一个字符。2)它更符合规范。(从技术上讲,使用“自关闭”span 标记是不正确的 HTML,因此会在某些网站上导致容器/嵌套问题)如果您不介意,我会将更改添加到您的答案中。(如果我做错了,欢迎修改) (2认同)

Kyl*_*Mit 10

您可以使用零宽度空格来防止大多数自动链接器将字符解释为 URL

这是一个在https和之间插入零宽度空间的示例:

https?://example.com/

要插入一个,您可以从上面的网址或此页面复制

另请参阅推特上的此主题

  • 快速注意 HTML 是 ​ (3认同)
  • 我喜欢这个,因为它不会妨碍原始文件的可读性 (2认同)
  • 就像一个魅力,可以禁用虚拟票证#s的自动JIRA票证识别!谢谢你! (2认同)

Sam*_*amB 8

您也可以将反斜杠转义应用于冒号(或任何其他标点符号,显然),如下所示:

http\://www.foobar.com
Run Code Online (Sandbox Code Playgroud)

  • 许多自动链接是在内容呈现后应用的。根据我的经验,“\:”或任何其他转义将使“:”不受影响,但链接仍将应用于看起来像 URl 的字符串。 (2认同)

小智 8

建议使用零宽度不间断空格
\n在 HTML 中可用作 Unicode 字符引用:&#xfeff;&#65279;

\n

好处是:

\n
    \n
  • 防止自动链接(显然)
  • \n
  • 无形的
  • \n
  • 没有意外的换行符
  • \n
  • 源码中可读
  • \n
\n

例子

\n

对于网址,请在http:
\n https\xe2\x80\x8b&#65279;://example.com/\xe2\x86\x92 https\xe2\x80\x8b\xef\xbb\xbf://example.com/之间插入

\n

对于电子邮件,请在以下位置插入@
\n user@&#65279;example.com\xe2\x86\x92 user@\xef\xbb\xbfexample.com

\n


小智 6

Also, if you are having a issue with something other than a URL auto-linking I found escaping the . works as well.

Example:

foobar.web -> foobar&#46;web
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的解决方案。适用于文件名和 URL。也适用于 VSCode。但似乎在 SO 评论中不起作用。example.com example.com (2认同)