critters
purgecss
critters | purgecss | |
---|---|---|
7 | 51 | |
3,374 | 7,672 | |
0.4% | 0.3% | |
6.6 | 8.4 | |
2 months ago | 4 days ago | |
JavaScript | TypeScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
critters
-
Show HN: Jampack – Optimizes static websites as a post-processing step
I'm interested in the notion of identifying "critical" CSS that should be inlined rather than live in its own stylesheet.
I was hoping there was some principled way of identifying critical and non-critical CSS (e.g. user interaction effects like :hover would always be considered non-critical), but it looks like the library it's using just tries to render your page and do a best-effort detection on which rules are considered critical, which is a little unsatisfying: https://github.com/GoogleChromeLabs/critters
-
Optimize CSS with SAT Solving
https://github.com/GoogleChromeLabs/critters Might be a good starting point. It’s designed to inline the css afterward so it’s more focused on extracting used css than removing unused.
-
Critical CSS and Next.js App Directory
With the Pages dir, we had experimental support for critters. That was good enough for me
-
Remove CSS Styles and Apply Styles to All Elements
Critters does something similar but it is intended to inline only the CSS that is visible upon the page load (top of the page). There is also a Vite plugin that inlines everything that is possible to inline
-
Optimizing CSS Performance in Nuxt with Critters
// nuxt.config.js import { defineNuxtConfig } from 'nuxt' export default defineNuxtConfig({ modules: ['@nuxtjs/critters'], critters: { // Options passed directly to critters: https://github.com/GoogleChromeLabs/critters#critters-2 config: { // Default: 'media' preload: 'swap', }, }, })
-
Critical CSS? Not So Fast
I find critters[0] quite easy to work with and well worth implementing on my nextjs or Astro projects.
I build a lot of landing pages so there are very few multi page visits.
[0] https://github.com/GoogleChromeLabs/critters
-
Vue Webpack - possible to extract some CSS but not all?
Doesn't critters do this already? https://github.com/GoogleChromeLabs/critters I could be wrong though
purgecss
-
Optimize CSS with SAT Solving
As a starting point, Tailwind used to use PurgeCSS [0] but I'm not sure what they use now.
[0] https://purgecss.com
-
How to load critical styles for a NextJs app
A similar question was already posted here but, I think looking at the raw html, we will be able to better determine the required css than what Purgecss does.
-
Frontend development roadmap
PurgeCss
-
How to speed up your web application
Webpack minifies JS and CSS files by default when we build them in production mode. But it does not remove useless styles or classes. For this, you can use libraries like https://purgecss.com/ Do not forget to check the dependency, connect only the functionality that you use.
-
Removing unused CSS in a Django template-based project
When I searched online I couldn't find an "industry standard" solution to this problem. What I ended up doing was using the popular tool PurgeCSS along with a quick Python script to generate the appropriate command. What the PurgeCSS tool does is search for all your HTML files, gather all the CSS classes used, and then "purge" all the unused ones from the CSS file. You just need to declare all the HTML files you have.
-
23 of the best Eleventy Themes (Starters) for 2023
Skeleventy gives you a rock-solid foundation to build fast and accessible static websites, with clean, understated design. Features include a minimal build pipeline with Laravel Mix, the Sass-powered utility class generator Gorko, Purge CSS, an HTML minifier, SEO-friendly page metadata, image lazy loading, responsive navigation, and an XML sitemap.
-
Reduce unused CSS / JS from a Django App
You could look into using PurgeCSS and its cli?
- Eliminating unused selectors from Sass
-
Workplaces for digital nomads: the frontend
Unable to get rid of unused styles. Importing components individually and setting styles in SASS can greatly simplify builds, but several common unused styles can't be deleted using PurgeCSS and analogues due to dynamic class names.
-
Does My Website Look Big in This? Six Tips to Lower your Page Weight
If you’re hand-crafting your CSS, using only the exact classes you need, you’ll still probably find that your CSS file size grows as your site does. But it doesn’t need to grow too much — you can remove unused classes with tools like Purge CSS .
What are some alternatives?
compression-webpack-plugin - Prepare compressed versions of assets to serve them with Content-Encoding
vue-vite-starter-template - A single page app Vite starter template, created to easily bootstrap Vue.js 2 apps
critters - CSS optimization using critters for Nuxt
cssnano - A modular minifier, built on top of the PostCSS ecosystem.
webpack-assets-manifest - This webpack plugin will generate a JSON file that matches the original filename with the hashed version.
PostCSS - Transforming styles with JS plugins
mangle-css-class-webpack-plugin - Minifies and obfuscates the class names in your existing JavaScript, CSS, and HTML without any modern css modules.
esbuild-loader - Webpack loader for esbuild: Speed up your build ⚡️
critical - Extract & Inline Critical-path CSS in HTML pages
snarkdown - :smirk_cat: A snarky 1kb Markdown parser written in JavaScript
penthouse - Generate critical css for your web pages
purifycss - Remove unused CSS. Also works with single-page apps.