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


# Troubleshooting

This page explains common errors and the shortest path to fixing them.

## Config File Not Found

Veta looks for:

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

It searches from the current directory upward.

Fixes:

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

## Invalid Page Object

Every page must be an object with a string `permalink`.

Valid:

```js
{
  permalink: "/about/",
  template: "base",
  content: "About"
}
```

If you see an error about `layout`, rename it to `template`.

## Template Not Found

Page templates are relative to `templates/`:

```js
template: "base";
```

Do not write:

```js
template: "templates/base.html";
```

If extensionless lookup is ambiguous, include the extension:

```js
template: "base.j2";
```

## Duplicate Output Path

Two pages cannot generate the same output file.

These conflict:

```js
{
  permalink: "/about/";
}
{
  permalink: "/about/index.html";
}
```

Change one permalink.

## Tailwind Input Missing

If `tailwindcss.stylesheets` includes `styles.css`, Veta expects:

```txt
public/styles.css
```

Create the file or remove it from `tailwindcss.stylesheets` to disable that Tailwind CSS entrypoint.

## Public Asset Collision

Generated files and public files share the same output namespace.

These conflict:

```txt
page permalink: /robots.txt
public/robots.txt
```

Move one of them.

## JavaScript Promise Error

Veta JavaScript is synchronous. Do not use `async` default exports or return promises.

Use synchronous `httpClient` calls instead:

```js
export default function({ httpClient, parse }) {
  const response = httpClient.get("https://example.com/data.json");
  return parse.json(response.body);
}
```

## Frontmatter Error

Frontmatter must start on the first line and close with the same delimiter:

```md
---
title: Hello
---

# Hello
```

Use `---` for YAML and `+++` for TOML.
