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: [], footer: Component.Footer(), }; // 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.DesktopOnly( Component.RecentNotes({ title: "03.03 AM", limit: 3, filter: f => f.frontmatter?.tags?.includes('blog'), linkToMore: "/tags/blog" as SimpleSlug, }), ), Component.DesktopOnly( Component.RecentNotes({ title: "🌲 Evergreen", limit: 2, filter: f => f.frontmatter?.tags?.includes('evergreen') && !['now', 'contact', 'uses'].includes(f.slug), linkToMore: "/tags/evergreen" as SimpleSlug, }), ), Component.DesktopOnly( Component.RecentNotes({ title: "ls -al /var/log/public", limit: 1, filter: f => f.slug!.startsWith("log/") && f.slug! !== "log/index" && !f.frontmatter?.noindex, linkToMore: "/tags/log" as SimpleSlug, }), ), ], 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(), ], right: [], }