A Netlify plugin to extract and inline your critical CSS, built on top of the `critical` package.
npm install netlify-plugin-inline-critical-cssA Netlify Build plugin to extract and inline your critical CSS, built on top of the critical package. It extracts the CSS for above-the-fold content and inlines it into the HTML document in order to render content to the user as fast as possible.
Inlining the critical CSS directly into the HTML document eliminates additional requests and can be used to deliver a “one roundtrip” critical path where only the HTML is a blocking resource. You can use this plugin together with netlify-plugin-inline-source to inline your other assets/sources such as small images, SVGs or render-blocking scripts.
To install the plugin in the Netlify UI, use this direct in-app installation link or go to the Plugins directory.
For file-based installation, add it to your netlify.toml file.
``toml
[[plugins]]
package = "netlify-plugin-inline-critical-css"
# All inputs are optional, so you can omit this section.
# Defaults are shown below.
[plugins.inputs]
# A filter used to target specific files in the publish directory. Be sure to only target HTML files. This option is passed onto the readdirp library, see https://github.com/paulmillr/readdirp#options for more info.
fileFilter = ["*.html"]
# A filter used to target or ignore specific directories in the publish directory. This option is passed onto the readdirp library, see https://github.com/paulmillr/readdirp#options for more info.
directoryFilter = ["!node_modules"]
# You can refer to critical’s documentation: https://github.com/addyosmani/critical for all options below.
# Whether to remove the inlined styles from any stylesheet referenced in the HTML. Use with caution. Removing the critical CSS per page results in a unique async loaded CSS file for every page, meaning you can’t rely on cache across multiple pages.
extract = false
# An array of objects containing width and height properties to deliver critical CSS for multiple screen resolutions.`
dimensions = [
{ width = 414, height = 896 },
{ width = 1920, height = 1080 }
]
To complete file-based installation, from your project’s base directory, use npm, yarn, or any other Node.js package manager to add the plugin to devDependencies in package.json.
`bash`
npm install -D netlify-plugin-inline-critical-css
Once installed and configured, the plugin will automatically run for all of your site’s deploys.
To test this plugin locally, you can use the Netlify CLI:
`bashInstall the Netlify CLI.
npm install netlify-cli -g