site/quartz.layout.ts
2024-10-13 09:42:59 +02:00

64 lines
1.7 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(),
header: [Component.DesktopOnly(Component.PageImage()), Component.Homebar()],
footer: [Component.MobileOnly(Component.Explorer()),
Component.Footer({
links: {
"Main social profile": "https://derg.social/@ulysia",
},
rings: {
Fediring: "https://fediring.net/",
},
})],
}
// 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: [
Component.Graph({
localGraph: {
depth: -1,
},
globalGraph: {
depth: -1,
}
}),
Component.DesktopOnly(Component.TableOfContents()),
Component.Backlinks(),
],
}