Static Pages with Nuxt & Tailwind CSS | @vannsl
How to build a static website in
two and a half days with Nuxt and
Tailwind CSS
Vanessa Böhner
Frontend Developer, Munich
Product Engineer @ SinnerSchrader
@vannsl
@vannsl
vannsl.io
Static Pages with Nuxt & Tailwind CSS | @vannsl
Codebase
github.com/Vannsl/ausbaufaehig-podcast
Static Pages with Nuxt & Tailwind CSS | @vannsl
Background
• Worked with Vue.js for about a year

• Never worked with Nuxt

• Never worked with any (Utility) CSS Framework

• Never worked with other Material Design Components
Static Pages with Nuxt & Tailwind CSS | @vannsl
Listen to Live Wine Podcast Go to Wine Event
😱😱😱
Static Pages with Nuxt & Tailwind CSS | @vannsl
Create a homepage. Quickly.
No server.
Responsive. “CMS” possible
Requirements
Static Pages with Nuxt & Tailwind CSS | @vannsl
First Ideas
Static Pages with Nuxt & Tailwind CSS | @vannsl
Further „Research“
Static Pages with Nuxt & Tailwind CSS | @vannsl
Alternative
VuePress
(was partially inspired by Nuxt’s
nuxt generate)
Static Pages with Nuxt & Tailwind CSS | @vannsl
Tech Stack
Static Pages with Nuxt & Tailwind CSS | @vannsl
What is Nuxt?
Static Pages with Nuxt & Tailwind CSS | @vannsl
Authors
Sébastian Chopin
@Atunix
Alexandre Chopin
@_achopin
Static Pages with Nuxt & Tailwind CSS | @vannsl
Idea
• Vue CLI 3 hasn’t been there yet

