在新标签页中打开链接,使用 target = “_black”进行 github 标记

有没有一种方法可以让一个用 githubs 标记写的 Link 在一个新的标签页中打开? 我发现的所有与此相关的文章都建议使用 HTML 和 target="_blank",这对我来说没问题,但是这不起作用。 例如:

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

不在新选项卡中打开。 我对各种不同的标记语法的回复不感兴趣,我只对在 github 上写下我的标记时能够工作的解决方案感兴趣。

84734 次浏览

看起来答案很简单“这不可能”。即使使用普通的 HTML,Github 也不包含 target 属性,因此它不是最终的 HTML Anchor 标记中的一个。烦人,但是好吧,用户只要做一个 CTRL + 点击(在 Windows 和 Linux 上)或 CMD + 点击(在 MacOS 上)的链接,就会得到同样的行为。

答案应该是@Idavid 在评论中所说的。

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

还应该添加 rel = “ noopener”

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

对于使用 GitHub 页面的网站,有一个特定的解决方案: 添加 line

markdown: kramdown

对于文件 _config.yml,您可以使用 [go](http://stackoverflow.com){:target="_blank" rel="noopener"},因为 GitHub 页面引擎使用另一个名为 Kramdown的标记来生成 html。但是,它不能在 GitHub 直接在项目存储库中呈现的预览和标记中工作。

根据我的阅读和研究,这是不可能的。我想做一些类似的事情,但很快意识到它不是 git md 的一个特性,很不幸。

对于 Github Pages 用户(Jekyll)来说是可能的,(2022年3月)的正确方法是在 _config.yml文件中添加以下几行:

kramdown:
input: Kramdown

这是指定的 在文件中:

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

使用 Kramdown 处理器代替 gFM 将允许你在标记链接中添加 {:target="_blank" rel="noopener"},告诉浏览器在新标签中打开链接。

例子

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

免责声明

将标记处理器从 GFM(默认值)更改为 Kramdown可能会在 HTML 结果中产生问题,因为 GitHub 风味标记(GFM)的所有特定功能都将不再起作用。