Markdown如何打开新窗口链接?

182

我正在尝试编辑一个使用Modx CMS的网站,并且它正在使用Markdown。现在我想要在另一个窗口中打开一个新链接。

这种操作是否可行?

The Link [Registration](http://www.registration.com)
5个回答

234

Markdown中没有这样的功能,但是你总是可以在Markdown中使用HTML:

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

8
感谢您的回复。我也注意到Markdown中没有这个功能。我觉得它并不是很用户友好。 - tintincutes
5
Markdown提供了HTML最常用功能的简写方式。它最好的特点之一是你总是可以回退到完整的HTML语法。这包括做一些没有包括在Markdown中的事情。个人而言,我喜欢Markdown简洁并且很少有冗余。这使得学习全部简写更加容易。如果你希望其他人以后阅读你的代码,这尤其重要。 - justis
11
这段话虽然有些过时,但需要明确的是,并不是所有情况下都能够回退到HTML格式——我的猜测是大多数支持Markdown的地方并不支持HTML。<a href="Proof" target="_blank">证明</a>。 - Maverick
30
刚在 Github 上尝试了一下,但结果并非预期。看起来他们在渲染时因某种原因去掉了 target="_blank" 。谢谢 Github! - Brian FitzGerald
2
@Qix:Windows也有其受欢迎的原因,但我并不觉得它们很有说服力。而且,考虑到如此多“在MarkDown中如何实现这个”的问题的答案都是“使用HTML,因为MarkDown支持它”,安全风险的论点就毫无意义了。许多社交媒体和论坛网站都支持HTML,它们似乎并不特别容易出现安全问题。我很高兴尝试与您达成一致,但这不是正确的地方。随时欢迎邀请我参加更合适的论坛。 - Michael Scheper
显示剩余6条评论

105

2
那么问题是什么?不管怎样,在Jekyll中运行得很好,谢谢! - c4k
3
这种语法正在变得越来越标准化,被Jekyll、Pelican和pandoc所支持。 - fredcallaway
1
在 TFS 2018 Wiki 页面中无法工作。 - klewis
2
对于markdown-it 链接{target="_blank"} - regevbr
请参考 https://dev59.com/Y1gQ5IYBdhLWcg3w-48d 了解如何在 GitHub 中使用 kramdown。 - wesinat0r
显示剩余3条评论

4

使用 sed

如果想要系统地为所有外部链接执行此操作,CSS 不是一个选择。 但是,一旦从 Markdown 创建了 (X)HTML,可以运行以下sed 命令:

sed -i 's|href="http|target="_blank" href="http|g' index.html

当使用带有构建说明的Makefile时,可以在单个工作流程中进一步自动化此过程。

PS:此答案是在 Pandoc 尚未提供 扩展 link_attributes 时编写的。


1

这取决于您用于生成HTML文件的引擎。 如果您使用Hugo生成HTML,则必须按照以下方式编写:

<a href="https://example.com" target="_blank" rel="noopener"><span>Example Text</span> </a>.

-3

您可以编辑生成的标记并添加

target = "_blank"

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