--- weight: 3 title: "主题文档 - 内置 Shortcodes" date: 2020-03-04T16:29:59+08:00 lastmod: 2020-03-04T16:29:59+08:00 draft: false author: "Dillon" authorLink: "https://dillonzq.com" description: "Hugo 提供了多个内置的 Shortcodes, 以方便作者保持 Markdown 内容的整洁." resources: - name: "featured-image" src: "featured-image.png" tags: ["shortcodes"] categories: ["documentation"] lightgallery: true --- **Hugo** 提供了多个内置的 Shortcodes, 以方便作者保持 Markdown 内容的整洁. Hugo 使用 Markdown 为其简单的内容格式. 但是, Markdown 在很多方面都无法很好地支持. 你可以使用纯 HTML 来扩展可能性. 但这恰好是一个坏主意. 大家使用 Markdown, 正是因为它即使不经过渲染也可以轻松阅读. 应该尽可能避免使用 HTML 以保持内容简洁. 为了避免这种限制, Hugo 创建了 [shortcodes](https://gohugo.io/extras/shortcodes/). shortcode 是一个简单代码段, 可以生成合理的 HTML 代码, 并且符合 Markdown 的设计哲学. Hugo 附带了一组预定义的 shortcodes, 它们实现了一些非常常见的用法. 提供这些 shortcodes 是为了方便保持你的 Markdown 内容简洁. ## 1 figure {#figure} [`figure` 的文档](https://gohugo.io/content-management/shortcodes#figure) 一个 `figure` 示例: ```markdown {{}} ``` 呈现的输出效果如下: {{< figure src="/images/lighthouse.jpg" title="Lighthouse (figure)" >}} 输出的 HTML 看起来像这样: ```html

Lighthouse (figure)

``` ## 2 gist [`gist` 的文档](https://gohugo.io/content-management/shortcodes#gist) 一个 `gist` 示例: ```markdown {{}} ``` 呈现的输出效果如下: {{< gist spf13 7896402 >}} 输出的 HTML 看起来像这样: ```html ``` ## 3 highlight [`highlight` 的文档](https://gohugo.io/content-management/shortcodes#instagram) 一个 `highlight` 示例: ```markdown {{}}

{{ .Title }}

{{ range .Pages }} {{ .Render "summary"}} {{ end }}
{{}} ``` 呈现的输出效果如下: {{< highlight html >}}

{{ .Title }}

{{ range .Pages }} {{ .Render "summary"}} {{ end }}
{{< /highlight >}} ## 4 instagram [`instagram` 的文档](https://gohugo.io/content-management/shortcodes#instagram) {{< admonition question "Instagram’s API was deprecated since October 24th, 2020" >}} The instagram-shortcode refers an endpoint of Instagram’s API, that’s deprecated since October 24th, 2020. Thus, no images can be fetched from this API endpoint, resulting in an error when the instagram-shortcode is used. For more information please have a look at GitHub issue [#7879](https://github.com/gohugoio/hugo/issues/7879). {{< /admonition >}} ## 5 param [`param` 的文档](https://gohugo.io/content-management/shortcodes#param) 一个 `param` 示例: ```markdown {{}} ``` 呈现的输出效果如下: {{< param description >}} ## 6 ref 和 relref {#ref-and-relref} [`ref` 和 `relref` 的文档](https://gohugo.io/content-management/shortcodes#ref-and-relref) ## 7 tweet [`tweet` 的文档](https://gohugo.io/content-management/shortcodes#tweet) 一个 `tweet` 示例: ```markdown {{}} ``` 呈现的输出效果如下: {{< tweet user=GoHugoIO id=917359331535966209 >}} ## 8 vimeo [`vimeo` 的文档](https://gohugo.io/content-management/shortcodes#vimeo) 一个 `vimeo` 示例: ```markdown {{}} ``` 呈现的输出效果如下: {{< vimeo 146022717 >}} ## 9 youtube [`youtube` 的文档](https://gohugo.io/content-management/shortcodes#youtube) 一个 `youtube` 示例: ```markdown {{}} ``` 呈现的输出效果如下: {{< youtube w7Ft2ymGmfc >}}