我可以使用 Markdown 在hugo posts 内容中创建带有“target=”_blank”'的链接吗?

Mar*_*cin 6 html markdown hugo hugo-shortcode

我使用 Hugo 部署静态网页,使用Markdown,我想解决的问题很简单。我想找到最简单且与 Markdown 语言兼容的方式来使我的网络链接在不同的选项卡中打开。我现在使用的方法如下:

  1. < rawhtml >}}<a href="https://en.wikipedia.org/wiki/Rasmus_Lerdorf" target="blank">Rasmus Lerdorf</a></br>{{< /rawhtml >
  2. [link with title](http://nodeca.github.io/pica/demo/ "target="blank")

第一种方法有效,但 HTML 第二种方法无效。谢谢。

小智 12

您需要在/layouts/_default/_markup/ 名为 的位置创建一个新文件render-link.html

在该文件中,您可以将其自定义为:

<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination  "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
Run Code Online (Sandbox Code Playgroud)

将会发生以下情况:

  • [link1](../something/ title="title")=><a href="../something/" title="title">link1</a>
  • [link2](https://example.com)=><a href="https://example.com">link2</a>

它只会将其添加到带有“http”和“https”的 URL。

render-hooks 的文档可以在这里找到: https: //gohugo.io/templates/render-hooks/