Download the PHP package bnomei/kirby3-fingerprint without Composer
On this page you can find all versions of the php package bnomei/kirby3-fingerprint. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bnomei/kirby3-fingerprint
More information about bnomei/kirby3-fingerprint
Files in bnomei/kirby3-fingerprint
Package kirby3-fingerprint
Short Description File Method and css/js helper to add cache-busting hash and optional Subresource Integrity to file
License MIT
Informations about the package kirby3-fingerprint
Kirby Fingerprint
File Method and css/js helper to add a cache busting hash and optional Subresource Integrity to files.
Installation
- unzip master.zip as folder
site/plugins/kirby3-fingerprint
or git submodule add https://github.com/bnomei/kirby3-fingerprint.git site/plugins/kirby3-fingerprint
orcomposer require bnomei/kirby3-fingerprint
Usage
[!WARNING] This Plugin does not override the build in
js()
/css()
helpers. Usecss_f
/Bnomei\Fingerprint::css
andjs_f
/Bnomei\Fingerprint::js
when you need them.
Cache
[!WARNING] If global debug mode is
true,
the plugin will flush its cache and not write any more caches.
Hash and SRI values are cached and only updated when the original file is modified.
For best performance, set either the global or plugin-specific cache driver to one using the server's memory, not the default using files on the hard disk (even on SSDs). If available, I suggest Redis/APCu or leave it at file
otherwise.
site/config/config.php
Similar Plugins
The following plugins can do cache busting, but they do not cache the modified timestamp, nor can they do SRI, nor do cache busting for non-js/CSS files.
Settings
bnomei.fingerprint. | Default | Description |
---|---|---|
hash | callback |
will lead to the hashing logic |
integrity | callback |
use it to set option 'integrity' => null, |
digest | 'sha384' |
Cryptographic digest to be used for SRI hashes either 'sha256' , 'sha384' or 'sha512' . |
https | true |
boolean value or callback to force https scheme on all but localhost enviroments. |
query | true or string or callback |
myfile.js?v={HASH} , myfile.{HASH}.js or loaded from manifest file |
Query option: true (default)
This is the default since it works without additional changes to your server but be aware that query strings are not perfect.
Query option: false
If you disable the query option, you also need to add Apache or Nginx rules. These rules will redirect CSS and JS files from with hash to the asset on disk.
.htaccess - put this directly after the RewriteBase
statment
Nginx virtual host setup
Query option: string (Manifest files)
You can also forward the path of a JSON-encoded manifest file, and the plugin will load whatever hash is defined there. This works great for gulp-rev or with laravel mix versioning.
Disclaimer
This plugin is provided "as is" with no guarantee. You can use it at your own risk and always test it before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.
Credits
- based on @iksi https://github.com/iksi/kirby-fingerprint (Kirby V2)
- @S1SYPHOS https://github.com/S1SYPHOS/kirby-sri (Kirby V2)