
# CLI

`./vendor/bin/tailwindphp` je port PHP nástroje **[@tailwindcss/cli](https://github.com/tailwindlabs/tailwindcss/tree/next/packages/%40tailwindcss-cli)** bez nutnosti Node.js. Používá stejné volby sestavení, s výjimkou zdrojových map (`--map`), ale obsah prohledává jinak: viz [Co prohledává CLI](#what-the-cli-scans). Po `composer require tailwindphp/tailwindphp` se binární soubor připojí k `vendor/bin/`.

Pokud za běhu potřebujete pouze CSS z PHP, použijte místo toho [API](https://tailwindphp.inline0.dev/cs/docs/api) — CLI slouží k sestavení, která zapisují šablonu stylů na disk.

## Rychlý začátek

```bash
# Build CSS from an input file
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css

# Watch for changes and rebuild
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --watch

# Build minified for production
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --minify
```

## Možnosti

```bash
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]
```

Dlouhým volbám předávejte hodnotu pomocí `=`: `--input=./src/app.css`, `--output=./dist/styles.css`, `--cwd=/path/to/project`. Hodnota oddělená mezerou za dlouhou volbou (`--input ./src/app.css`) se nyní bez chyby ignoruje a sestavení použije výchozí hodnoty ([#13](https://github.com/inline0/tailwindphp/issues/13)). Krátké volby přebírají hodnotu jako následující argument (`-i ./src/app.css`).

| Volba | Popis | Výchozí hodnota |
|---|---|---|
| `-i, --input` | Vstupní soubor CSS; `--input=-` jej načte ze standardního vstupu | `@import "tailwindcss"` |
| `-o, --output` | Výstupní soubor | `-` (standardní výstup) |
| `-w, --watch` | Sledovat změny a podle potřeby znovu sestavit | — |
| `-m, --minify` | Optimalizovat a minifikovat výstup | — |
| `--optimize` | V dokumentaci uvedeno „optimalizovat bez minifikace“; nyní minifikuje stejně jako `--minify` ([#9](https://github.com/inline0/tailwindphp/issues/9)) | — |
| `--cwd` | Aktuální pracovní adresář | `.` |
| `-h, --help` | Zobrazit informace o použití | — |
| `-V, --version` | Vypsat verzi | — |
| `-v, --verbose` | Při selhání sestavení vypsat trasování zásobníku | — |

Když je `--output` nastaveno na `-` (výchozí hodnota), zkompilované CSS se vypíše na standardní výstup, takže ho můžete přesměrovat dál. Zprávy o průběhu (banner s verzí a `Done in …ms`) se vypisují na standardní chybový výstup.

Na rozdíl od `@tailwindcss/cli` nemá volbu `--map`: TailwindPHP negeneruje zdrojové mapy.

## Vstup CSS

Vytvořte `app.css` pomocí importu Tailwind, motivu a direktiv:

```css
@import "tailwindcss";

@theme {
    --color-brand: #3b82f6;
}
```

## Co CLI prohledává

Prohledávání obsahu v CLI zatím nefunguje podle `@source` tak jako v `@tailwindcss/cli` ([#8](https://github.com/inline0/tailwindphp/issues/8)). V aktuálním vydání platí:

- **Pokud vstupní CSS neobsahuje direktivu souboru `@source`**, CLI rekurzivně prohledá pracovní adresář (`--cwd`). Zahrne také `vendor/` a `node_modules/`; `.gitignore` se nepoužije.
- **Pokud obsahuje jednu nebo více direktiv souboru `@source`**, CLI rekurzivně prohledá **adresář vstupního souboru**. Cesta ani glob v direktivě se nepoužijí: `@source "../templates"` vedle `src/app.css` prohledá `src/`, nikoli `templates/`.
- Direktivy **`@source not "…"`** se přeskočí; nic nevylučují.
- Direktivy **`@source inline("…")`** a **`@source not inline("…")`** fungují podle dokumentace, protože je zpracovává přímo kompilátor.

Načítají se pouze soubory s těmito příponami: `php`, `html`, `htm`, `twig`, `blade.php`, `vue`, `jsx`, `tsx`, `svelte`, `astro` a `mdx`. Názvy tříd se přebírají z atributů `class` a `className`, stejně jako v [`tw::extractCandidates()`](https://tailwindphp.inline0.dev/cs/docs/api#twextractcandidates), takže se nenajde třída uvedená pouze v řetězci PHP nebo JavaScript. Takové třídy přidejte ručně pomocí `@source inline("…")`.

Než se to opraví, spolehlivým řešením je umístit vstupní soubor CSS do kořenového adresáře, který chcete prohledat:

```css
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";
```

Syntaxi direktivy včetně forem `not` a `inline()` najdete v části [@source](https://tailwindphp.inline0.dev/cs/docs/usage/source).

## Příklady

```bash
# Build from an input file
tailwindphp -i ./src/app.css -o ./dist/styles.css

# Build minified for production
tailwindphp -i ./src/app.css -o ./dist/styles.css -m

# Watch mode with minification
tailwindphp -i ./src/app.css -o ./dist/styles.css -w -m

# Run against a different working directory
tailwindphp -i app.css -o dist/styles.css --cwd=/path/to/project
```

CLI vytvoří výstupní adresář, pokud neexistuje, a skončí s chybou, pokud chybí vstupní soubor nebo jsou cesty vstupu a výstupu totožné. Režim sledování kontroluje vstupní soubor a prohledávané soubory každých 500 ms a znovu sestaví výstup, když se některý změní nebo se objeví nový soubor.

## Globální instalace

Nainstalujte `tailwindphp` globálně, abyste jej mohli používat odkudkoli:

```bash
composer global require tailwindphp/tailwindphp

# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css
```

Nastavení projektu najdete v části [Začínáme](https://tailwindphp.inline0.dev/cs/docs/getting-started) a generování runtime CSS z PHP v části [API](https://tailwindphp.inline0.dev/cs/docs/api).
