有没有一种在Markdown中创建在新窗口打开链接的方法?如果没有,您推荐使用哪种语法来实现这一点?我会将其添加到我使用的Markdown编译器中。我认为这应该是一个选项。
有没有一种在Markdown中创建在新窗口打开链接的方法?如果没有,您推荐使用哪种语法来实现这一点?我会将其添加到我使用的Markdown编译器中。我认为这应该是一个选项。
就Markdown语法而言,如果你想要更加详细的内容,你就必须使用HTML。
<a href="http://example.com/" target="_blank">Hello, world!</a>
大多数我见过的Markdown引擎都允许使用纯粹的HTML,特别是在通用文本标记系统无法满足要求的情况下。(例如StackOverflow引擎。)即使是仅包含Markdown的文档也容易包含XSS攻击,因此它们会将整个输出通过HTML白名单过滤器进行过滤。因此,如果您或您的用户想要创建 _blank
链接,他们可能仍然可以这样做。
如果这是您经常使用的功能,那么创建自己的语法可能是有意义的,但它通常并不是关键功能。如果我想在新窗口中打开链接,我会自己使用ctrl-click,谢谢。
_blank
。将所有内容保持在一个浏览器中,这样用户体验更好。他们可以像你说的那样点击“后退”或按下命令键 + 单击(我是Mac用户 :))。 - ma11hew28[访问此页面](http::/link.com)
以了解“打开”的概念。 - Augustin RiedingerKramdown 支持此功能。它与标准 Markdown 语法兼容,但也有许多扩展功能。使用方法如下:
[link](url){:target="_blank"}
target="_blank"
打开。 - ahirschbergArray.from(document.links)
.filter(link => link.hostname != window.location.hostname)
.forEach(link => link.target = '_blank');
如果你正在使用jQuery:
$(document.links).filter(function() {
return this.hostname != window.location.hostname;
}).attr('target', '_blank');
使用 Markdown v2.5.2,你可以这样做:
[link](URL){:target="_blank"}
_
是可选的。使用 {:target="blank"}
也可以达到同样的效果。而在我的有缺陷的文本编辑器中,下划线会使文件的其余部分看起来是斜体。 - Jeff Irwin所以,并不完全是不能在Markdown URL上添加链接属性。要添加属性,请查看所使用的基础Markdown解析器以及它们的扩展。
特别地,pandoc
有一个扩展程序可启用link_attributes
,允许在链接中使用标记,例如:
[Hello, world!](http://example.com/){target="_blank"}
rmarkdown
, bookdown
, blogdown
等)的人,这是你想要的语法。pandoc
时使用+link_attributes
启用扩展(查看文档)注意: 这与kramdown
解析器的支持不同,后者是上面接受的答案之一。特别地,注意kramdown与pandoc的区别在于它需要在花括号{}
的开头加上冒号:
,例如:
[link](http://example.com){:hreflang="de"}
特别是:
# Pandoc
{ attribute1="value1" attribute2="value2"}
# Kramdown
{: attribute1="value1" attribute2="value2"}
^
^ Colon
一个全球性的解决方案是将<base target="_blank">
标签放置在您网页的<head>
元素中。这有效地为每个锚点元素添加了一个默认的目标。我使用Markdown在我的基于WordPress的网站上创建内容,我的主题定制器会让我将该代码注入到每个页面的顶部。如果您的主题不支持,请使用插件。
虽然不是直接回答,但可能会对一些人有所帮助。
如果你正在使用GatsbyJS,则有一个插件可以在您的markdown中自动添加target="_blank"
到外部链接。
它被称为gatsby-remark-external-links,并且可以像这样使用:
yarn add gatsby-remark-external-links
plugins: [
{
resolve: `gatsby-transformer-remark`,
options: {
plugins: [{
resolve: "gatsby-remark-external-links",
options: {
target: "_blank",
rel: "noopener noreferrer"
}
}]
}
},
它还处理了rel="noopener noreferrer"
。
如果您需要更多选项,请参考文档。
使用 Ghost Markdown:
[Google](https://google.com" target="_blank)
在这里找到了它: https://cmatskas.com/open-external-links-in-a-new-window-ghost/
[在新窗口中打开][1] \n [1]: (https://abc.xyz" target="_blank)
。也许我弄错了什么,或者这不是那样工作的意思? - MrIsaacs一些文本[1]
正文/引用:[1]: http://somelink.com/?target=_blank
只需确保target属性首先传递,如果链接中有其他属性,请将它们复制/粘贴到引用URL的末尾。[前往该页面](http://somelink.com/?target=_blank)
&target=_blank
:[转到此页面](http://somelink.com/?param=42&target=_blank)
。 - undefined<a href="https://example.org/" rel="nofollow" title="title" target="_blank">链接</a>
。 - Graham P Heath
https:
中删除s
就足以获得我想要的功能。 - Josh Gust