This package is a simple wrapper around Turbolinks. It adds support for prefetching, so navigation becomes nearly instant. Pages are prefetched when a user hovers over a link, or any links woth rel="prefetch"
are found.
Installation instructions coming once this package is on Packagist.
You can add @turbo_script
to your HTML header. For this to work, you need to publish the Javascript to your public folder with php artisan vendor:publish --provider="SiteOrigin\Turbo\TurboServiceProvider" --tag="public"
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>@yield('title', 'Welcome')</title>
@include('partials.analytics')
@turbo_script
</head>
Or, you can include it in your existing Javascript. To do this, publish the Javascript to your resources folder instead with php artisan vendor:publish --provider="SiteOrigin\Turbo\TurboServiceProvider" --tag="resources"
Then add the following line to your resources/js/app.js
file.
require('../vendor/turbo/turbo')
Google Analytics stores useful data about which page a user is likely to visit next, after viewing the current page. This package integrates with Spatie's Analytics Package to automatically add rel="prefetch"
to the most likely next pages. Make sure you've properly configured the Laravel Analytics package, then add analytics-prefetch
middleware to all routes you want to process.
Route::get('/', function () {
return view('welcome');
})->name('home')->middleware('analytics-prefetch');
Alternatively, add SiteOrigin\Turbo\Middleware\AddPrefetch
to your global middleware. In app\Http\Kernel.php
, add \SiteOrigin\Turbo\Middleware\AddPrefetch::class
to the $middlewareGroups
variable, in the web
section.
Caching is hanled by the Google Ananlytics package.