News

Convert your Bootstrap CSS to Tailwind with Tailwindo

Published
Convert your Bootstrap CSS to Tailwind with Tailwindo image

I’ve recently been working on converting one of my side projects from Bootstrap to Tailwind and came across awssat/tailwindo. This package does precisely that – automatically converts Bootstrap component classes to Tailwind utility classes.

Installing Tailwindo

You can install this package globally on your system by running the following command.

composer global require awssat/tailwindo

Usage

To start converting your files to Tailwind run the following command to loop through all of your Laravel blade view files.

cd ~/my-project
tailwindo resources/views --extensions=php --recursive=true --replace=true

Tailwindo is also able to convert Vue.js and HTML files.

tailwindo resources/assets/js/components --extensions=vue --recursive=true --replace=true

If you’d like to convert one file at a time, you could also run.

tailwindo file.blade.php

Results

After running Tailwindo over your view files, you’ll get results similar to the following.

- <div class="alert alert-info"></div>
+ <div class="relative px-3 py-3 mb-4 border rounded text-teal-darker border-teal-dark bg-teal-lighter"></div>
- <input class="form-control" type="text" />
+ <input class="block appearance-none w-full py-1 px-2 mb-1 text-base leading-normal bg-white text-grey-darker border border-grey rounded" type="text" />
- <a href="#" class="btn btn-primary btn-lg"></a>
+ <a href="#" class="inline-block align-middle text-center select-none border font-normal whitespace-no-wrap py-2 px-4 rounded text-base leading-normal no-underline text-blue-lightest bg-blue hover:bg-blue-light py-3 px-4 text-xl leading-tight"></a>

Wrapping Up

I’ve found this package to be helpful not only for converting files automatically but to better assist me learning Tailwind classes and how they relate to Bootstrap’s classes which I know so well. I encourage you to take a look at the package documentation and the Converter.php file which does the heavy lifting. I’ve found this to be a helpful reference.

Chris Gmyr photo

Full-stack web developer and coffee enthusiast.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Find Unexpected Test Inputs with Fuzz for Pest image

Find Unexpected Test Inputs with Fuzz for Pest

Read article
Laravel Rulebook: Business Rules That Change by Date image

Laravel Rulebook: Business Rules That Change by Date

Read article
Taylor disabled GitHub Issues on most Laravel open-source packages. image

Taylor disabled GitHub Issues on most Laravel open-source packages.

Read article
Exclude Vendor and Default Commands in `php artisan dev` image

Exclude Vendor and Default Commands in `php artisan dev`

Read article
The Laracon Archive image

The Laracon Archive

Read article
Group Adjacent Collection Items in Laravel with chunkBy() image

Group Adjacent Collection Items in Laravel with chunkBy()

Read article