quartz/quartz.layout.ts
Sohum Mendon 44b38555e5 feat(head): support opengraph customizations
This commit adds the ability to modify attributes of the default
OpenGraph image by changes to the quartz.layout.ts file.

Attributes include the MIME type, dimensions, image path, and alt text.

An example of how this would be configured is present in the existing
layout file.
2024-10-13 18:01:18 -07:00

63 lines
1.6 KiB
TypeScript

import { PageLayout, SharedLayout } from "./quartz/cfg"
import * as Component from "./quartz/components"
// components shared across all pages
export const sharedPageComponents: SharedLayout = {
head: Component.Head({
favicons: [
{ path: "static/icon.png", size: "200x200", mime: "image/png" }
],
openGraph: {
path: "static/og-image.png",
mime: "image/png",
width: "1200",
height: "675",
alt: "Quartz logo"
}
}),
header: [],
afterBody: [],
footer: Component.Footer({
links: {
GitHub: "https://github.com/jackyzha0/quartz",
"Discord Community": "https://discord.gg/cRFFHYye7t",
},
}),
}
// components for pages that display a single page (e.g. a single note)
export const defaultContentPageLayout: PageLayout = {
beforeBody: [
Component.Breadcrumbs(),
Component.ArticleTitle(),
Component.ContentMeta(),
Component.TagList(),
],
left: [
Component.PageTitle(),
Component.MobileOnly(Component.Spacer()),
Component.Search(),
Component.Darkmode(),
Component.DesktopOnly(Component.Explorer()),
],
right: [
Component.Graph(),
Component.DesktopOnly(Component.TableOfContents()),
Component.Backlinks(),
],
}
// components for pages that display lists of pages (e.g. tags or folders)
export const defaultListPageLayout: PageLayout = {
beforeBody: [Component.Breadcrumbs(), Component.ArticleTitle(), Component.ContentMeta()],
left: [
Component.PageTitle(),
Component.MobileOnly(Component.Spacer()),
Component.Search(),
Component.Darkmode(),
Component.DesktopOnly(Component.Explorer()),
],
right: [],
}