
# Darbo pradžia

## Diegimas

```bash
composer require tailwindphp/tailwindphp
```

TailwindPHP reikia PHP 8.2 arba naujesnės versijos su plėtiniais `ctype` ir `mbstring`, taip pat Composer. Abu plėtiniai pateikiami su dauguma PHP versijų ir oficialiais Docker atvaizdais; `composer.json` jų dar nenurodo ([#11](https://github.com/inline0/tailwindphp/issues/11)), todėl jų neturinti versija įdiegia paketą, bet vykdymo metu pateikia klaidą. Priklausomybės nuo Node.js nėra, kūrimo etapo nereikia, o jūsų Docker atvaizde ar CI nereikia npm. Tiesiog `composer require` ir iškvieskite API.

## Sugeneruokite pirmąjį CSS

```php
<?php

require __DIR__ . '/vendor/autoload.php';

use TailwindPHP\tw;

$css = tw::generate('<div class="flex items-center p-4 bg-blue-500">Hello</div>');
```

`generate()` nuskaito žymėjimą, ištraukia rastus klasių pavadinimus ir pateikia tik toms klasėms reikalingą CSS — nieko daugiau. Jei antro argumento nėra, naudojama numatytoji `@import "tailwindcss"`, įtraukianti temą, [Preflight](https://tailwindphp.inline0.dev/lt/docs/usage/imports) ir utilitų sluoksnį.

## Tinkinkite naudodami CSS eilutę

Antruoju argumentu perduokite įvesties CSS eilutę, kad pridėtumėte `@theme` kintamuosius, pasirinktines taisykles ar direktyvas. Naujos temos reikšmės automatiškai tampa utilitomis:

```php
use TailwindPHP\tw;

$css = tw::generate(
    '<div class="bg-brand p-4">Hello</div>',
    '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }'
);
// .bg-brand now resolves to var(--color-brand)
```

Visus temų vardų sričių rinkinius rasite skiltyje [Tema](https://tailwindphp.inline0.dev/lt/docs/usage/theme).

## Masyvo įvestis

Jei reikia daugiau nei vienos eilutės, perduokite masyvą su raktais `content` ir `css`. Čia apibrėžkite komponentus naudodami `@apply`:

```php
use TailwindPHP\tw;

$css = tw::generate([
    'content' => '<div class="flex p-4 btn">Hello</div>',
    'css' => '
        @import "tailwindcss";

        @theme {
            --color-brand: #3b82f6;
            --font-heading: "Inter", sans-serif;
        }

        .btn {
            @apply px-4 py-2 rounded-lg bg-brand text-white;
        }
    ',
]);
```

Masyvo forma taip pat priima `minify`, `importPaths`, `cache` ir `cacheTtl`. Įvesties formatus rasite skiltyje [Naudojimas](https://tailwindphp.inline0.dev/lt/docs/usage), o `@apply`, `@theme`, `@utility` ir kitas direktyvas — skiltyje [Direktyvos](https://tailwindphp.inline0.dev/lt/docs/usage/directives).

## Įrašymas į failą

`generate()` grąžina eilutę, todėl stilių lentelę galima įrašyti viena eilute:

```php
use TailwindPHP\tw;

file_put_contents('dist/styles.css', tw::generate([
    'content' => file_get_contents('templates/page.html'),
    'css' => '@import "tailwindcss";',
]));
```

Kai kuriate failus iš katalogo šablonų arba naudojate stebėjimo režimą, rinkitės [CLI](https://tailwindphp.inline0.dev/lt/docs/cli). Jis naudoja `@tailwindcss/cli` kūrimo parinktis, tačiau jo turinio nuskaitymas šiuo metu skiriasi nuo Tailwind; puslapyje CLI išvardyta, kas nuskaitoma.

## Sumažinkite dydį prieš išleisdami į produkciją

Perduokite `minify => true`, kad generuojant būtų suspausta išvestis, arba iškvieskite `tw::minify()` esamai eilutei:

```php
use TailwindPHP\tw;

// Minify during generation
$css = tw::generate([
    'content' => '<div class="flex p-4">Hello</div>',
    'minify' => true,
]);

// Or minify separately
$css = tw::generate('<div class="flex p-4">Hello</div>');
$minified = tw::minify($css);
```

Minifikatorius pašalina komentarus, sutraukia tarpus, sutrumpina šešioliktaines spalvas (`#ffffff` į `#fff`) ir pašalina vienetus iš nulinių reikšmių (`0px` į `0`). Spartinimo parinktis rasite skiltyje [Spartinimas ir minifikavimas](https://tailwindphp.inline0.dev/lt/docs/advanced/caching).

## Tolesni veiksmai

- [Naudojimas](https://tailwindphp.inline0.dev/lt/docs/usage) — generavimo eiga, turinio nuskaitymas ir įvesties formatai.
- [Klasių utilitos](https://tailwindphp.inline0.dev/lt/docs/class-utilities) — `cn()`, `merge()`, `join()` ir `variants()`.
- [Papildiniai](https://tailwindphp.inline0.dev/lt/docs/plugins) — tipografija, formos ir pasirinktiniai papildiniai.
- [API](https://tailwindphp.inline0.dev/lt/docs/api) — visa `tw` sąsaja ir daugkartinio naudojimo kompiliatoriaus egzemplioriai.
- [CLI](https://tailwindphp.inline0.dev/lt/docs/cli) — failais paremtas kūrimas ir stebėjimas be Node.js.
