Pereiti prie turinio

Darbo pradžia

Diegimas

Shell
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), 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 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.

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, o @apply, @theme, @utility ir kitas direktyvas — skiltyje Direktyvos.

Į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. 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.

Tolesni veiksmai

  • Naudojimas — generavimo eiga, turinio nuskaitymas ir įvesties formatai.
  • Klasių utilitos — cn(), merge(), join() ir variants().
  • Papildiniai — tipografija, formos ir pasirinktiniai papildiniai.
  • API — visa tw sąsaja ir daugkartinio naudojimo kompiliatoriaus egzemplioriai.
  • CLI — failais paremtas kūrimas ir stebėjimas be Node.js.