octoper / statamic-inline-assets

Inline CSS or JS file for Statamic 3
MIT License
6 stars 7 forks source link

Latest Version Statamic 3.0+

Inline assets

Looking for maintainers: As I'm not using Statamic these days and I don't have a the time to maintain the package I'm looking for anyone who want to take the ownerhip of it! You can reach out via email me@octoper.me

Inline assets for Statamic

Installation

Require it using Composer.

composer require octoper/statamic-inline-assets

Inline Asset tag

Inline assets will inline your CSS or JS file to your HTML, or inline a file encoded with base64.

Inline assets can help you speed of your Statamic website by inlining critical CSS you can check more about that by reading this article Extract critical CSS

Templating

Pass a path to your file from the public directory to inline_assets tag.

<style>
{{ inline_assets:css src="https://github.com/octoper/statamic-inline-assets/raw/master/css/site.css" }}
</style>

or

<script>
{{ inline_assets:js src="https://github.com/octoper/statamic-inline-assets/raw/master/js/site.js" }}
</script>

You can also minify your js or css assets.

<script>
{{ inline_assets:js minify="true" src="https://github.com/octoper/statamic-inline-assets/raw/master/js/site.js" }}
</script>

You usually got a chicken or the egg problem with critical css, so you can ignore if missing

<script>
{{ inline_assets:css ignore-missing="true" src="https://github.com/octoper/statamic-inline-assets/raw/master/css/site.css" }}
</script>

You can also inline your file as an base64 encoded data stream, for example taking your favicon and including it inline.

<link rel="icon" type="image/x-icon" href="https://github.com/octoper/statamic-inline-assets/blob/master/data:image/x-icon;base64,{{ inline_assets:base64 src="https://github.com/octoper/statamic-inline-assets/raw/master/favicon.ico" }}"/>

You usually got a chicken or the egg problem with critical css, so you can ignore if missing

<link rel="icon" type="image/svg+xml" href="https://github.com/octoper/statamic-inline-assets/blob/master/data:image/svg+xml;base64,{{ inline_assets:base64 ignore-missing="true" src="https://github.com/octoper/statamic-inline-assets/raw/master/favicons/favicon.svg" }}">

Security

If you discover any security related issues, please email me@octoper.me instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.