I’ve recently been playing around with the new version of Tailwind CSS and I wanted to update this site design to use it. Here’s a quick tutorial on setting it up with Jekyll.
1. Install Tailwind with Yarn
yarn add tailwindcss autoprefixer
2. Add Tailwind to your CSS
Add the following to assets/css/main.scss
.
Note that the ---
lines need to stay there or you’ll run into an issue where PostCSS won’t build the CSS file.
---
---
@tailwind base;
@tailwind components;
@tailwind utilities;
3. Create Tailwind config file
Run npx tailwindcss init
to create tailwind.config.js
file.
4. Setup PostCSS with Tailwind
Add jekyll-postcss
to your Gemfile
and run bundle install
group :jekyll_plugins do
gem "jekyll-postcss"
end
Then add jekyll-postcss
to your plugins in _config.yml
:
plugins:
- jekyll-postcss
Now create a postcss.config.js
file in the root directory to add tailwind and autoprefixer:
module.exports = {
plugins: [
require('tailwindcss')('./tailwind.config.js'),
require('autoprefixer'),
]
}
5. Remove unused CSS
The great thing about Tailwind is that it uses PostCSS to remove any unused CSS which reduces the size
of the final CSS file. Edit your tailwind.config.js
file so it looks like this:
module.exports = {
purge: [
'./_site/**/*.html',
'./_site/*.html'
],
theme: {
extend: {},
},
variants: {},
plugins: [],
}
Now when you build/deploy your site, you’ll need to use the JEKYLL_ENV
environment
variable. For example:
JEKYLL_ENV=production bundle exec jekyll build
Success! You should now have a working Jekyll site with Tailwind!