• Less time on configuration & more time on feature
development
Static Pages with Nuxt & Tailwind CSS | @vannsl
Modes
universal
SSR
SPA
static generated
Static Pages with Nuxt & Tailwind CSS | @vannsl
Pre Rendering
+ =
Static Pages with Nuxt & Tailwind CSS | @vannsl
Keywords - On top of vue
transition: string | {} | () => {}
head() {}layout: string | () => {}
scrollToTop: bool
asyncData() {}
fetch() {} middleware: string
validate() {}
watchQuery: bool : []
Static Pages with Nuxt & Tailwind CSS | @vannsl
Assets
Webpacked
./assets
background: url('~assets/
img/hero.jpg');
Static
./static
ausbaufaehig-podcast.de/
feed.xml
Static Pages with Nuxt & Tailwind CSS | @vannsl
What is Tailwind CSS?
Static Pages with Nuxt & Tailwind CSS | @vannsl
Tailwind CSS
Adam Wathan
@adamwathan
A Utility-First CSS
Framework for
Rapid UI
Development
Static Pages with Nuxt & Tailwind CSS | @vannsltailwindcss.com
Static Pages with Nuxt & Tailwind CSS | @vannsltailwindcss.com
• Layout
• Typography
• Backgrounds
• Borders
• Flexbox
• Spacing
• Sizing
• Tables
• Interactivity
• …
Static Pages with Nuxt & Tailwind CSS | @vannsltailwindcss.com
Static Pages with Nuxt & Tailwind CSS | @vannsl
Static Pages with Nuxt & Tailwind CSS | @vannsl
Companies using Tailwind CSS
Sources
Static Pages with Nuxt & Tailwind CSS | @vannsl
Mix Utility with Component Classes
Static Pages with Nuxt & Tailwind CSS | @vannsl
Mixed Sources 👍
🤔 Naming Collisions
🥺
Static Pages with Nuxt & Tailwind CSS | @vannsl
Prefix
Static Pages with Nuxt & Tailwind CSS | @vannsl
Pseudo Classes
&
Custom Variables
Static Pages with Nuxt & Tailwind CSS | @vannsl
hover:
active:
focus:
…
Static Pages with Nuxt & Tailwind CSS | @vannsl
Custom Classes
What if a class is “missing”?
Static Pages with Nuxt & Tailwind CSS | @vannsl
Static Pages with Nuxt & Tailwind CSS | @vannsl
Variants
tailwind.js
Static Pages with Nuxt & Tailwind CSS | @vannsl
Group Hover
tailwind.css - Group Hover
Static Pages with Nuxt & Tailwind CSS | @vannsl
Media Queries
Static Pages with Nuxt & Tailwind CSS | @vannsl
Problem
Static Pages with Nuxt & Tailwind CSS | @vannsl
PurgeCSS
npm i nuxt-purgecss
Remove unused CSS
Static Pages with Nuxt & Tailwind CSS | @vannsl
Static Pages with Nuxt & Tailwind CSS | @vannsl
Solution
330 KiB 34 KiB
Static Pages with Nuxt & Tailwind CSS | @vannsl
File size matters
The page has 2.4 MB!
2.4 MB 2.1 MB 960 kB
Static Pages with Nuxt & Tailwind CSS | @vannsl
Lighthouse
Static Pages with Nuxt & Tailwind CSS | @vannsl
Static Pages with Nuxt & Tailwind CSS | @vannsl
Thanks 🙏
ausbaufaehig-podcast.de

How to build a static website in two and a half days with Nuxt and Tailwind CSS

  • 1.
    Static Pages withNuxt & Tailwind CSS | @vannsl How to build a static website in two and a half days with Nuxt and Tailwind CSS
  • 2.
    Vanessa Böhner Frontend Developer,Munich Product Engineer @ SinnerSchrader @vannsl @vannsl vannsl.io
  • 3.
    Static Pages withNuxt & Tailwind CSS | @vannsl Codebase github.com/Vannsl/ausbaufaehig-podcast
  • 4.
    Static Pages withNuxt & Tailwind CSS | @vannsl Background • Worked with Vue.js for about a year • Never worked with Nuxt • Never worked with any (Utility) CSS Framework • Never worked with other Material Design Components
  • 5.
    Static Pages withNuxt & Tailwind CSS | @vannsl Listen to Live Wine Podcast Go to Wine Event 😱😱😱
  • 6.
    Static Pages withNuxt & Tailwind CSS | @vannsl Create a homepage. Quickly. No server. Responsive. “CMS” possible Requirements
  • 7.
    Static Pages withNuxt & Tailwind CSS | @vannsl First Ideas
  • 8.
    Static Pages withNuxt & Tailwind CSS | @vannsl Further „Research“
  • 9.
    Static Pages withNuxt & Tailwind CSS | @vannsl Alternative VuePress (was partially inspired by Nuxt’s nuxt generate)
  • 10.
    Static Pages withNuxt & Tailwind CSS | @vannsl Tech Stack
  • 11.
    Static Pages withNuxt & Tailwind CSS | @vannsl What is Nuxt?
  • 12.
    Static Pages withNuxt & Tailwind CSS | @vannsl Authors Sébastian Chopin @Atunix Alexandre Chopin @_achopin
  • 13.
    Static Pages withNuxt & Tailwind CSS | @vannsl Idea • Vue CLI 3 hasn’t been there yet • Less time on configuration & more time on feature development
  • 14.
    Static Pages withNuxt & Tailwind CSS | @vannsl Modes universal SSR SPA static generated
  • 15.
    Static Pages withNuxt & Tailwind CSS | @vannsl Pre Rendering + =
  • 16.
    Static Pages withNuxt & Tailwind CSS | @vannsl Keywords - On top of vue transition: string | {} | () => {} head() {}layout: string | () => {} scrollToTop: bool asyncData() {} fetch() {} middleware: string validate() {} watchQuery: bool : []
  • 17.
    Static Pages withNuxt & Tailwind CSS | @vannsl Assets Webpacked ./assets background: url('~assets/ img/hero.jpg'); Static ./static ausbaufaehig-podcast.de/ feed.xml
  • 18.
    Static Pages withNuxt & Tailwind CSS | @vannsl What is Tailwind CSS?
  • 19.
    Static Pages withNuxt & Tailwind CSS | @vannsl Tailwind CSS Adam Wathan @adamwathan A Utility-First CSS Framework for Rapid UI Development
  • 20.
    Static Pages withNuxt & Tailwind CSS | @vannsltailwindcss.com
  • 21.
    Static Pages withNuxt & Tailwind CSS | @vannsltailwindcss.com • Layout • Typography • Backgrounds • Borders • Flexbox • Spacing • Sizing • Tables • Interactivity • …
  • 22.
    Static Pages withNuxt & Tailwind CSS | @vannsltailwindcss.com
  • 23.
    Static Pages withNuxt & Tailwind CSS | @vannsl
  • 24.
    Static Pages withNuxt & Tailwind CSS | @vannsl Companies using Tailwind CSS Sources
  • 25.
    Static Pages withNuxt & Tailwind CSS | @vannsl Mix Utility with Component Classes
  • 26.
    Static Pages withNuxt & Tailwind CSS | @vannsl Mixed Sources 👍 🤔 Naming Collisions 🥺
  • 27.
    Static Pages withNuxt & Tailwind CSS | @vannsl Prefix
  • 28.
    Static Pages withNuxt & Tailwind CSS | @vannsl Pseudo Classes & Custom Variables
  • 29.
    Static Pages withNuxt & Tailwind CSS | @vannsl hover: active: focus: …
  • 30.
    Static Pages withNuxt & Tailwind CSS | @vannsl Custom Classes What if a class is “missing”?
  • 31.
    Static Pages withNuxt & Tailwind CSS | @vannsl
  • 32.
    Static Pages withNuxt & Tailwind CSS | @vannsl Variants tailwind.js
  • 33.
    Static Pages withNuxt & Tailwind CSS | @vannsl Group Hover tailwind.css - Group Hover
  • 34.
    Static Pages withNuxt & Tailwind CSS | @vannsl Media Queries
  • 35.
    Static Pages withNuxt & Tailwind CSS | @vannsl Problem
  • 36.
    Static Pages withNuxt & Tailwind CSS | @vannsl PurgeCSS npm i nuxt-purgecss Remove unused CSS
  • 37.
    Static Pages withNuxt & Tailwind CSS | @vannsl
  • 38.
    Static Pages withNuxt & Tailwind CSS | @vannsl Solution 330 KiB 34 KiB
  • 39.
    Static Pages withNuxt & Tailwind CSS | @vannsl File size matters The page has 2.4 MB! 2.4 MB 2.1 MB 960 kB
  • 40.
    Static Pages withNuxt & Tailwind CSS | @vannsl Lighthouse
  • 41.
    Static Pages withNuxt & Tailwind CSS | @vannsl
  • 42.
    Static Pages withNuxt & Tailwind CSS | @vannsl Thanks 🙏 ausbaufaehig-podcast.de