
# CLI

`./vendor/bin/tailwindphp` on PHP teisendus **[@tailwindcss/cli](https://github.com/tailwindlabs/tailwindcss/tree/next/packages/%40tailwindcss-cli)**-ist, mille kasutamiseks pole vaja Node.js-i. See kasutab samu koostamisvalikuid, välja arvatud lähtekaardid (`--map`), kuid skannib sisu teisiti: vaata [Mida CLI skannib](#what-the-cli-scans). Pärast `composer require tailwindphp/tailwindphp`-i lingitakse binaar `vendor/bin/`-iga.

Kui vajad käitusajal CSS-i ainult paketist PHP, kasuta selle asemel [API](https://tailwindphp.inline0.dev/et/docs/api); CLI on mõeldud koostamisetapi töövoogude jaoks, mis kirjutavad laaditabeli kettale.

## Kiire alustamine

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

## Suvandid

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

Anna pikkadele valikutele väärtus koos `=`-ga: `--input=./src/app.css`, `--output=./dist/styles.css`, `--cwd=/path/to/project`. Pika valiku järel tühikuga eraldatud väärtust (`--input ./src/app.css`) praegu veateateta eiratakse ning koostamisel kasutatakse vaikeväärtusi ([#13](https://github.com/inline0/tailwindphp/issues/13)). Lühikeste valikute väärtus tuleb järgmise argumendina (`-i ./src/app.css`).

| Valik | Kirjeldus | Vaikeväärtus |
|---|---|---|
| `-i, --input` | Sisend-CSS-fail; `--input=-` loeb selle standardsisendist | `@import "tailwindcss"` |
| `-o, --output` | Väljundfail | `-` (standardväljund) |
| `-w, --watch` | Jälgi muudatusi ja koosta vajaduse korral uuesti | — |
| `-m, --minify` | Optimeeri ja minimeeri väljund | — |
| `--optimize` | Dokumentatsiooni järgi „optimeeri minimeerimata”; praegu minimeerib nagu `--minify` ([#9](https://github.com/inline0/tailwindphp/issues/9)) | — |
| `--cwd` | Praegune töökataloog | `.` |
| `-h, --help` | Kuva kasutusteave | — |
| `-V, --version` | Kuva versioon | — |
| `-v, --verbose` | Koostamise nurjumisel väljasta pinu jälg | — |

Kui `--output` väärtus on `-` (vaikimisi), kirjutatakse kompileeritud CSS standardväljundisse, nii et saad selle edasi suunata. Edenemisteated (versioonibänner ja `Done in …ms`) väljastatakse standardveaväljundisse.

Erinevalt `@tailwindcss/cli`-st puudub valik `--map`: TailwindPHP ei loo lähtekaarte.

## Sisend CSS

Loo `app.css` oma Tailwind impordi, teema ja käskudega:

```css
@import "tailwindcss";

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

## Mida CLI skannib

Paketi CLI sisuskannimine ei järgi veel `@source`-i nii nagu `@tailwindcss/cli` ([#8](https://github.com/inline0/tailwindphp/issues/8)). Praeguses väljalaskes kehtib järgmine:

- **Kui sisendi CSS-failis pole `@source`-failidirektiivi**, skannib CLI rekursiivselt töökataloogi (`--cwd`). See hõlmab ka `vendor/` ja `node_modules/`; `.gitignore`-i ei kontrollita.
- **Kui on üks või mitu `@source`-failidirektiivi**, skannib CLI rekursiivselt **sisendfaili kataloogi**. Direktiivis olevat teed või glob-mustrit ei rakendata: `@source "../templates"` skannib `src/app.css`-i kõrval asuvana kataloogi `src/`, mitte `templates/`.
- **`@source not "…"`** direktiivid jäetakse vahele; need ei välista midagi.
- **`@source inline("…")`** ja **`@source not inline("…")`** töötavad dokumentatsiooni kohaselt, sest kompilaator käsitleb neid ise.

Loetakse ainult järgmiste laienditega faile: `php`, `html`, `htm`, `twig`, `blade.php`, `vue`, `jsx`, `tsx`, `svelte`, `astro` ja `mdx`. Klassinimed võetakse atribuutidest `class` ja `className` samamoodi nagu [`tw::extractCandidates()`](https://tailwindphp.inline0.dev/et/docs/api#twextractcandidates) puhul, mistõttu ainult PHP- või JavaScript-stringis esinevat klassi ei leita. Lisa sellised klassid jõuga käsuga `@source inline("…")`.

Kuni see on parandatud, töötab kõige kindlamalt sisend-CSS-fail, mis asub skannitava kataloogi tipus:

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

Süntaksi, sealhulgas `not`- ja `inline()`-vormide kohta vaata direktiivi [@source](https://tailwindphp.inline0.dev/et/docs/usage/source).

## Näited

```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 loob väljundkataloogi, kui seda pole, ja annab vea, kui sisendfail puudub või sisendi- ja väljundteed on samad. Jälgimisrežiim kontrollib sisendfaili ja skannitud faile iga 500 ms järel ning koostab uuesti, kui mõni neist muutub või ilmub uus fail.

## Globaalne paigaldus

Paigalda globaalselt, et kasutada `tailwindphp`-i kõikjal:

```bash
composer global require tailwindphp/tailwindphp

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

Vaata jaotist [Alustamine](https://tailwindphp.inline0.dev/et/docs/getting-started) projekti seadistamiseks ning juhendit [API](https://tailwindphp.inline0.dev/et/docs/api) käitusaja CSS genereerimiseks paketist PHP.
