jandc / critical-css
Package wrapper and twig postprocessor class which uses the 'css from html extractor' library and twigwrapper to inject a document's head with critical css
Installs: 11 549
Dependents: 1
Suggesters: 0
Security: 0
Stars: 37
Watchers: 5
Forks: 2
Open Issues: 4
Requires
- doctrine/cache: >1.6
- jandc/css-from-html-extractor: ^1.1
- jandc/twig-wrapper: ^0.4
- masterminds/html5: >2.2
README
PHP library for generating critical CSS.
Features
- PHP only, no Node.js required.
- Automatically generated for each page
- Manual control through
{% fold %}{% endfold %}
tags - Dynamically resolves CSS used on each page
Site(s) using Critical CSS
Installation
composer require jandc/critical-css
Register the twig extension and create a wrapper instance with the critical CSS processor
use TwigWrapper\TwigWrapper; use CriticalCssProcessor\CriticalCssProcessor; $twigEnvironment->addExtension(new CSSFromHTMLExtractor\Twig\Extension()); $twigWrapper = new TwigWrapper($twigEnvironment, [new CriticalCssProcessor()]);
Mark the regions of your templates with the provided blocks
{% fold %} <div class="my-class"> ... </div> {% endfold %}
Render your pages, using the twigwrapper
$twigWrapper->render('@templates/my/template.twig', ['foo'=>'bar']);
Available implementations
If you have your own implementation, please send a pull request to add it to this list.