
# Darba sākšana

## Instalēšana

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

TailwindPHP nepieciešams PHP 8.2 vai jaunāks ar `ctype` un `mbstring` paplašinājumiem, kā arī Composer. Abi paplašinājumi ir iekļauti lielākajā daļā PHP būvējumu un oficiālajos Docker attēlos; `composer.json` tos vēl nenorāda ([#11](https://github.com/inline0/tailwindphp/issues/11)), tāpēc būvējumā bez tiem pakotne tiek instalēta, bet izpildlaikā rodas kļūda. Nav atkarības no Node.js, nav būvēšanas posma un nav npm jūsu Docker attēlā vai CI. Vienkārši `composer require` un izsauciet API.

## Ģenerējiet savu pirmo 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()` pārmeklē marķējumu, izgūst atrastos klašu nosaukumus un ģenerē tikai tām nepieciešamo CSS — neko vairāk. Ja otrais arguments nav norādīts, tiek izmantots noklusētais `@import "tailwindcss"`, kas iekļauj tēmu, [Preflight](https://tailwindphp.inline0.dev/lv/docs/usage/imports) un utilītu slāni.

## Pielāgošana, izmantojot CSS virkni

Kā otro argumentu nododiet ievades CSS virkni, lai pievienotu `@theme` mainīgos, pielāgotus noteikumus vai direktīvas. Jaunas tēmas vērtības automātiski kļūst par utilītām:

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

Pilnu tēmu nosaukumvietu sarakstu skatiet sadaļā [Tēma](https://tailwindphp.inline0.dev/lv/docs/usage/theme).

## Masīva ievade

Visam, kas pārsniedz vienu rindiņu, nododiet masīvu ar atslēgām `content` un `css`. Šeit definējiet komponentus ar `@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;
        }
    ',
]);
```

Masīva formā tiek pieņemtas arī `minify`, `importPaths`, `cache` un `cacheTtl`. Ievades formātus skatiet sadaļā [Lietošana](https://tailwindphp.inline0.dev/lv/docs/usage), bet `@apply`, `@theme`, `@utility` un citas direktīvas — sadaļā [Direktīvas](https://tailwindphp.inline0.dev/lv/docs/usage/directives).

## Rakstīšana failā

`generate()` atgriež virkni, tāpēc stilu lapas ierakstīšana ir paveicama vienā rindiņā:

```php
use TailwindPHP\tw;

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

Failos balstītiem būvējumiem, kas pārmeklē veidņu direktoriju, un uzraudzības režīmam izmantojiet [CLI](https://tailwindphp.inline0.dev/lv/docs/cli). Tas pieņem tos pašus `@tailwindcss/cli` būvēšanas parametrus, taču pašlaik tā satura skenēšana atšķiras no Tailwind; pārskatā CLI ir norādīts, ko tas skenē.

## Minificēšana produkcijai

Nododiet `minify => true`, lai ģenerēšanas laikā saspiestu izvadi, vai izsauciet `tw::minify()` esošai virknei:

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

Minificētājs noņem komentārus, saplacina atstarpes, saīsina heksadecimālās krāsas (`#ffffff` uz `#fff`) un noņem mērvienības nulles vērtībām (`0px` uz `0`). Kešošanas iespējas skatiet sadaļā [Kešošana un minificēšana](https://tailwindphp.inline0.dev/lv/docs/advanced/caching).

## Nākamās darbības

- [Lietošana](https://tailwindphp.inline0.dev/lv/docs/usage) — ģenerēšanas darbplūsma, satura skenēšana un ievades formāti.
- [Klašu utilītas](https://tailwindphp.inline0.dev/lv/docs/class-utilities) — `cn()`, `merge()`, `join()` un `variants()`.
- [Spraudņi](https://tailwindphp.inline0.dev/lv/docs/plugins) — tipogrāfija, veidlapas un pielāgoti spraudņi.
- [API](https://tailwindphp.inline0.dev/lv/docs/api) — pilns `tw` interfeiss un atkārtoti izmantojamas kompilatora instances.
- [CLI](https://tailwindphp.inline0.dev/lv/docs/cli) — failos balstīti būvējumi un uzraudzība bez Node.js.
