Presentation
Meta
Typed metadata component for `<head>` output using MetaData and MetaFactory.
Purpose
Meta component centralizes SEO/social/document metadata rendering with typed input, consistent defaults and predictable output format.
Core API
Create MetaData, then render directly or build a MetaFactory via make() for additional customization.
use Lemonade\Framework\Component\Meta\MetaData;
$metaData = new MetaData(
title: 'Documentation',
description: 'Framework docs',
canonical: 'https://example.test/docs/components',
);
echo $component->meta()->render($metaData);
Defaults from config
When values are missing, defaults are read from meta.website_name, meta.charset, meta.viewport, meta.rating and meta.title_separator.
Canonical query parameters
MetaData::withParam() appends non-empty query parameters to canonical URL so filtered pages can keep deterministic canonical targets.
$metaData = $metaData
->withParam('page', '2')
->withParam('sort', 'latest');