import { QuartzComponent } from "./components/types" import { PluginTypes } from "./plugins/types" import { Theme } from "./theme" export type Analytics = null | { provider: 'plausible' } | { provider: 'google', tagId: string } export interface GlobalConfiguration { pageTitle: string, /** Whether to enable single-page-app style rendering. this prevents flashes of unstyled content and improves smoothness of Quartz */ enableSPA: boolean, /** Whether to display Wikipedia-style popovers when hovering over links */ enablePopovers: boolean, /** Analytics mode */ analytics: Analytics /** Glob patterns to not search */ ignorePatterns: string[], /** Base URL to use for CNAME files, sitemaps, and RSS feeds that require an absolute URL. * Quartz will avoid using this as much as possible and use relative URLs most of the time */ canonicalUrl?: string, theme: Theme } export interface QuartzConfig { configuration: GlobalConfiguration, plugins: PluginTypes, } export interface FullPageLayout { head: QuartzComponent header: QuartzComponent[], beforeBody: QuartzComponent[], pageBody: QuartzComponent, left: QuartzComponent[], right: QuartzComponent[], footer: QuartzComponent, } export type PageLayout = Pick