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');