Pular para o conteúdo

CLI

./vendor/bin/tailwindphp é uma implementação PHP de @tailwindcss/cli sem precisar de Node.js. Aceita as mesmas opções de compilação, exceto mapas de origem (--map), mas examina o conteúdo de outra forma: consulte O que o CLI examina. Após composer require tailwindphp/tailwindphp, o binário é vinculado a vendor/bin/.

Se precisar apenas de CSS em tempo de execução a partir de PHP, use API em vez disso — CLI é para fluxos de trabalho de compilação que gravam uma folha de estilos em disco.

Início rápido

Shell
# 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

Opções

Shell
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]

Forneça valores às opções longas com =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Atualmente, um valor separado por espaço após uma opção longa (--input ./src/app.css) é ignorado sem erro, e a compilação usa os valores padrão (#13). Opções curtas recebem o valor como próximo argumento (-i ./src/app.css).

Opção Descrição Padrão
-i, --input Arquivo CSS de entrada; --input=- o lê da entrada padrão @import "tailwindcss"
-o, --output Arquivo de saída - (saída padrão)
-w, --watch Monitora alterações e recompila conforme necessário —
-m, --minify Otimiza e minifica a saída —
--optimize Documentado como “otimizar sem minificar”; atualmente minifica como --minify (#9) —
--cwd Diretório de trabalho atual .
-h, --help Exibe informações de uso —
-V, --version Exibe a versão —
-v, --verbose Exibe o rastreamento da pilha quando uma compilação falha —

Quando --output é - (o padrão), o CSS compilado é enviado à saída padrão, para que você possa redirecioná-lo para outro lugar. As mensagens de progresso (o aviso da versão e Done in …ms) são enviadas para a saída de erro padrão.

Ao contrário de @tailwindcss/cli, não há opção --map: TailwindPHP não gera mapas de origem.

Entrada CSS

Crie um app.css com sua importação, tema e diretivas de Tailwind:

CSS
@import "tailwindcss";

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

O que o CLI examina

A varredura de conteúdo no CLI ainda não segue @source da mesma forma que @tailwindcss/cli (#8). Na versão atual:

  • Sem uma diretiva @source de arquivo no CSS de entrada, o CLI examina recursivamente o diretório de trabalho (--cwd). Isso inclui vendor/ e node_modules/; .gitignore não é consultado.
  • Com uma ou mais diretivas @source de arquivo, o CLI examina recursivamente o diretório do arquivo de entrada. O caminho ou padrão glob da diretiva não é aplicado: @source "../templates" ao lado de src/app.css examina src/, não templates/.
  • Diretivas @source not "…" são ignoradas; não excluem nada.
  • @source inline("…") e @source not inline("…") funcionam conforme documentado, pois o compilador as processa diretamente.

Somente arquivos com estas extensões são lidos: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro e mdx. Os nomes das classes são obtidos dos atributos class e className, assim como em tw::extractCandidates(); portanto, uma classe que aparece apenas em uma string PHP ou JavaScript não é encontrada. Force a inclusão dessas classes com @source inline("…").

Até que isso seja corrigido, a configuração confiável é um arquivo de entrada CSS no topo do diretório que você quer examinar:

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

Consulte @source para ver a sintaxe das diretivas, incluindo as formas not e inline().

Exemplos

Shell
# 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

O CLI cria o diretório de saída caso ele não exista e encerra com erro se o arquivo de entrada estiver ausente ou se os caminhos de entrada e saída forem idênticos. O modo de monitoramento verifica o arquivo de entrada e os arquivos examinados a cada 500 ms e recompila quando algum deles muda ou quando um novo arquivo aparece.

Instalação global

Instale globalmente para usar tailwindphp de qualquer lugar:

Shell
composer global require tailwindphp/tailwindphp

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

Consulte Primeiros passos para configurar o projeto e API para gerar CSS em tempo de execução a partir de PHP.