feat(*): refactor metadata handling; move metadata to backend where possible, refine client views

This commit is contained in:
Cory Dransfeldt 2025-05-25 20:15:45 -07:00
parent 929bc9f9f8
commit 9687509e4a
No known key found for this signature in database
35 changed files with 506 additions and 339 deletions

View file

@ -1,11 +1,13 @@
import feeds from "./feeds.js"
import general from "./general.js";
import media from "./media.js";
import metadata from "./metadata.js";
import navigation from "./navigation.js";
export default {
...feeds,
...general,
...media,
...metadata,
...navigation,
};

View file

@ -0,0 +1,19 @@
export default {
getMetadata: (data = {}, globals = {}, page = {}, title = "", description = "", schema = "") => {
const metadata = data?.metadata;
const baseUrl = globals.url || ""
const ogPath = "/og/w800";
const image = metadata?.open_graph_image || globals.metadata?.open_graph_image || globals.avatar;
const rawTitle = title || page.title || metadata?.title || globals.site_name;
const resolvedTitle = `${rawTitle}${globals.site_name}`;
const resolvedDescription = description || metadata?.description || page.description || globals.site_description;
const url = metadata?.url || (page.url ? `${baseUrl}${page.url}` : "#");
return {
title: resolvedTitle,
description: resolvedDescription,
url,
open_graph_image: `${baseUrl}${ogPath}${image}`
};
}
};