# Veröffentlichen

Ein Clay-Build ist ein Ordner statischer Dateien: Es gibt keinen Server zu betreiben, und jeder Hoster, der Dateien ausliefert, kann eine Clay-Seite ausliefern.

::: cards
- [Befehle](https://clay-doc.github.io/clay-example-repo/de/publishing/commands.md)
- [Build-Prüfungen](https://clay-doc.github.io/clay-example-repo/de/publishing/build-checks.md)
- [GitHub Pages](https://clay-doc.github.io/clay-example-repo/de/publishing/github-pages.md)
- [Andere Hoster](https://clay-doc.github.io/clay-example-repo/de/publishing/other-hosts.md)
:::

## Von deiner Dokumentation ins Web

::: steps
1. **Schau beim Schreiben zu** mit `npx clay dev`.
2. **Bau und prüfe** mit `npx clay build --strict`. Kaputte Links und Tippfehler in den Einstellungen stoppen den Build.
3. **Sieh dir das Ergebnis an** mit `npx clay preview`, so wie ein Webhoster es ausliefert.
4. **Veröffentliche `publish/public`**, am besten mit einem Workflow bei jedem Push, siehe [GitHub Pages](https://clay-doc.github.io/clay-example-repo/de/publishing/github-pages.md) oder [andere Hoster](https://clay-doc.github.io/clay-example-repo/de/publishing/other-hosts.md).
:::

## Wo hosten

| Hoster | Kosten | Eingerichtet mit |
|--------|--------|------------------|
| [GitHub Pages](https://clay-doc.github.io/clay-example-repo/de/publishing/github-pages.md) | Kostenlos für öffentliche Repositories | Einer Workflow-Datei, siehe Anleitung |
| [Netlify, Cloudflare Pages](https://clay-doc.github.io/clay-example-repo/de/publishing/other-hosts.md#hosting-dienste) | Kostenlose Tarife | Den Build-Einstellungen des Hosters |
| [GitLab Pages](https://clay-doc.github.io/clay-example-repo/de/publishing/other-hosts.md#hosting-dienste) | Kostenlos | `.gitlab-ci.yml` |
| [Dein eigener Server](https://clay-doc.github.io/clay-example-repo/de/publishing/other-hosts.md#dein-eigener-webserver) | Dein Server | nginx, Caddy oder Docker |

## Bevor du online gehst

::: details Liegt die Seite unter einem Pfad?
Eine Seite unter `https://meine-org.github.io/mein-projekt/` braucht `baseURL: "/mein-projekt/"` in der `clay.yaml`, sonst brechen Styles und Links. Prüf es mit `npx clay preview`, das die Seite unter ihrer `baseURL` ausliefert.
:::

::: details Willst du Links und Daten für Suchmaschinen?
Setz `siteURL` auf den Ursprung der Seite, etwa `https://meine-org.github.io`: Seiten bekommen dann kanonische Links, und der Build schreibt eine Sitemap. Siehe [SEO](https://clay-doc.github.io/clay-example-repo/de/features/seo.md).
:::

::: details Holt die CI die ganze Historie?
Clay nimmt das Änderungsdatum jeder Seite aus Git. Die meisten CI-Systeme klonen nur den letzten Commit; checke die ganze Historie aus, um die Daten zu bekommen, siehe [Seitendetails](https://clay-doc.github.io/clay-example-repo/de/features/page-details.md).
:::

> [!TIP]
> Führ `npx clay build --strict` vor dem Pushen lokal aus. Es dauert ein paar Sekunden und findet dieselben Probleme wie die CI.

---

All pages of these docs, as Markdown for language models: https://clay-doc.github.io/clay-example-repo/de/llms.txt
