Hoppa till innehåll

CLI

./vendor/bin/tailwindphp är en PHP-port av @tailwindcss/cli utan krav på Node.js. Den använder samma byggalternativ, med undantag för källkartor (--map), men genomsöker innehåll på ett annat sätt: se Vad CLI genomsöker. Efter composer require tailwindphp/tailwindphp länkas binärfilen in i vendor/bin/.

Om du bara behöver CSS vid körning från PHP ska du i stället använda API — CLI är avsett för arbetsflöden vid byggsteget som skriver en formatmall till disk.

Snabbstart

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

Alternativ

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

Ange värdet för långa alternativ med =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Ett värde separerat med blanksteg efter ett långt alternativ (--input ./src/app.css) ignoreras för närvarande utan felmeddelande, och bygget använder standardvärdena (#13). Korta alternativ tar värdet som nästa argument (-i ./src/app.css).

Alternativ Beskrivning Standardvärde
-i, --input Indatafil för CSS; --input=- läser den från stdin @import "tailwindcss"
-o, --output Utdatafil - (stdout)
-w, --watch Bevaka ändringar och bygg om vid behov —
-m, --minify Optimera och minimera utdata —
--optimize Dokumenterat som "optimera utan att minimera"; minimerar för närvarande på samma sätt som --minify (#9) —
--cwd Aktuell arbetskatalog .
-h, --help Visa användningsinformation —
-V, --version Skriv ut versionen —
-v, --verbose Skriv ut stackspårningen om ett bygge misslyckas —

När --output är - (standardvärdet) skrivs den kompilerade CSS till stdout, så att du kan skicka den vidare med en pipe. Förloppsmeddelanden (versionsraden och Done in …ms) skrivs till stderr.

Till skillnad från @tailwindcss/cli finns det inget alternativ för --map: TailwindPHP genererar inte källkartor.

Indata CSS

Skapa en app.css med dina import-, tema- och direktivinställningar för Tailwind:

CSS
@import "tailwindcss";

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

Vad CLI genomsöker

Innehållsskanningen i CLI följer ännu inte @source på samma sätt som @tailwindcss/cli gör (#8). I den aktuella versionen gäller följande:

  • Utan något @source-fildirektiv i indatavärdet CSS genomsöker CLI arbetskatalogen (--cwd) rekursivt. Det omfattar vendor/ och node_modules/; .gitignore beaktas inte.
  • Med ett eller flera @source-fildirektiv genomsöker CLI katalogen för indatafilen rekursivt. Sökvägen eller globmönstret i direktivet tillämpas inte: @source "../templates" bredvid src/app.css genomsöker src/, inte templates/.
  • @source not "…"-direktiv hoppas över; de utesluter ingenting.
  • @source inline("…") och @source not inline("…") fungerar som dokumenterat, eftersom kompilatorn hanterar dem själv.

Endast filer med följande filändelser läses: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro och mdx. Klassnamn hämtas från attributen class och className, precis som i tw::extractCandidates(), så en klass som bara förekommer i en sträng i PHP eller JavaScript hittas inte. Lägg till sådana klasser manuellt med @source inline("…").

Tills det är åtgärdat är den tillförlitliga lösningen att placera en indatafil för CSS högst upp i katalogen du vill genomsöka:

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

Se @source för direktivsyntaxen, inklusive formerna not och inline().

Exempel

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

CLI skapar utdatakatalogen om den inte finns och avslutas med ett fel om indatafilen saknas eller om sökvägarna för indata och utdata är identiska. Övervakningsläget kontrollerar indatafilen och de genomsökta filerna var 500 ms och bygger om när någon av dem ändras eller när en ny fil tillkommer.

Global installation

Installera globalt för att använda tailwindphp varifrån som helst:

Shell
composer global require tailwindphp/tailwindphp

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

Se Komma igång för projektkonfiguration och API för generering av körningsbaserad CSS från PHP.