Към съдържанието

CLI

./vendor/bin/tailwindphp е PHP порт на @tailwindcss/cli без нужда от Node.js. Приема същите опции за компилация с изключение на картите на изходния код (--map), но сканира съдържанието по различен начин: вижте Какво сканира CLI. След composer require tailwindphp/tailwindphp двоичният файл се свързва с vendor/bin/.

Ако ви е нужен само CSS по време на изпълнение от PHP, използвайте вместо това API — CLI е за работни процеси на компилация, които записват стилова таблица на диск.

Бърз старт

Обвивка
# 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

Опции

Обвивка
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]

Задавайте стойността на дългите опции с =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Стойност, разделена с интервал след дълга опция (--input ./src/app.css), в момента се игнорира без грешка и компилацията използва стойностите по подразбиране (#13). Кратките опции приемат стойността като следващ аргумент (-i ./src/app.css).

Опция Описание По подразбиране
-i, --input Входен файл CSS; --input=- го чете от stdin @import "tailwindcss"
-o, --output Изходен файл - (stdout)
-w, --watch Следи за промени и компилира отново при нужда —
-m, --minify Оптимизира и минифицира изхода —
--optimize Документирано е като „оптимизиране без минифициране“; в момента минифицира като --minify (#9) —
--cwd Текущата работна директория .
-h, --help Показва информация за употребата —
-V, --version Извежда версията —
-v, --verbose Извежда стека при неуспешна компилация —

Когато --output е - (стойността по подразбиране), компилираният CSS се извежда към stdout, така че можете да го пренасочите другаде. Съобщенията за напредъка (банерът с версията и Done in …ms) се извеждат към stderr.

За разлика от @tailwindcss/cli, няма опция --map: TailwindPHP не генерира карти на изходния код.

Входен CSS

Създайте app.css с импорта, темата и директивите на Tailwind:

CSS
@import "tailwindcss";

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

Какво сканира CLI

Сканирането на съдържанието в CLI все още не следва @source по начина, по който го прави @tailwindcss/cli (#8). В текущото издание:

  • Ако във входния CSS няма директива за файл @source, CLI сканира рекурсивно работната директория (--cwd). Това включва vendor/ и node_modules/; .gitignore не се проверява.
  • Ако има една или повече файлови директиви @source, CLI сканира рекурсивно директорията на входния файл. Пътят или шаблонът glob в директивата не се прилага: @source "../templates" до src/app.css сканира src/, а не templates/.
  • Директивите @source not "…" се пропускат; те не изключват нищо.
  • @source inline("…") и @source not inline("…") работят както е документирано, защото компилаторът ги обработва сам.

Четат се само файлове със следните разширения: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro и mdx. Имената на класовете се вземат от атрибутите class и className, както при tw::extractCandidates(), затова клас, който присъства само в низ PHP или JavaScript, няма да бъде открит. Добавете принудително такива класове с @source inline("…").

Докато това не бъде поправено, надеждната настройка е да поставите входен файл CSS в началото на директорията, която искате да сканирате:

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

Вижте @source за синтаксиса на директивата, включително формите not и inline().

Примери

Обвивка
# 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 създава изходната директория, ако тя не съществува, и прекратява с грешка, ако входният файл липсва или входният и изходният път са еднакви. Режимът за наблюдение проверява входния файл и сканираните файлове на всеки 500 ms и компилира отново при промяна на някой от тях или при появата на нов файл.

Глобална инсталация

Инсталирайте глобално, за да използвате tailwindphp отвсякъде:

Обвивка
composer global require tailwindphp/tailwindphp

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

Вижте Първи стъпки за настройване на проекта и API за генериране на CSS по време на изпълнение от PHP.