HasShortcode
Syntax
PAGE.HasShortcode NAME
Returns
bool
举例来说,我们可以使用MathJax来渲染LaTeX数学表达式:
contents/physics/lesson-1.md
阿尔伯特·爱因斯坦的特殊相对论表达了质量和能量是同一物理实体,
可以相互转化的事实。
{{< math >}}
$$
E=mc^2
$$
{{< /math >}}
在该方程中,增加的相对质量(m)乘以光速的平方(c2)等于
该物体的动能(E)。
这个短代码很简单:
layouts/shortcodes/math.html
{{ trim .Inner "\r\n" }}
现在我们可以在调用"math"短代码的页面上选择性地加载所需的CSS和JavaScript:
layouts/baseof.html
<head>
...
{{ if .HasShortcode "math" }}
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
{{ end }}
...
</head>