Page

HasShortcode

报告给定页面是否调用了指定的短代码。

签名
PAGE.HasShortcode NAME
返回类型
bool

举个例子,我们用 Plotly 渲染一张图表:

content/example.md
{{< plotly >}}
{
  "data": [
    {
      "x": ["giraffes", "orangutans", "monkeys"],
      "y": [20, 14, 23],
      "type": "bar"
    }
  ],
}
{{< /plotly >}}

这个短代码很简单:

layouts/_shortcodes/plotly.html
{{ $id := printf "plotly-%02d" .Ordinal }}
<div id="{{ $id }}"></div>
<script>
  Plotly.newPlot(document.getElementById({{ $id }}), {{ .Inner | safeJS }});
</script>

现在我们可以只在调用 plotly 短代码的页面上按需加载所需的 JavaScript:

layouts/baseof.html
<head>
  {{ if .HasShortcode "plotly" }}
    <script src="https://cdn.plot.ly/plotly-2.28.0.min.js"></script>
  {{ end }}
</head>