Shortcodes 是在内容文件中调用内置或自定义模板的简单片段。
什么是 Shortcode
Hugo 喜欢 Markdown,因为它的内容格式简单,但有时 Markdown 会有局限性。通常,内容作者被迫向 Markdown 内容中添加原始 HTML(例如,视频 <iframe>
)。我们认为这与 Markdown 语法的美丽简洁相矛盾。
Hugo 为了避免这些限制创建了 shortcodes。
shortcode 是一个简单的片段,位于内容文件中,Hugo 将使用预定义的模板进行渲染。请注意,shortcode 在模板文件中不起作用。如果你需要模板中 shortcodes 提供的插入功能,你很可能需要一个 partial template。
除了更干净的 Markdown,shortcodes 可以随时更新以反映新的类、技术或标准。在站点生成时,Hugo shortcodes 将轻松合并你的更改。你避免了可能复杂的搜索和替换操作。
使用 Shortcodes
- 带有原始字体串格式的 Shortcodes ` `
- 带有 Markdown 的 Shortcodes
% %
- 不带有 Markdown 的 Shortcodes
< >
在 Use Shortcodes 部分查看更多细节。
内置 Shortcodes
根据需要使用这些 Hugo 内置 Shortcodes。
技巧
要覆盖 Hugo 内置 Shortcodes,请将
源代码 复制到
layouts/shortcodes
目录中同名的文件中。
figure
shortcode 的文档。
一个 figure
示例:
1
| {{< figure src="/images/lighthouse.jpg" title="Lighthouse (figure)" >}}
|
呈现的输出效果如下:
输出的 HTML 看起来像这样:
1
2
3
4
5
6
| <figure>
<img src="/images/lighthouse.jpg" />
<figcaption>
<h4>Lighthouse (figure)</h4>
</figcaption>
</figure>
|
Gist
gist
shortcode 的文档。
一个 gist
示例:
1
| {{< gist spf13 7896402 >}}
|
呈现的输出效果如下:
输出的 HTML 看起来像这样:
1
| <script type="application/javascript" src="https://gist.github.com/spf13/7896402.js"></script>
|
Highlight
highlight
shortcode 的文档。
一个 highlight
示例:
1
2
3
4
5
6
7
8
9
10
| {{< highlight html >}}
<section id="main">
<div>
<h1 id="title">{{ .Title }}</h1>
{{ range .Pages }}
{{ .Render "summary"}}
{{ end }}
</div>
</section>
{{< /highlight >}}
|
呈现的输出效果如下:
1
2
3
4
5
6
7
8
| <section id="main">
<div>
<h1 id="title">{{ .Title }}</h1>
{{ range .Pages }}
{{ .Render "summary"}}
{{ end }}
</div>
</section>
|
Instagram
instagram
shortcode 的文档。
一个 instagram
示例:
1
| {{< instagram CxOWiQNP2MO >}}
|
呈现的输出效果如下:
Param
param
shortcode 的文档。
一个 param
示例:
1
| {{< param description >}}
|
呈现的输出效果如下:
Shortcodes 是在内容文件中调用内置或自定义模板的简单片段。
Ref
ref
shortcode 的文档。
调用此 shortcode 时始终使用 {{% %}}
符号。
一个 ref
示例:
1
2
| - [内置 Shortcodes]({{% ref "/documentation/content-management/shortcodes/built-in" %}})
- [扩展 Shortcodes]({{% ref "/documentation/content-management/shortcodes/extended" %}})
|
呈现的输出效果如下:
输出的 HTML 看起来像这样:
1
2
3
4
| <ul>
<li><a href="http://example.org/documentation/content-management/shortcodes/built-in">内置 Shortcodes</a></li>
<li><a href="http://example.org/documentation/content-management/shortcodes/extended">扩展 Shortcodes</a></li>
</ul>
|
Relref
relref
shortcode 的文档。
调用此 shortcode 时始终使用 {{% %}}
符号。
一个 relref
示例:
1
2
| - [内置 Shortcodes]({{% relref "/documentation/content-management/shortcodes/built-in" %}})
- [扩展 Shortcodes]({{% relref "/documentation/content-management/shortcodes/extended" %}})
|
呈现的输出效果如下:
输出的 HTML 看起来像这样:
1
2
3
4
| <ul>
<li><a href="/documentation/content-management/shortcodes/built-in">内置 Shortcodes</a></li>
<li><a href="/documentation/content-management/shortcodes/extended">扩展 Shortcodes</a></li>
</ul>
|
twitter
shortcode 的文档。
一个 twitter
示例:
1
| {{< twitter user="SanDiegoZoo" id="1453110110599868418" >}}
|
呈现的输出效果如下:
Vimeo
vimeo
shortcode 的文档。
一个 vimeo
示例:
1
| {{< vimeo 146022717 >}}
|
呈现的输出效果如下:
Youtube
youtube
shortcode 的文档。
一个 youtube
示例:
1
| {{< youtube 0RKpf3rK57I >}}
|
呈现的输出效果如下:
隐私配置
要了解如何配置你的 Hugo 网站以满足新的欧盟隐私法规,请参阅 隐私保护。