Releases: romanzipp/Laravel-SEO
v2.6.0
v2.2.0
Added sections feature. See docs for more information
v2.1.0
Added addFromArray method to allow settings SEO values from nested array. See docs for more information
v2.0.0
Upgrading from 1.0 to 2.0
SeoService
The clear Method
The clear method has been renamed to a more consistent clearStructs method.
- seo()->clear();
+ seo()->clearStructs();The render Method
The render method now returns a RenderConductor which implements the Renderable, Htmlable and Arrayable interfaces instead of a HtmlString.
/** @var $content string */
- $content = (string) seo()->render();
+ $content = seo()->render()->toHtml();You can still use {{ seo()->render() }} in Blade templates.
/** @var $content array */
- $content = seo()->renderContentsArray();
+ $content = seo()->render()->toArray();/** @var $content Illuminate\Support\HtmlString */
- $content = seo()->render();
+ $content = seo()->render()->build();Structs
The defaults Method
The romanzipp\Seo\Structs\Struct::defaults() method now has a return type of void.
class CustomStruct extends Struct
{
- public static function defaults(Struct $struct)
+ public static function defaults(Struct $struct): void
{
$struct->addAttribute('name', 'custom');
}
}Fluent Setters
All fluent setter methods now share the same return type of romanzipp\Seo\Structs\Struct.
use romanzipp\Seo\Structs\Struct;
class CustomStruct extends Meta
{
- public function property($value = null, bool $escape = true): self
+ public function property($value = null, bool $escape = true): Struct
{
$this->addAttribute('property', 'custom:' . $value, $escape);
return $this;
}
}
Laravel-Mix
The filter and reject Methods
Both filter and reject methods in the Laravel-Mix integration have been replaced with a more general map method.
seo()
->mix()
- ->filter(function ($path, $url) {
- // ...
- })
- ->reject(function ($path, $url) {
- // ...
- });
+ ->map(static function (ManifestAsset $asset): ?ManifestAsset {
+ // ...
+ });The rel Method
The rel setter for the Laravel-Mix integration has been removed.
seo()
->mix()
- ->rel('preload');
+ ->map(static function (ManifestAsset $asset): ?ManifestAsset {
+ $asset->rel = 'preload';
+ return $asset;
+ });The getAssets Method
The MixManifestConductor::getAssets() method now returns an array of type ManifestAsset[].
v1.2.0
v1.0.3
- Add spatie/schema-org integration