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

4.2 KiB
Raw Blame History

weight title date lastmod draft author authorLink description resources tags categories lightgallery
3 主题文档 - 内置 Shortcodes 2020-03-04T16:29:59+08:00 2020-03-04T16:29:59+08:00 false Dillon https://dillonzq.com Hugo 提供了多个内置的 Shortcodes, 以方便作者保持 Markdown 内容的整洁.
name src
featured-image featured-image.png
shortcodes
documentation
true

Hugo 提供了多个内置的 Shortcodes, 以方便作者保持 Markdown 内容的整洁.

Hugo 使用 Markdown 为其简单的内容格式. 但是, Markdown 在很多方面都无法很好地支持. 你可以使用纯 HTML 来扩展可能性.

但这恰好是一个坏主意. 大家使用 Markdown, 正是因为它即使不经过渲染也可以轻松阅读. 应该尽可能避免使用 HTML 以保持内容简洁.

为了避免这种限制, Hugo 创建了 shortcodes. shortcode 是一个简单代码段, 可以生成合理的 HTML 代码, 并且符合 Markdown 的设计哲学.

Hugo 附带了一组预定义的 shortcodes, 它们实现了一些非常常见的用法. 提供这些 shortcodes 是为了方便保持你的 Markdown 内容简洁.

1 figure

figure 的文档

一个 figure 示例:

{{</* figure src="/images/lighthouse.jpg" title="Lighthouse (figure)" */>}}

呈现的输出效果如下:

{{< figure src="/images/lighthouse.jpg" title="Lighthouse (figure)" >}}

输出的 HTML 看起来像这样:

<figure>
    <img src="/images/lighthouse.jpg"/>
    <figcaption>
        <h4>Lighthouse (figure)</h4>
    </figcaption>
</figure>

2 gist

gist 的文档

一个 gist 示例:

{{</* gist spf13 7896402 */>}}

呈现的输出效果如下:

{{< gist spf13 7896402 >}}

输出的 HTML 看起来像这样:

<script type="application/javascript" src="https://gist.github.com/spf13/7896402.js"></script>

3 highlight

highlight 的文档

一个 highlight 示例:

{{</* highlight html */>}}
<section id="main">
    <div>
        <h1 id="title">{{ .Title }}</h1>
        {{ range .Pages }}
            {{ .Render "summary"}}
        {{ end }}
    </div>
</section>
{{</* /highlight */>}}

呈现的输出效果如下:

{{< highlight html >}}

{{ .Title }}

{{ range .Pages }} {{ .Render "summary"}} {{ end }}
{{< /highlight >}}

4 instagram

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. {{< /admonition >}}

5 param

param 的文档

一个 param 示例:

{{</* param description */>}}

呈现的输出效果如下:

{{< param description >}}

6 ref 和 relref

refrelref 的文档

7 tweet

tweet 的文档

一个 tweet 示例:

{{</* tweet 917359331535966209 */>}}

呈现的输出效果如下:

{{< tweet 917359331535966209 >}}

8 vimeo

vimeo 的文档

一个 vimeo 示例:

{{</* vimeo 146022717 */>}}

呈现的输出效果如下:

{{< vimeo 146022717 >}}

9 youtube

youtube 的文档

一个 youtube 示例:

{{</* youtube w7Ft2ymGmfc */>}}

呈现的输出效果如下:

{{< youtube w7Ft2ymGmfc >}}