在 GitHub wiki 页面上,如果我输入:
www.foobar.com
GitHub 自动假定这是一个 URL,并将文本作为指向http://www.foobar.com的超链接。但是,有时我不想创建超链接。有没有办法阻止这种行为?也许某种降价?
在 GitHub wiki 页面上,如果我输入:
www.foobar.com
GitHub 自动假定这是一个 URL,并将文本作为指向http://www.foobar.com的超链接。但是,有时我不想创建超链接。有没有办法阻止这种行为?也许某种降价?
2021 年 11 月更新,VSCode 1.63:
这个问题应该通过问题 136198 “markdown preview wrongly created links”得到缓解
虽然
"markdown.preview.linkify": false
将完全禁用链接功能,但设置md.linkify.fuzzyLink
为false
仅对没有http(s) 标头的链接禁用它。
我认为这是一个更好的选择,并且它已经得到了markdown-it的支持。
原始答案(2014):这不仅限于 wiki 页面,并且是GFM(GitHub Flavored Markdown)url 自动链接功能的一部分。
将它们放入 `` 可以工作,但将 url 显示为代码:foo http://example.com
bar.
foo `http://example.com` bar
另一个技巧(在这个要点中提到)是
ht<span>tp://</span>example.com
这会将 http://example.com 显示为常规文本。
在您的情况下(没有 http://)
w<span>ww.</span>foobar.com
这也会将 www.foobar.com 显示为常规文本。
对于电子邮件,您可以使用
foo<span>@</span>example.com
只需在破坏 URL 可检测性的位置添加一个void 元素标签(我更喜欢
<area>
),例如。就在第一个点之前。例子:
www<area>.foobar.com
此外,如果您遇到 URL 自动链接以外的问题,我发现转义了 . 也可以。
例子:
foobar.web -> foobar.web
您也可以只对冒号(或任何其他标点符号)应用反斜杠转义,如下所示:
http\://www.foobar.com
建议使用零宽度不间断空间。
在 HTML 中可用作 Unicode 字符参考:
或
好处是:
例子
http
对于在和之间插入的网址:
https&#65279;://example.com/
→ https://example.com/
@
对于在:
user@example.com
→ user@example.com之后插入的电子邮件
我建议这只是一个更完整且当前正确的答案。
有人提出 VSCode 的行为与 Github 不同。似乎 Github 自动 URL 处理作用于“www”。前缀(可能是其他触发器),而 VSCode 会自动转换任何以IANA 注册的国家代码 TLD后缀结尾的句点/句号分隔的文本。VSCode 不会自动补全任何以“www”开头的文本。就像 Github 一样。比较下面的三个图像,并注意标签的位置以及每个环境如何呈现文本。
请注意,抑制所有自动 URL 呈现的唯一机制是(最丑陋的)在每个句点之前放置一个标签。标签是什么可能并不重要。'span' 可能适用于所有情况。我使用“nowiki”是因为它在此处和在 MediaWiki 以及也许在其他地方是一致的。
然而,了解规则后,抑制自动 URL 呈现的“答案”似乎取决于文本。
<nowiki/>
、<span/>
还是<k>
。我个人推荐nowiki
,因为它已经是为此目的而公认的标签。&#
HTML 编码,我尝试了这里的建议,文本没有被处理。我在这里没有包含示例,但您可以随意用字符编码替换任何文本标记,看看它是如何为您工作的。就我而言,
我
# some.thing
在 title 中使用过,然后我得到一个没有外部链接的标题。
并
[some.thing](#something)
用作链接。
“#something”来自网络中预览的链接。