- Stable
2.0.1
- Canary
3.0.0-alpha.17
Toggle Menu
1.93s
29.05s
Quick Tip: Super Simple CSS Concatenation
In some situations you may want to concatenate content files together into a single top level template. Maybe you want to create a single CSS file with all of your component CSS inside.
Consider this sample theme.njk
file:
---
permalink: theme.css
---
{% include "components/header.css" %}
{% include "components/footer.css" %}
That’s an easy way to concatenate files and control the include order.
You might imagine creating an include-all
Shortcode that uses fast-glob
to include a glob of files like {% include-all "components/*.css %}
, but that’s an exercise left to the reader!
Capture and Minify
In our Inline CSS Quick Tip, we discussed how to capture and minify a CSS file. This approach can be modified, of course, to capture multiple includes too!
<!-- capture the CSS content as a Nunjucks variable -->
{% set css %} {% include "components/header.css" %} {% include
"components/footer.css" %} {% endset %}
<!-- feed it through our cssmin filter to minify -->
<style>
{{ css | cssmin | safe }}
</style>
Work with what you have
Of course, Eleventy has no desire to replace your existing build pipeline. This is just a super simple example if you want something up and running quickly.
That said, Eleventy wants to work with what you have. As an example, the EleventyOne
project scaffold is a fine example of using Eleventy with Gulp and Sass. The zachleat.com source code is an older example that works with Grunt and Sass.
Warning about Content Security Policy
style-src
directive allows 'unsafe-inline'
. Otherwise, your inline CSS will not load.
All Quick Tips
- Quick Tip: Inline Minified CSS
- Quick Tip: Add Edit on GitHub Links to All Pages
- Quick Tip: Inline Minified JavaScript
- Quick Tip: Zero Maintenance Tag Pages for your Blog
- Quick Tip: Super Simple CSS Concatenation
- Quick Tip: Adding a 404 Not Found Page to your Static Site
- Quick Tip: Fetch GitHub Stargazers Count (and More) at Build Time
- Quick Tip: Trigger a Netlify Build Every Day
- Quick Tip: Cache Data Requests
- Quick Tip: Transform Global Data using an `eleventyComputed.js` Global Data File
- Quick Tip: Use local plugins to reduce config file size
- Quick Tip: Draft Posts using Computed Data
- View all of the Eleventy Quick Tips.