## 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.


# Build And Output

Use `veta build` to create a production static site:

```sh
veta build
```

Veta discovers the config file, derives the project root, loads data, and runs page generators. Generators explicitly parse Markdown or resolve components when needed. Veta then passes templated `content` unchanged to its selected template, keeps template-less `content` as raw output, writes generated files, copies public assets, and optionally runs Tailwind CSS.

## Output Directory

Configure the output directory in `veta.yaml`:

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

The path must be relative to the project.

## Clean Builds

```yaml
build:
  clean: true
```

When enabled, Veta removes the output directory before writing new files. This avoids stale files from previous builds.

## Generated Files

Page permalinks determine generated file paths:

```txt
/                  -> dist/index.html
/about/            -> dist/about/index.html
/feed.xml          -> dist/feed.xml
/llms.txt          -> dist/llms.txt
```

Veta validates output paths and rejects duplicate output files.

## Public Assets

Files under `public/` are copied to the output root after generated files are prepared:

```txt
public/robots.txt  -> dist/robots.txt
public/logo.svg    -> dist/logo.svg
```

If a generated file and a public file claim the same output path, Veta fails the build.

## HTML Minification

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

This minifies generated files with a `.html` extension. It does not minify:

- `.xml`
- `.md`
- `.json`
- `.txt`
- `.js`
- `.css`
- copied files from `public/`

## Tailwind CSS

When configured, Tailwind CSS runs after Veta writes the generated site and public files:

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

This allows Tailwind to scan the final generated output and include classes used by templates, raw or explicitly parsed page content, and components explicitly resolved with `parse.renderComponents(text)`.

## Explicit Config File

Build with an explicit config:

```sh
veta build --config ./config/veta.yaml
```

The project root becomes the directory containing that config file.
