---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://3y3.dev/en/project/presets.md
  - https://3y3.dev/ru/project/presets.md
  - href: en/project/presets.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
updatedAt: '2026-07-24T16:17:13.000Z'
---
> **Documentation Index:** Fetch the complete configuration index at https://3y3.dev/en/llms.txt

# Variable presets

Presets are groups of [variables](https://3y3.dev/en/syntax/vars.md) with different values.

Presets are used to support multiple documentation versions from the same source files. For example, if the documentation contains internal information, you can create two presets: `internal` and `external`, and you won't need to store the variable values in the build files.

How to work with presets:

1. Describe the presets in `presets.yaml`.
1. When building, specify the name of the preset used in the ##vars-preset## parameter.

## Structure {#structure}

The `presets.yaml` file should contain a `default` preset. When calculating variables, the values specified in `default` are taken into account first. Then the values from the preset passed at the start of the build override them, since it takes priority.

```yaml
default:
    position: The Wizard
internal:
    place: Emerald City
external:
    place: The Land of Oz
```

## Hierarchy of preset files {#hierarchy }

You can use multiple preset files. When calculating variables, the ones that are closer to the converted file will have higher priority.

{% note tip %}

We recommend using top-level presets: the ones closest to the root of the project.

{% endnote %}

#### Example

```
input-folder
|-- .yfm
|-- toc.yaml
|-- presets.yaml // 2
|-- index.yaml
|-- quickstart.md
|-- pages
    |-- presets.yaml // 1
    |-- faq.md
    |-- how-to.md
```

* When building a file named `faq.md`, the variable values declared in file 1 take priority over file 2.
* When building `quickstart.md`, only the variable values declared in file 2 are taken into account.

