
# CLI

`./vendor/bin/tailwindphp` je PHP različica **[@tailwindcss/cli](https://github.com/tailwindlabs/tailwindcss/tree/next/packages/%40tailwindcss-cli)** brez potrebe po Node.js. Uporablja enake možnosti za gradnjo, razen izvornih map (`--map`), vsebino pa pregleduje drugače: glejte [Kaj pregleduje CLI](#what-the-cli-scans). Po `composer require tailwindphp/tailwindphp` se izvršna datoteka poveže z `vendor/bin/`.

Če med izvajanjem potrebujete samo CSS iz PHP, uporabite [API](https://tailwindphp.inline0.dev/sl/docs/api) — CLI je namenjen potekom dela v koraku gradnje, ki slogovni list zapišejo na disk.

## Hiter začetek

```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…]
```

Dolgi možnosti podajte vrednost z `=`: `--input=./src/app.css`, `--output=./dist/styles.css`, `--cwd=/path/to/project`. Vrednost, ločena s presledkom, za dolgo možnostjo (`--input ./src/app.css`) je trenutno tiho prezrta, gradnja pa brez napake uporabi privzete vrednosti ([#13](https://github.com/inline0/tailwindphp/issues/13)). Kratke možnosti sprejmejo vrednost kot naslednji argument (`-i ./src/app.css`).

| Možnost | Opis | Privzeto |
|---|---|---|
| `-i, --input` | Vhodna datoteka CSS; `--input=-` jo bere s standardnega vhoda | `@import "tailwindcss"` |
| `-o, --output` | Izhodna datoteka | `-` (standardni izhod) |
| `-w, --watch` | Spremlja spremembe in po potrebi znova zgradi | — |
| `-m, --minify` | Optimizira in zmanjša velikost izhoda | — |
| `--optimize` | V dokumentaciji je opisana kot »optimiziraj brez zmanjšanja velikosti«; trenutno zmanjša velikost enako kot `--minify` ([#9](https://github.com/inline0/tailwindphp/issues/9)) | — |
| `--cwd` | Trenutni delovni imenik | `.` |
| `-h, --help` | Prikaže informacije o uporabi | — |
| `-V, --version` | Izpiše različico | — |
| `-v, --verbose` | Ob napaki pri gradnji izpiše sled sklada | — |

Ko je `--output` nastavljen na `-` (privzeto), se prevedeni CSS izpiše na standardni izhod, zato ga lahko preusmerite drugam. Sporočila o napredku (pasica različice in `Done in …ms`) se izpišejo na standardni izhod za napake.

Za razliko od `@tailwindcss/cli` ni na voljo možnosti `--map`: TailwindPHP ne ustvarja izvornih zemljevidov.

## Vhod CSS

Ustvarite `app.css` z uvozom Tailwind, temo in direktivami:

```css
@import "tailwindcss";

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

## Kaj pregleduje CLI

Pregledovanje vsebine v CLI še ne sledi `@source` tako kot `@tailwindcss/cli` ([#8](https://github.com/inline0/tailwindphp/issues/8)). V trenutni izdaji:

- **Če v vhodnem CSS ni direktive za datoteko `@source`**, CLI rekurzivno pregleda delovni imenik (`--cwd`). To vključuje `vendor/` in `node_modules/`; `.gitignore` se ne upošteva.
- **Če je na voljo ena ali več direktiv za datoteko `@source`**, CLI rekurzivno pregleda **imenik vhodne datoteke**. Pot ali vzorec glob v direktivi se ne uporabi: `@source "../templates"` poleg `src/app.css` pregleda `src/`, ne pa `templates/`.
- Direktive **`@source not "…"`** se preskočijo; ničesar ne izključijo.
- Direktivi **`@source inline("…")`** in **`@source not inline("…")`** delujeta, kot je dokumentirano, ker ju obravnava sam prevajalnik.

Berejo se samo datoteke s temi končnicami: `php`, `html`, `htm`, `twig`, `blade.php`, `vue`, `jsx`, `tsx`, `svelte`, `astro` in `mdx`. Imena razredov se pridobijo iz atributov `class` in `className`, enako kot pri [`tw::extractCandidates()`](https://tailwindphp.inline0.dev/sl/docs/api#twextractcandidates), zato razred, ki se pojavi samo v nizu PHP ali JavaScript, ni zaznan. Takšne razrede dodajte prisilno z `@source inline("…")`.

Dokler to ni odpravljeno, je zanesljiva rešitev vhodna datoteka CSS na vrhu imenika, ki ga želite pregledati:

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

Za sintakso direktiv, vključno z oblikama `not` in `inline()`, glejte [@source](https://tailwindphp.inline0.dev/sl/docs/usage/source).

## Primeri

```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 ustvari izhodni imenik, če ta še ne obstaja, in konča z napako, če vhodna datoteka manjka ali sta poti do vhoda in izhoda enaki. Način spremljanja vsakih 500 ms preveri vhodno datoteko in pregledane datoteke ter znova izvede gradnjo, ko se katera od njih spremeni ali se pojavi nova datoteka.

## Globalna namestitev

Namestite globalno, da lahko `tailwindphp` uporabljate od koder koli:

```bash
composer global require tailwindphp/tailwindphp

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

Za nastavitev projekta glejte [Začetek](https://tailwindphp.inline0.dev/sl/docs/getting-started), za generiranje med izvajanjem pa [API](https://tailwindphp.inline0.dev/sl/docs/api) iz PHP CSS.
