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 →
Lerd: A Free, Open Source Herd Alternative for Linux and macOS image

Lerd: A Free, Open Source Herd Alternative for Linux and macOS

Read article
Let's Encrypt HTTPS on an IP Address With FrankenPHP image

Let's Encrypt HTTPS on an IP Address With FrankenPHP

Read article
Laravel Chores: Resumable Data Operations and Cleanups image

Laravel Chores: Resumable Data Operations and Cleanups

Read article
NativePHP v4: Build Native iOS and Android UI in Blade image

NativePHP v4: Build Native iOS and Android UI in Blade

Read article
Laravel Lock: Distributed Locks for Models and Routes image

Laravel Lock: Distributed Locks for Models and Routes

Read article
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article