## Documentation index

This index lists every available documentation page and its Markdown source.

- [Documentation](https://veta.varavel.com/docs/index.md)
  - [Getting Started](https://veta.varavel.com/docs/getting-started/index.md)
  - [Installation](https://veta.varavel.com/docs/installation/index.md)
  - [Guides](https://veta.varavel.com/docs/guides/index.md)
    - [Project Structure](https://veta.varavel.com/docs/guides/project-structure/index.md)
    - [Configuration](https://veta.varavel.com/docs/guides/configuration/index.md)
    - [Pages](https://veta.varavel.com/docs/guides/pages/index.md)
    - [Data](https://veta.varavel.com/docs/guides/data/index.md)
    - [Markdown](https://veta.varavel.com/docs/guides/markdown/index.md)
    - [Templates](https://veta.varavel.com/docs/guides/templates/index.md)
    - [Components](https://veta.varavel.com/docs/guides/components/index.md)
    - [Filters](https://veta.varavel.com/docs/guides/filters/index.md)
    - [Assets And Tailwind CSS](https://veta.varavel.com/docs/guides/assets-and-tailwind/index.md)
    - [Themes](https://veta.varavel.com/docs/guides/themes/index.md)
    - [Development Server](https://veta.varavel.com/docs/guides/development-server/index.md)
    - [Build And Output](https://veta.varavel.com/docs/guides/build-and-output/index.md)
    - [Deployment](https://veta.varavel.com/docs/guides/deployment/index.md)
  - [Reference](https://veta.varavel.com/docs/reference/index.md)
    - [CLI Reference](https://veta.varavel.com/docs/reference/cli/index.md)
    - [Config Reference](https://veta.varavel.com/docs/reference/config/index.md)
    - [Page Generators Reference](https://veta.varavel.com/docs/reference/page-generators/index.md)
    - [Template Context Reference](https://veta.varavel.com/docs/reference/template-context/index.md)
    - [Troubleshooting](https://veta.varavel.com/docs/reference/troubleshooting/index.md)
  - [API](https://veta.varavel.com/docs/api/index.md)
    - [JavaScript API](https://veta.varavel.com/docs/api/javascript/index.md)
    - [File API](https://veta.varavel.com/docs/api/files/index.md)
    - [HTTP Client](https://veta.varavel.com/docs/api/http-client/index.md)
    - [Parse API](https://veta.varavel.com/docs/api/parse/index.md)
    - [Template Functions](https://veta.varavel.com/docs/api/template-functions/index.md)
    - [Environment And Console](https://veta.varavel.com/docs/api/environment-and-console/index.md)
    - [Markdown Frontmatter](https://veta.varavel.com/docs/api/frontmatter/index.md)


## Documentation content

The documentation for the current page follows, reproduced verbatim.


# Configuration

Veta configuration lives in YAML. The supported file names are checked in this order:

```txt
veta.yaml
veta.yml
.veta.yaml
.veta.yml
```

When you run `veta build` or `veta dev`, Veta searches from the current directory upward through parent directories until it finds one of those files. You can also pass an explicit config file:

```sh
veta build --config path/to/veta.yaml
veta dev --config path/to/veta.yaml
```

The project root is the directory that contains the resolved config file.

## Minimal Config

```yaml
build:
  output: dist
```

If `build.output` is omitted or blank, Veta uses `dist`.

## Full Common Config

```yaml
build:
  output: dist
  clean: true

html:
  minify: true

dev:
  host: 127.0.0.1
  port: 3000
  watch:
    - content

tailwindcss:
  stylesheets:
    - styles.css
  minify: true

theme:
  source: "./theme"
```

## `build`

`build` contains build workflow settings.

```yaml
build:
  output: dist
  clean: true
```

`output` is the production output directory used by `veta build`. It must be a relative project path.

`clean` removes the output directory before writing a new build.

## `html`

`html` contains generated HTML settings.

```yaml
html:
  minify: true
```

`html.minify` minifies generated `.html` files only. It does not minify XML, Markdown, JSON, text, JavaScript, CSS, or files copied from `public/`.

## `dev`

`dev` configures the local development server.

```yaml
dev:
  host: 127.0.0.1
  port: 3000
  watch:
    - content
```

`host` is the network interface used by `veta dev`.

`port` is the local development server port.

`watch` adds project-relative files or directories to the watcher. Directories are watched recursively. Veta always watches its own project files and directories in addition to these paths.

Use `watch` for content directories that Veta cannot infer, such as `content/`, `posts/`, `docs/`, or files consumed through `files.readFile`.

## `tailwindcss`

`tailwindcss` enables Veta's embedded Tailwind CSS standalone integration.

```yaml
tailwindcss:
  stylesheets:
    - styles.css
  minify: true
```

`stylesheets` lists Tailwind CSS entrypoints relative to `public/`. With the config above, Veta reads `public/styles.css` and writes the generated CSS to `dist/styles.css`.

`minify` passes Tailwind's minification flag to the standalone CLI.

If `tailwindcss.stylesheets` is omitted or empty, Tailwind CSS does not run.

## `theme`

`theme.source` points to a local theme directory or a GitHub theme source.

```yaml
theme:
  source: "./themes/clean"
```

Themes can provide `templates/`, `components/`, `filters/`, `functions/`, `data/`, and `public/`. Project files override theme files.

## Unknown Fields

Veta rejects unknown config fields. This catches typos early and keeps configuration predictable.
