Add social image URL and metadata to template context

This commit is contained in:
Ruben 2026-03-17 11:23:07 +01:00
parent 0e63ed1444
commit 611bf75576
3 changed files with 21 additions and 11 deletions

View file

@ -59,7 +59,8 @@ function renderTemplate(Context $ctx, string $content, int $statusCode = 200): v
'pageCssHash' => $ctx->get('pageCssHash'),
'pageJsUrl' => $ctx->get('pageJsUrl'),
'pageJsHash' => $ctx->get('pageJsHash'),
'feedUrl' => $ctx->get('feedUrl')
'feedUrl' => $ctx->get('feedUrl'),
'socialImageUrl' => $ctx->get('socialImageUrl')
], $ctx);
extract($templateVars);
@ -73,8 +74,8 @@ function renderTemplate(Context $ctx, string $content, int $statusCode = 200): v
function renderMultipleFiles(Context $ctx, array $files, string $pageDir): void {
// Load metadata and page plugins BEFORE rendering content files
// so that plugin-provided template variables are available to PHP content files
$pageMetadata = loadMetadata($pageDir);
getPluginManager()->loadPagePlugins($pageMetadata);
$metadata = loadMetadata($pageDir);
getPluginManager()->loadPagePlugins($metadata);
$content = '';
foreach ($files as $file) {
@ -83,8 +84,8 @@ function renderMultipleFiles(Context $ctx, array $files, string $pageDir): void
$navigation = $ctx->navigation;
$homeLabel = $ctx->homeLabel;
$pageTitle = $pageMetadata['title'] ?? null;
$metaDescription = extractMetaDescription($pageDir, $pageMetadata);
$pageTitle = $metadata['title'] ?? null;
$metaDescription = extractMetaDescription($pageDir, $metadata);
$pageCss = findPageCss($pageDir, $ctx->contentDir);
$pageCssUrl = $pageCss['url'] ?? null;
@ -112,7 +113,8 @@ function renderMultipleFiles(Context $ctx, array $files, string $pageDir): void
'pageCssHash' => $pageCssHash,
'pageJsUrl' => $pageJsUrl,
'pageJsHash' => $pageJsHash,
'socialImageUrl' => $socialImageUrl
'socialImageUrl' => $socialImageUrl,
'metadata' => $metadata
], $ctx);
extract($templateVars);