m2.nz/themes/LoveIt/exampleSite/content/posts/theme-documentation-built-in-shortcodes/index.en.md
2022-05-08 18:50:17 +12:00

4.4 KiB
Raw Blame History

weight title date lastmod draft author authorLink description images resources tags categories lightgallery
3 Theme Documentation - Built-in Shortcodes 2020-03-04T16:29:41+08:00 2020-03-04T16:29:41+08:00 false Dillon https://dillonzq.com Hugo provides multiple built-in shortcodes for author convenience and to keep your markdown content clean.
featured-image.png
name src
featured-image featured-image.png
shortcodes
documentation
true

Hugo provides multiple built-in shortcodes for author convenience and to keep your markdown content clean.

Hugo uses Markdown for its simple content format. However, there are a lot of things that Markdown doesnt support well. You could use pure HTML to expand possibilities.

But this happens to be a bad idea. Everyone uses Markdown because its pure and simple to read even non-rendered. You should avoid HTML to keep it as simple as possible.

To avoid this limitations, Hugo created shortcodes. A shortcode is a simple snippet that can generate reasonable HTML code and conforms to Markdown's design philosophy.

Hugo ships with a set of predefined shortcodes that represent very common usage. These shortcodes are provided for author convenience and to keep your markdown content clean.

1 figure

Documentation of figure

Example figure input:

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

The rendered output looks like this:

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

The HTML looks like this:

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

2 gist

Documentation of gist

Example gist input:

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

The rendered output looks like this:

{{< gist spf13 7896402 >}}

The HTML looks like this:

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

3 highlight

Documentation of highlight

Example highlight input:

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

The rendered output looks like this:

{{< highlight html >}}

{{ .Title }}

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

4 instagram

Documentation of 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

Documentation of param

Example param input:

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

The rendered output looks like this:

{{< param description >}}

6 ref and relref

Documentation of ref and relref

7 tweet

Documentation of tweet

Example tweet input:

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

The rendered output looks like this:

{{< tweet 917359331535966209 >}}

8 vimeo

Documentation of vimeo

Example vimeo input:

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

The rendered output looks like this:

{{< vimeo 146022717 >}}

9 youtube

Documentation of youtube

Example youtube input:

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

The rendered output looks like this:

{{< youtube w7Ft2ymGmfc >}}