Download the PHP package spatie/laravel-google-fonts without Composer
On this page you can find all versions of the php package spatie/laravel-google-fonts. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download spatie/laravel-google-fonts
More information about spatie/laravel-google-fonts
Files in spatie/laravel-google-fonts
Package laravel-google-fonts
Short Description Manage self-hosted Google Fonts in Laravel apps
License MIT
Homepage https://github.com/spatie/laravel-google-fonts
Informations about the package laravel-google-fonts
Manage self-hosted Google Fonts in Laravel apps
This package makes self-hosting Google Fonts as frictionless as possible for Laravel users. To load fonts in your application, register a Google Fonts embed URL and load it with the @googlefonts
Blade directive.
When fonts are requested the first time, this package will scrape the CSS, fetch the assets from Google's servers, store them locally, and render the CSS inline.
If anything goes wrong in this process, the package falls back to a <link>
tag to load the fonts from Google.
Why we created this package
Google Fonts hosts an impressive catalog of fonts, but relying on it has its costs. By hosting fonts on an external domain, browsers need to perform an additional DNS lookup. This slows down the initial page load. In addition, you're directing your visitors to Google property, which privacy-minded users might not appreciate.
You can download fonts from Google Fonts and self-host them, but it's more work than embedding a code. Keeping up with the latest font version can also be a chore.
This package makes self-hosting Google Fonts as frictionless as possible for Laravel users.
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Installation
You can install the package via composer:
You may optionally publish the config file:
Here's what the config file looks like:
Usage
To add fonts to your application, grab an embed code from Google fonts, register it in the config and use the @googlefonts
Blade directive.
This will inline the CSS, so the browser needs to do one less round-trip. If you prefer an external CSS file, you may disable the inline
option in the package configuration.
Fonts are stored in a fonts
folder on the public
disk. You'll need to run php artisan storage:link
to ensure the files can be served over HTTP. If you wish to store fonts in the git repository, make sure storage/app/public
is not ignored.
If you want to serve fonts from a CDN, you may set up a different disk configuration.
Prefetching fonts
If you want to make sure fonts are ready to go before anyone visits your site, you can prefetch them with this artisan command.
Usage with spatie/laravel-csp
If you're using spatie/laravel-csp to manage your Content Security Policy, you can pass an array to the blade directive and add the nonce
option.
Caveats for legacy browsers
Google Fonts' servers sniff the visitor's user agent header to determine which font format to serve. This means fonts work in all modern and legacy browsers.
This package isn't able to tailor to different user agents. With the default configuration, only browsers that can handle WOFF 2.0 font files are supported. At the time of writing, this is >95% of all users according to caniuse. Most notably, IE doesn't support WOFF 2.0.
If you need to serve fonts to a legacy browser, you may specify a different user agent string in the configuration. Keep in mind that makes the page load heavier for all visitors, including modern browsers.
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Sebastian De Deyne
- Freek Van der Herten
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-google-fonts with dependencies
guzzlehttp/guzzle Version ^7.3|^7.2
illuminate/contracts Version ^8.37|^9.0|^10.0|^11.0
spatie/laravel-package-tools Version ^1.7.0