feat(open-graph): add frontmatter aliases for socialImage/cover/image

This commit is contained in:
Ben Schlegel 2024-11-10 14:19:47 +01:00
parent 299c53955d
commit 635c47560b
No known key found for this signature in database
GPG Key ID: 8BDB8891C1575E22
2 changed files with 7 additions and 5 deletions

View File

@ -141,11 +141,8 @@ export default (() => {
let ogImagePath = useDefaultOgImage ? ogImageDefaultPath : ogImageGeneratedPath let ogImagePath = useDefaultOgImage ? ogImageDefaultPath : ogImageGeneratedPath
// TODO: could be improved to support external images in the future // TODO: could be improved to support external images in the future
// Handle aliases (socialImage, image and cover are supported to ensure obsidian publish support) // Aliases for image and cover handled in `frontmatter.ts`
const frontmatterImgUrl = const frontmatterImgUrl = fileData.frontmatter?.socialImage
fileData.frontmatter?.socialImage ??
fileData.frontmatter?.image ??
fileData.frontmatter?.cover
// Override with default og image if config option is set // Override with default og image if config option is set
if (fileData.slug === "index") { if (fileData.slug === "index") {

View File

@ -71,6 +71,11 @@ export const FrontMatter: QuartzTransformerPlugin<Partial<Options>> = (userOpts)
const cssclasses = coerceToArray(coalesceAliases(data, ["cssclasses", "cssclass"])) const cssclasses = coerceToArray(coalesceAliases(data, ["cssclasses", "cssclass"]))
if (cssclasses) data.cssclasses = cssclasses if (cssclasses) data.cssclasses = cssclasses
const socialImage = coerceToArray(
coalesceAliases(data, ["socialImage", "image", "cover"]),
)
if (socialImage) data.socialImage = socialImage
// fill in frontmatter // fill in frontmatter
file.data.frontmatter = data as QuartzPluginData["frontmatter"] file.data.frontmatter = data as QuartzPluginData["frontmatter"]
} }