--- title: Tabs next: /docs/guide/deploy-site --- ## Example {{< tabs items="JSON,YAML,TOML" >}} {{< tab >}}**JSON**: JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax.{{< /tab >}} {{< tab >}}**YAML**: YAML is a human-readable data serialization language.{{< /tab >}} {{< tab >}}**TOML**: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.{{< /tab >}} {{< /tabs >}} ### Sync Tabs Tabs with the same list of `items` can be synchronized. When enabled, selecting a tab updates all other tabs with the same `items` and remembers the selection across pages. Enable globally in your `hugo.yaml` under the `page` section: ```yaml {filename="hugo.yaml"} params: page: tabs: sync: true ``` With this enabled the following two tab blocks will always display the same selected item: ```markdown {{}} {{}}A content{{}} {{}}B content{{}} {{}} {{}} {{}}Second A content{{}} {{}}Second B content{{}} {{}} ``` ## Usage ### Default ``` {{}} {{}}**JSON**: JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax.{{}} {{}}**YAML**: YAML is a human-readable data serialization language.{{}} {{}}**TOML**: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.{{}} {{}} ``` ### Specify Selected Index Use `defaultIndex` property to specify the selected tab. The index starts from 0. ``` {{}} {{}}**JSON**: JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax.{{}} {{}}**YAML**: YAML is a human-readable data serialization language.{{}} {{}}**TOML**: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.{{}} {{}} ``` The `YAML` tab will be selected by default. {{< tabs items="JSON,YAML,TOML" defaultIndex="1" >}} {{< tab >}}**JSON**: JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax.{{< /tab >}} {{< tab >}}**YAML**: YAML is a human-readable data serialization language.{{< /tab >}} {{< tab >}}**TOML**: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.{{< /tab >}} {{< /tabs >}} ### Use Markdown Markdown syntax including code block is also supported: ```` {{}} {{}} ```json { "hello": "world" } ``` {{}} ... add other tabs similarly {{}} ```` {{< tabs items="JSON,YAML,TOML" >}} {{< tab >}} ```json { "hello": "world" } ``` {{< /tab >}} {{< tab >}} ```yaml hello: world ``` {{< /tab >}} {{< tab >}} ```toml hello = "world" ``` {{< /tab >}} {{< /tabs >}}