Перейти до вмісту

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 рекурсивно сканує каталог вхідного файлу. Шлях або шаблон у директиві не застосовується: @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 "./";

Синтаксис директив, зокрема форми not і inline(), див. у @source.

Приклади

Командна оболонка
# 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 мс; перебудова виконується, коли один із них змінюється або з’являється новий файл.

Глобальне встановлення

Встановіть глобально, щоб використовувати tailwindphp звідусіль:

Командна оболонка
composer global require tailwindphp/tailwindphp

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

Налаштування проєкту описано в розділі Початок роботи, а генерацію CSS із PHP під час виконання — у розділі API.