@roots/bud-criticalcss
TypeScript icon, indicating that this package has built-in type declarations

6.21.0 • Public • Published

bud.js

MIT License npm Follow Roots

@roots/bud-criticalcss

Adds critical.css support to Bud


Installation

Install @roots/bud-criticalcss to your project.

Yarn:

yarn add @roots/bud-criticalcss --dev

npm:

npm install @roots/bud-criticalcss --save-dev

Usage

  1. Identify the markup to be used for critical css generation
  2. Enable the extension

Identify source markup

You may use bud.critical.src to specify a URL or a path on disk to the markup that will be used to generate critical styles.

bud.critical.src(`http://example.test`);
bud.critical.src(bud.path("path/to/index.html"));

Or, you may use bud.critical.html to provide the markup directly.

bud.critical.html(`<html>...</html>`);

Enable the extension

You must explicitly call bud.critical.enable to enable the extension.

bud.critical.enable();

Example

export default async (bud) => {
  bud.critical.src(`http://example.test`).enable(bud.isProduction);
};

Configuration

bud.critical.src

Specify the source with a URL:

bud.critical.src(`http://example.test`);

Specify the source with a local filepath:

bud.critical.src(bud.path(`@src`, `template.html`));

bud.critical.html

Specify the markup directly

bud.critical.html(`<html>...</html>`);

bud.critical.width

Specify the width of the browser viewport

bud.critical.width(1920);

bud.critical.height

Specify the height of the browser viewport

bud.critical.height(1080);

bud.critical.extract

Extract critical css from its source file. Extraction is enabled by default but can be disabled by passing false.

bud.critical.extract(false);

bud.critical.ignore

Ignore certain CSS rules or declarations.

bud.critical.ignore({
  decl: [/^transition/],
  rule: [/^@font-face/],
});

bud.critical.enable

Enable or disable the extension.

It accepts an optional boolean argument. If no argument is provided, the extension will be enabled.

bud.critical.enable();

Contributing

Contributions are welcome from everyone.

We have contribution guidelines to help you get started.

License

@roots/bud-criticalcss is licensed under MIT.

Community

Keep track of development and community news.

Sponsors

Bud is an open source project and completely free to use.

However, the amount of effort needed to maintain and develop new features and projects within the Roots ecosystem is not sustainable without proper financial backing. If you have the capability, please consider sponsoring Roots.

KM Digital Carrot WordPress.com Worksite Safety Copia Digital Freave

Package Sidebar

Install

npm i @roots/bud-criticalcss

Weekly Downloads

403

Version

6.21.0

License

MIT

Unpacked Size

29 kB

Total Files

16

Last publish

Collaborators

  • qwp6t
  • swalkinshaw
  • retlehs
  • log1x
  • kellymears