
# CLI

`./vendor/bin/tailwindphp` ir PHP realizācija **[@tailwindcss/cli](https://github.com/tailwindlabs/tailwindcss/tree/next/packages/%40tailwindcss-cli)** bez nepieciešamības izmantot Node.js. Tā pieņem tās pašas veidošanas opcijas, izņemot avota kartes (`--map`), taču saturu skenē citādi: skatiet sadaļu [Ko skenē CLI](#what-the-cli-scans). Pēc `composer require tailwindphp/tailwindphp` binārais fails tiek iekļauts `vendor/bin/`.

Ja izpildlaikā nepieciešams tikai CSS no PHP, izmantojiet [API](https://tailwindphp.inline0.dev/lv/docs/api) — CLI paredzēts būvēšanas procesa darbplūsmām, kurās stilu lapa tiek ierakstīta diskā.

## Ātrais sākums

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

## Opcijas

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

Garajām opcijām norādiet vērtību ar `=`: `--input=./src/app.css`, `--output=./dist/styles.css`, `--cwd=/path/to/project`. Vērtība, kas pēc garās opcijas atdalīta ar atstarpi (`--input ./src/app.css`), pašlaik tiek ignorēta bez kļūdas, un būvēšana izmanto noklusējuma vērtības ([#13](https://github.com/inline0/tailwindphp/issues/13)). Īsajām opcijām vērtību norādiet kā nākamo argumentu (`-i ./src/app.css`).

| Opcija | Apraksts | Noklusējums |
|---|---|---|
| `-i, --input` | Ievades CSS datne; `--input=-` nolasa to no stdin | `@import "tailwindcss"` |
| `-o, --output` | Izvades datne | `-` (stdout) |
| `-w, --watch` | Uzrauga izmaiņas un vajadzības gadījumā veic būvēšanu atkārtoti | — |
| `-m, --minify` | Optimizē un samazina izvadi | — |
| `--optimize` | Dokumentācijā norādīts “optimizēt bez samazināšanas”; pašlaik notiek samazināšana tāpat kā ar `--minify` ([#9](https://github.com/inline0/tailwindphp/issues/9)) | — |
| `--cwd` | Pašreizējais darba direktorijs | `.` |
| `-h, --help` | Parāda lietošanas informāciju | — |
| `-V, --version` | Izvada versiju | — |
| `-v, --verbose` | Izvada steka izsekojumu, ja būvēšana neizdodas | — |

Ja `--output` ir `-` (noklusējums), kompilētais CSS tiek izvadīts stdout, lai to varētu novirzīt tālāk. Progresa ziņojumi (versijas reklāmkarogs un `Done in …ms`) tiek izvadīti stderr.

Atšķirībā no `@tailwindcss/cli`, nav opcijas `--map`: TailwindPHP neveido avota kartes.

## Ievades CSS

Izveidojiet `app.css` ar Tailwind importu, motīvu un direktīvām:

```css
@import "tailwindcss";

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

## Ko skenē CLI

Satura skenēšana CLI pagaidām neseko `@source` tā, kā to dara `@tailwindcss/cli` ([#8](https://github.com/inline0/tailwindphp/issues/8)). Pašreizējā laidienā:

- **Ja ievades CSS datnē nav direktīvas `@source`** — CLI rekursīvi skenē darba direktoriju (`--cwd`). Tas ietver `vendor/` un `node_modules/`; `.gitignore` netiek ņemts vērā.
- **Ja ir viena vai vairākas `@source` datnes direktīvas** — CLI rekursīvi skenē **ievades datnes direktoriju**. Direktīvā norādītais ceļš vai glob izteiksme netiek lietota: `@source "../templates"` blakus `src/app.css` skenē `src/`, nevis `templates/`.
- **`@source not "…"`** direktīvas tiek izlaistas; tās neko neizslēdz.
- **`@source inline("…")`** un **`@source not inline("…")`** darbojas, kā dokumentēts, jo kompilators tās apstrādā pats.

Tiek lasītas tikai datnes ar šādiem paplašinājumiem: `php`, `html`, `htm`, `twig`, `blade.php`, `vue`, `jsx`, `tsx`, `svelte`, `astro` un `mdx`. Klašu nosaukumi tiek ņemti no `class` un `className` atribūtiem, tāpat kā [`tw::extractCandidates()`](https://tailwindphp.inline0.dev/lv/docs/api#twextractcandidates), tāpēc klase, kas parādās tikai PHP vai JavaScript virknē, netiek atrasta. Piespiedu kārtā pievienojiet šādas klases ar `@source inline("…")`.

Kamēr tas nav novērsts, uzticamākais risinājums ir ievades CSS datni novietot skenējamā direktorija augšējā līmenī:

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

Direktīvu sintaksi, tostarp formas `not` un `inline()`, skatiet [@source](https://tailwindphp.inline0.dev/lv/docs/usage/source).

## Piemēri

```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 izveido izvades direktoriju, ja tā neeksistē, un parāda kļūdu, ja trūkst ievades datnes vai ievades un izvades ceļi ir identiski. Uzraudzības režīmā ievades datne un skenētās datnes tiek pārbaudītas ik pēc 500 ms, un būvēšana tiek veikta atkārtoti, ja kāda no tām mainās vai parādās jauna datne.

## Instalēšana globāli

Instalējiet globāli, lai izmantotu `tailwindphp` no jebkuras vietas:

```bash
composer global require tailwindphp/tailwindphp

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

Informāciju par projekta iestatīšanu skatiet sadaļā [Darba sākšana](https://tailwindphp.inline0.dev/lv/docs/getting-started), bet par izpildlaika CSS ģenerēšanu no PHP — sadaļā [API](https://tailwindphp.inline0.dev/lv/docs/api).
