From 08f8e3b4a4879dd7c91c16fbce80c4f2bc5e357f Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 10 Jul 2023 02:32:24 +0000
Subject: [PATCH] docs + various polish
---
quartz/cfg.ts | 67 ++++++++++++++++++++-------------
1 files changed, 40 insertions(+), 27 deletions(-)
diff --git a/quartz/cfg.ts b/quartz/cfg.ts
index 2ed5867..c4d4bc0 100644
--- a/quartz/cfg.ts
+++ b/quartz/cfg.ts
@@ -1,34 +1,47 @@
+import { QuartzComponent } from "./components/types"
import { PluginTypes } from "./plugins/types"
+import { Theme } from "./theme"
-export interface ColorScheme {
- light: string,
- lightgray: string,
- gray: string,
- darkgray: string,
- dark: string,
- secondary: string,
- tertiary: string,
- highlight: string
+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: {
- siteTitle: string,
- /** Whether to enable single-page-app style rendering. this prevents flashes of unstyled content and improves smoothness of Quartz */
- enableSPA: boolean,
- /** Glob patterns to not search */
- ignorePatterns: string[],
- },
+ configuration: GlobalConfiguration,
plugins: PluginTypes,
- theme: {
- typography: {
- header: string,
- body: string,
- code: string
- },
- colors: {
- lightMode: ColorScheme,
- darkMode: ColorScheme
- }
- }
}
+
+export interface FullPageLayout {
+ head: QuartzComponent
+ header: QuartzComponent[],
+ beforeBody: QuartzComponent[],
+ pageBody: QuartzComponent,
+ left: QuartzComponent[],
+ right: QuartzComponent[],
+ footer: QuartzComponent,
+}
+
+export type PageLayout = Pick<FullPageLayout, "beforeBody" | "left" | "right">
--
Gitblit v1.10.0