2020-03-21 09:59:23 +01:00
---
weight: 3
title: "Theme Documentation - Built-in Shortcodes"
date: 2020-03-04T16:29:41+08:00
lastmod: 2020-03-04T16:29:41+08:00
draft: false
author: "Dillon"
authorLink: "https://dillonzq.com"
description: "Hugo provides multiple built-in shortcodes for author convenience and to keep your markdown content clean."
tags: ["shortcodes"]
categories: ["documentation"]
featuredImage: "/images/theme-documentation-built-in-shortcodes/featured-image.png"
2020-04-21 16:55:06 +02:00
2020-03-21 09:59:23 +01:00
lightgallery: true
---
**Hugo** provides multiple built-in shortcodes for author convenience and to keep your markdown content clean.
<!-- more -->
Hugo uses Markdown for its simple content format. However, there are a lot of things that Markdown doesn’ t support well. You could use pure HTML to expand possibilities.
But this happens to be a bad idea. Everyone uses Markdown because it’ s 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 ](https://gohugo.io/extras/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.
2020-04-30 18:32:24 +02:00
## 1 figure {#figure}
2020-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `figure` ](https://gohugo.io/content-management/shortcodes#figure )
2020-03-21 09:59:23 +01:00
Example `figure` input:
```markdown
{{< /* figure src="/images/theme-documentation-built-in-shortcodes/lighthouse.jpg" title="Lighthouse (figure)" */>}}
```
The rendered output looks like this:
{{< figure src = "/images/theme-documentation-built-in-shortcodes/lighthouse.jpg" title = "Lighthouse (figure)" > }}
The HTML looks like this:
```html
< figure >
< img src = "/images/theme-documentation-built-in-shortcodes/lighthouse.jpg" / >
< figcaption >
< h4 > Lighthouse (figure)< / h4 >
< / figcaption >
< / figure >
```
2020-04-30 18:32:24 +02:00
## 2 gist
2020-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `gist` ](https://gohugo.io/content-management/shortcodes#gist )
2020-03-21 09:59:23 +01:00
Example `gist` input:
```markdown
{{< /* gist spf13 7896402 */>}}
```
The rendered output looks like this:
{{< gist spf13 7896402 > }}
The HTML looks like this:
```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-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `highlight` ](https://gohugo.io/content-management/shortcodes#instagram )
2020-03-21 09:59:23 +01:00
Example `highlight` input:
```markdown
{{< /* 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 > }}
< 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-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `instagram` ](https://gohugo.io/content-management/shortcodes#instagram )
2020-03-21 09:59:23 +01:00
Example `instagram` input:
```markdown
{{< /* instagram BWNjjyYFxVx hidecaption */>}}
```
The rendered output looks like this:
{{< instagram BWNjjyYFxVx hidecaption > }}
2020-04-30 18:32:24 +02:00
## 5 param
2020-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `param` ](https://gohugo.io/content-management/shortcodes#param )
2020-03-21 09:59:23 +01:00
Example `param` input:
```markdown
{{< /* param description */>}}
```
The rendered output looks like this:
{{< param description > }}
2020-04-30 18:32:24 +02:00
## 6 ref and relref {#ref-and-relref}
2020-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `ref` and `relref` ](https://gohugo.io/content-management/shortcodes#ref-and-relref )
2020-03-21 09:59:23 +01:00
2020-04-30 18:32:24 +02:00
## 7 tweet
2020-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `tweet` ](https://gohugo.io/content-management/shortcodes#tweet )
2020-03-21 09:59:23 +01:00
Example `tweet` input:
```markdown
{{< /* tweet 877500564405444608 */>}}
```
The rendered output looks like this:
{{< tweet 877500564405444608 > }}
2020-04-30 18:32:24 +02:00
## 8 vimeo
2020-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `vimeo` ](https://gohugo.io/content-management/shortcodes#vimeo )
2020-03-21 09:59:23 +01:00
Example `vimeo` input:
```markdown
{{< /* vimeo 146022717 */>}}
```
The rendered output looks like this:
{{< vimeo 146022717 > }}
2020-04-30 18:32:24 +02:00
## 9 youtube
2020-03-21 09:59:23 +01:00
2020-04-27 19:38:22 +02:00
[Documentation of `youtube` ](https://gohugo.io/content-management/shortcodes#youtube )
2020-03-21 09:59:23 +01:00
Example `youtube` input:
```markdown
{{< /* youtube w7Ft2ymGmfc */>}}
```
The rendered output looks like this:
{{< youtube w7Ft2ymGmfc > }}