How to add Tailwind to Hugo
Inside your theme folder run
npm init -y
Then install Tailwind CSS as a development dependency:
npm install -D tailwindcss
Initialize Tailwind using:
npx tailwindcss init
This creates the tailwind.config.js
file. Open it in your editor, and fill the content
property with your theme layout files in this way:
module.exports = {
content: ['content/**/*.md', 'layouts/**/*.html'],
theme: {
extend: {},
},
plugins: [],
}
Now create tailwind.css
file in the theme’s folder and add this:
@tailwind base;
@tailwind components;
@tailwind utilities;
Now open package.json
and in the scripts
section add the build
and watch
commands:
{
"name": "valley",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "npx tailwindcss -i ./tailwind.css -o ./assets/style.css",
"watch": "npx tailwindcss -i ./tailwind.css -o ./assets/style.css --watch"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"tailwindcss": "^3.1.4"
}
}
Try running
npm run build
and you should see the style.css
file!
| Tip: use npm run watch
when working on the theme, so the changes are saved to the style.css
file on every file save.
Now we can include it in our layouts, for example I put it in layouts/partials/header.html
{{ $styles := resources.Get "style.css" }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}">
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025