# Netlify

> Despliega con la integración git de Netlify o su CLI, con previsualizaciones por rama y publicaciones atómicas.

Netlify lee un pequeño `netlify.toml` en la raíz de tu proyecto para obtener el comando de compilación y el directorio de publicación. El resto (previsualizaciones de Git, despliegues atómicos, dominios personalizados) se gestiona automáticamente. Netlify también lee el archivo `_headers` que escribe cada compilación y sirve el `404.html` de la compilación para las rutas desconocidas.

## Compila el sitio

```sh
htmlpress build
```

La salida queda en `.htmlpress/build/`.

## Configura `netlify.toml`

```
[build]
command = "npx gethtmlpress build"
publish = ".htmlpress/build"
```

Es todo lo que Netlify necesita. El mismo archivo habilita `netlify dev` en local si alguna vez quieres reproducir el comportamiento del edge de la plataforma.

## Despliega con la integración git

El camino recomendado: conecta tu repositorio en [app.netlify.com/start](https://app.netlify.com/start). Netlify lee `netlify.toml`, ejecuta la compilación y publica en producción cada push a `main`. Las demás ramas y los PR reciben automáticamente URLs de previsualización únicas.

## Despliega con la CLI

Para despliegues puntuales o automatizados con scripts:

```sh
htmlpress build
netlify deploy --prod --dir=.htmlpress/build
```

La primera ejecución te pide `netlify login` y vincula el directorio a un sitio.

## Despliega con GitHub Actions

La integración git de Netlify suele bastar, pero un workflow te permite condicionar el despliegue a que pasen los tests:

```yaml
name: deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: actions/setup-node@v4
        with:
          node-version: 24
      - run: npx gethtmlpress build
      - uses: nwtgck/actions-netlify@v3
        with:
          publish-dir: .htmlpress/build
          production-deploy: true
        env:
          NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
          NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
```

Obtén el token de autenticación en **User settings → Applications → Personal access tokens**, y el ID del sitio en **Site settings → General**.

## Dominio personalizado

En el panel del sitio, **Domain management → Add a domain**. Netlify aprovisiona el DNS y un certificado. Define el mismo dominio como `site` en `htmlpress.yaml`.

## Ver también

- [Metadatos del sitio](/es/customization/site-metadata/): `site` rellena las URLs del sitemap.
- [Despliegue](/es/deployment/): volver al índice de hosts.
