LoveIt/exampleSite/content/posts/theme-documentation-built-in-shortcodes/index.zh-cn.md

181 lines
4.2 KiB
Markdown
Raw Normal View History

---
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 内容的整洁."
images: ["featured-image.png"]
resources:
- name: "featured-image"
src: "featured-image.png"
tags: ["shortcodes"]
categories: ["documentation"]
lightgallery: true
---
**Hugo** 提供了多个内置的 Shortcodes, 以方便作者保持 Markdown 内容的整洁.
<!--more-->
Hugo 使用 Markdown 为其简单的内容格式. 但是, Markdown 在很多方面都无法很好地支持. 你可以使用纯 HTML 来扩展可能性.
但这恰好是一个坏主意. 大家使用 Markdown, 正是因为它即使不经过渲染也可以轻松阅读. 应该尽可能避免使用 HTML 以保持内容简洁.
为了避免这种限制, Hugo 创建了 [shortcodes](https://gohugo.io/extras/shortcodes/).
shortcode 是一个简单代码段, 可以生成合理的 HTML 代码, 并且符合 Markdown 的设计哲学.
Hugo 附带了一组预定义的 shortcodes, 它们实现了一些非常常见的用法.
提供这些 shortcodes 是为了方便保持你的 Markdown 内容简洁.
2020-04-30 18:32:24 +02:00
## 1 figure {#figure}
2020-04-27 19:38:22 +02:00
[`figure` 的文档](https://gohugo.io/content-management/shortcodes#figure)
一个 `figure` 示例:
```markdown
{{</* figure src="/images/lighthouse.jpg" title="Lighthouse (figure)" */>}}
```
呈现的输出效果如下:
{{< figure src="/images/lighthouse.jpg" title="Lighthouse (figure)" >}}
输出的 HTML 看起来像这样:
```html
<figure>
<img src="/images/lighthouse.jpg"/>
<figcaption>
<h4>Lighthouse (figure)</h4>
</figcaption>
</figure>
```
2020-04-30 18:32:24 +02:00
## 2 gist
2020-04-27 19:38:22 +02:00
[`gist` 的文档](https://gohugo.io/content-management/shortcodes#gist)
一个 `gist` 示例:
```markdown
{{</* gist spf13 7896402 */>}}
```
呈现的输出效果如下:
{{< gist spf13 7896402 >}}
输出的 HTML 看起来像这样:
```html
<script type="application/javascript" src="https://gist.github.com/spf13/7896402.js"></script>
```
2020-04-30 18:32:24 +02:00
## 3 highlight
2020-04-27 19:38:22 +02:00
[`highlight` 的文档](https://gohugo.io/content-management/shortcodes#instagram)
一个 `highlight` 示例:
```markdown
{{</* highlight html */>}}
<section id="main">
<div>
<h1 id="title">{{ .Title }}</h1>
{{ range .Pages }}
{{ .Render "summary"}}
{{ end }}
</div>
</section>
{{</* /highlight */>}}
```
呈现的输出效果如下:
{{< highlight html >}}
<section id="main">
<div>
<h1 id="title">{{ .Title }}</h1>
{{ range .Pages }}
{{ .Render "summary"}}
{{ end }}
</div>
</section>
{{< /highlight >}}
2020-04-30 18:32:24 +02:00
## 4 instagram
2020-04-27 19:38:22 +02:00
[`instagram` 的文档](https://gohugo.io/content-management/shortcodes#instagram)
{{< admonition question "Instagrams API was deprecated since October 24th, 2020" >}}
The instagram-shortcode refers an endpoint of Instagrams API, thats 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 >}}
2020-04-30 18:32:24 +02:00
## 5 param
2020-04-27 19:38:22 +02:00
[`param` 的文档](https://gohugo.io/content-management/shortcodes#param)
一个 `param` 示例:
```markdown
{{</* param description */>}}
```
呈现的输出效果如下:
{{< param description >}}
2020-04-30 18:32:24 +02:00
## 6 ref 和 relref {#ref-and-relref}
2020-04-27 19:38:22 +02:00
[`ref` 和 `relref` 的文档](https://gohugo.io/content-management/shortcodes#ref-and-relref)
2020-04-30 18:32:24 +02:00
## 7 tweet
2020-04-27 19:38:22 +02:00
[`tweet` 的文档](https://gohugo.io/content-management/shortcodes#tweet)
一个 `tweet` 示例:
```markdown
{{</* tweet 917359331535966209 */>}}
```
呈现的输出效果如下:
{{< tweet 917359331535966209 >}}
2020-04-30 18:32:24 +02:00
## 8 vimeo
2020-04-27 19:38:22 +02:00
[`vimeo` 的文档](https://gohugo.io/content-management/shortcodes#vimeo)
一个 `vimeo` 示例:
```markdown
{{</* vimeo 146022717 */>}}
```
呈现的输出效果如下:
{{< vimeo 146022717 >}}
2020-04-30 18:32:24 +02:00
## 9 youtube
2020-04-27 19:38:22 +02:00
[`youtube` 的文档](https://gohugo.io/content-management/shortcodes#youtube)
一个 `youtube` 示例:
```markdown
{{</* youtube w7Ft2ymGmfc */>}}
```
呈现的输出效果如下:
{{< youtube w7Ft2ymGmfc >}}