# Tabbed views

Arrr

Fello' pirrates, be awarrre some featurrres may not work fer us in this trrranslat'n. Like table of rrramblings and stuff.

Choose which rrrambl'n t' see across th' plank. Very handy fer provid'n code snippets fer multiple languages or provid'n configurat'n 'n different formats.

## Code example

    {{< tabs >}}
    {{% tab name="python" %}}
    ```python
    print("Hello World!")
    ```
    {{% /tab %}}
    {{% tab name="R" %}}
    ```R
    > print("Hello World!")
    ```
    {{% /tab %}}
    {{% tab name="Bash" %}}
    ```Bash
    echo "Hello World!"
    ```
    {{% /tab %}}
    {{< /tabs >}}

Renders as:

    print("Hello World!")

    > print("Hello World!")

    echo "Hello World!"

Tab views wit' th' same tabs that belong t' th' same group sychr'nize their select'n:

    print("Hello World!")

    > print("Hello World!")

    echo "Hello World!"

## Config example

    {{< tabs groupId="config" >}}
    {{% tab name="json" %}}
    ```json
    {
      "Hello": "World"
    }
    ```
    {{% /tab %}}
    {{% tab name="XML" %}}
    ```xml
    <Hello>World</Hello>
    ```
    {{% /tab %}}
    {{% tab name="properties" %}}
    ```properties
    Hello = World
    ```
    {{% /tab %}}
    {{< /tabs >}}

Renders as:

    {
      "Hello": "World"
    }

    <Hello>World</Hello>

    Hello = World

Arrr

When us'n tab views wit' different rrrambl'n sets, make sure t' use a common `groupId` fer equal sets but distinct `groupId` fer different sets. Th' `groupId` defaults t' `'default'`. Take this into account across th' whole ship! Th' tab select'n be restored automatically based on th' `groupId` an' if it cannot find a tab item because it came from th' `'default'` group on a different plank then all tabs will be empty at first.