使用target="_blank"在Github Markdown中在新标签页中打开链接

197

有没有办法让 Github Markdown 写的链接在新标签页中打开?我发现之前所有相关帖子都建议使用 HTML 以及 target="_blank",这对我没问题,但并不起作用。比如说这个链接:

<a href="http://stackoverflow.com" target="_blank">Go</a>

不在新标签页中打开。 我对各种不同的Markdown语法并不感兴趣,但我只希望找到一种在GitHub上编写Markdown时有效的解决方案。


4
https://github.com/mojombo/github-flavored-markdown/issues/28 - Gautam Krishna R
2
[go](http://stackoverflow.com){:target="_blank"}? - ldavid
5个回答

351
好像简单的答案是“不可能”。即使您使用普通HTML,Github也不包括目标属性,因此它不在最终HTML Anchor标记中。这很烦人,但没关系,用户可以在链接上执行CTRL +单击(在Windows和Linux上)或CMD +单击(在MacOS上),以获得相同的行为。

74
点赞!不像 StackOverflow 上成千上万的其他人那样提供错误的解决方案。使用 Markdown(约 2019 年)无法在新标签页中打开链接。 - Benny Schmidt
5
答案虽然是正确的,但“用户只需执行 XYZ”并不是解决这个问题的方法。期望的行为是单击链接时自动在新标签页中打开。使用 CTRL 或 CMD + 单击的行为会增加一个额外步骤。更不幸的是,其他用户体验决策有时会使 CTRL/CMD+单击变得不可靠(例如 JavaScript 链接),这意味着用户需要知道什么是实际的链接和什么不是。我希望 Markdown 至少能读取 HTML。 - zzarbi

19

对于使用 GitHub Pages 的网站,有一个特定的解决方案:添加一行代码

markdown: kramdown

要将_config.yml文件提交,您可以使用 [go](http://stackoverflow.com){:target="_blank" rel="noopener"} 因为这样 GitHub Pages 引擎会使用另一种名为kramdown的 Markdown 语法来生成 HTML。但是,在项目存储库中预览和由 GitHub 直接呈现的 Markdown 中它不起作用。


你的意思是我们可以打开Github并打开README.md文件来查看该功能是否适用于target _blank吗? - Milo Chen
2
只有在您使用GitHub Pages托管外部网站时才能使用。 - dpolivaev
1
正如你所说,GitHub预览中的链接显示不正确,但在部署GitHub页面后,它完美地运行了。 - claudius

3

根据我所阅读和研究的内容,这是不可能的。我想做类似的事情,但很快意识到这不是git md的功能,非常遗憾。


0

如果您是Github Pages用户(使用Jekyll),在2022年3月之后,正确的方法是在_config.yml文件中添加以下行:

kramdown:
  input: Kramdown

这是在文档中指定的:(参见此处)

您还可以更改由Kramdown使用的处理器(如在Kramdown RDoc的输入键中指定)。例如,要在Jekyll中使用非GFM Kramdown处理器,请将以下内容添加到配置文件中。

使用Kramdown处理器而不是GFM将允许您向Markdown链接添加{:target="_blank" rel="noopener"},以告诉浏览器在新标签页中打开链接。

示例

[Stackoverflow The Key](https://stackoverflow.blog/2021/03/31/the-key-copy-paste/){:target="_blank" rel="noopener"}

/!\ 免责声明

将Markdown处理器从GFM(默认值)更改为kramdown可能会在HTML结果中创建问题,因为GitHub Flavored Markdown (GFM)的所有特定功能都将不再起作用。


-21
答案应该是@Idavid在评论中发布的内容。
[go](http://stackoverflow.com){:target="_blank"}.

你还应该添加 rel="noopener"

[go](http://stackoverflow.com){:target="_blank" rel="noopener"}

12
截至2019年1月11日,这两种方法在GitHub上都无法使用。https://github.com/mojombo/github-flavored-markdown/issues/28 - Brian Wylie
我可能把Github的Markdown和Github Pages搞混了。我知道在Github Pages上它是可以工作的。 - Zein Sleiman
4
问题明确地指出“在Github的Markdown中”,这适用于从Markdown生成的Github页面——因此,在我看来,它相当好地回答了问题(可以稍微澄清一下问题是否指的是由Github生成的从Markdown生成的HTML)。而且它解决了我的需求,所以我给它点赞。 - Andrew Mackenzie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接