Stylify CSS: Code your SvelteKit website faster with CSS-like utilities

Stylify + SvelteKit. Style your SvelteKit website faster with Stylify. Don’t study selectors and syntax. Use pure CSS syntax and get generated CSS with advanced optimization for production.

For easier start, you can check out the Stylify Stackblitz pl…


This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Vladimír Macháček

Stylify + SvelteKit. Style your SvelteKit website faster with Stylify. Don't study selectors and syntax. Use pure CSS syntax and get generated CSS with advanced optimization for production.

For easier start, you can check out the Stylify Stackblitz playground 🎮.

💎 Stylify CSS Introduction

Stylify is a library that uses CSS-like selectors to generate optimized utility-first CSS based on what you write.

  • ✅ CSS-like selectors
  • ✅ No framework to study
  • ✅ Less time spent in docs
  • ✅ Mangled & Extremely small CSS
  • ✅ No CSS purge needed
  • ✅ Components, Variables, Custom selectors
  • ✅ It can generate multiple CSS bundles

🚀 SvelteKit Setup

The easiest way to Setup the SvelteKit is using CLI:

  • Run yarn create svelte@latest
  • Then cd app

This way you will get the default SvelteKit application skeleton.

🔌 Stylify CSS Integration

Install the @stylify/unplugin package using NPM or Yarn:

yarn add @stylify/unplugin
npm i @stylify/unplugin

Open the vite.config.js and copy the following content into it:

import { sveltekit } from '@sveltejs/kit/vite';
import { stylifyVite } from '@stylify/unplugin';

const stylifyPlugin = stylifyVite({
    bundles: [{
        outputFile: './src/stylify.css',
        files: ['./src/**/*.svelte'],
    }]
});

const config = {
    plugins: [
        stylifyPlugin,
        sveltekit(),
    ]
};

export default config;

The last step, create src/routes/+layout.svelte with the following content stylify.css:

<script>
    import '../stylify.css';
</script>

<slot />

In case, you have created more bundles, for example for pages, you have to add paths to those generated CSS files into correct Svelte files.

Styling the website

If you copy the code below into the src/routes/+page.svelte and run yarn dev you will get a styled Hello World! 🎉 text:

<main class="max-width:800px margin:0_auto">
    <h1 class="text-align:center margin-top:100px font-size:42px">
        Hello World! 🎉
    </h1>
</main>

Stylify watches any change in the files that matches the mask in the bundle files and generates CSS into the src/stylify.css.

If you add for example color:blue the CSS will be automatically updated 🎉.

Go ahead and try Stylify CSS directly on Stackblitz.com 💡.

Components

To avoid bloated templates with utilities, you can use
components directly in files, where they are used through content options (expects javascript object without brackets) or in the compiler config.

<!--
stylify-components
  container: 'max-width:800px margin:0_auto',
  title: 'text-align:center margin-top:100px font-size:42px'
/stylify-components
-->
<main class="container">
    <h1 class="title">
        Hello World! 🎉
    </h1>
</main>

Variables

If you like clean code, you also want to avoid hardcoded values in selectors. Variables can be defined in the same way as components:

<!--
stylify-variables
  titleFontSize: '42px',
  containerWidth: '800px'
/stylify-variables

stylify-components
  container: 'max-width:$containerWidth margin:0_auto',
  title: 'text-align:center margin-top:100px font-size:$titleFontSize'
/stylify-components
-->
<main class="container">
    <h1 class="title">
        Hello World! 🎉
    </h1>
</main>

Building for production

If you run yarn build + yarn preview, the svelte markup will be mangled into this:

<main class="a">
    <h1 class="b">
        Hello World! 🎉
    </h1>
</main>

The CSS is shortened too:

:root {--titleFontSize: 42px;--containerWidth: 800px;}
.c,.a{max-width:800px}
.d,.a{margin:0 auto}
.e,.b{text-align:center}
.f,.b{margin-top:100px}
.g,.b{font-size:42px}

Stackblitz Playground

Go ahead and try Stylify CSS + SvelteKit on Stackblitz.

You can customize the build above however you want.

Configuration

The examples above don't include everything Stylify can do:

Feel free to check out the docs to learn more 💎.

Let me know what you think!

If you like the idea, let me know that by starring Stylify repo ❤️.

I will be happy for any feedback! The Stylify is still a new Library and there is a lot of space for improvement 🙂.


This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Vladimír Macháček


Print Share Comment Cite Upload Translate Updates
APA

Vladimír Macháček | Sciencx (2023-01-02T18:14:54+00:00) Stylify CSS: Code your SvelteKit website faster with CSS-like utilities. Retrieved from https://www.scien.cx/2023/01/02/stylify-css-code-your-sveltekit-website-faster-with-css-like-utilities/

MLA
" » Stylify CSS: Code your SvelteKit website faster with CSS-like utilities." Vladimír Macháček | Sciencx - Monday January 2, 2023, https://www.scien.cx/2023/01/02/stylify-css-code-your-sveltekit-website-faster-with-css-like-utilities/
HARVARD
Vladimír Macháček | Sciencx Monday January 2, 2023 » Stylify CSS: Code your SvelteKit website faster with CSS-like utilities., viewed ,<https://www.scien.cx/2023/01/02/stylify-css-code-your-sveltekit-website-faster-with-css-like-utilities/>
VANCOUVER
Vladimír Macháček | Sciencx - » Stylify CSS: Code your SvelteKit website faster with CSS-like utilities. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/01/02/stylify-css-code-your-sveltekit-website-faster-with-css-like-utilities/
CHICAGO
" » Stylify CSS: Code your SvelteKit website faster with CSS-like utilities." Vladimír Macháček | Sciencx - Accessed . https://www.scien.cx/2023/01/02/stylify-css-code-your-sveltekit-website-faster-with-css-like-utilities/
IEEE
" » Stylify CSS: Code your SvelteKit website faster with CSS-like utilities." Vladimír Macháček | Sciencx [Online]. Available: https://www.scien.cx/2023/01/02/stylify-css-code-your-sveltekit-website-faster-with-css-like-utilities/. [Accessed: ]
rf:citation
» Stylify CSS: Code your SvelteKit website faster with CSS-like utilities | Vladimír Macháček | Sciencx | https://www.scien.cx/2023/01/02/stylify-css-code-your-sveltekit-website-faster-with-css-like-utilities/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.