@@ -5,88 +5,89 @@ import { PluginTypes } from "./plugins/types"
55import { Theme } from "./util/theme"
66
77export type Analytics =
8- | null
9- | {
10- provider : "plausible"
11- host ?: string
8+ | null
9+ | {
10+ provider : "plausible"
11+ host ?: string
1212 }
13- | {
14- provider : "google"
15- tagId : string
13+ | {
14+ provider : "google"
15+ tagId : string
1616 }
17- | {
18- provider : "umami"
19- websiteId : string
20- host ?: string
17+ | {
18+ provider : "umami"
19+ websiteId : string
20+ host ?: string
2121 }
22- | {
23- provider : "goatcounter"
24- websiteId : string
25- host ?: string
26- scriptSrc ?: string
22+ | {
23+ provider : "goatcounter"
24+ websiteId : string
25+ host ?: string
26+ scriptSrc ?: string
2727 }
28- | {
29- provider : "posthog"
30- apiKey : string
31- host ?: string
28+ | {
29+ provider : "posthog"
30+ apiKey : string
31+ host ?: string
3232 }
33- | {
34- provider : "tinylytics"
35- siteId : string
33+ | {
34+ provider : "tinylytics"
35+ siteId : string
3636 }
37- | {
38- provider : "cabin"
39- host ?: string
37+ | {
38+ provider : "cabin"
39+ host ?: string
4040 }
41- | {
42- provider : "clarity"
43- projectId ?: string
41+ | {
42+ provider : "clarity"
43+ projectId ?: string
4444 }
4545
4646export interface GlobalConfiguration {
47- pageTitle : string
48- pageTitleSuffix ?: string
49- /** Whether to enable single-page-app style rendering. this prevents flashes of unstyled content and improves smoothness of Quartz */
50- enableSPA : boolean
51- /** Whether to display Wikipedia-style popovers when hovering over links */
52- enablePopovers : boolean
53- /** Analytics mode */
54- analytics : Analytics
55- /** Glob patterns to not search */
56- ignorePatterns : string [ ]
57- /** Whether to use created, modified, or published as the default type of date */
58- defaultDateType : ValidDateType
59- /** Base URL to use for CNAME files, sitemaps, and RSS feeds that require an absolute URL.
60- * Quartz will avoid using this as much as possible and use relative URLs most of the time
61- */
62- baseUrl ?: string
63- theme : Theme
64- /**
65- * Allow to translate the date in the language of your choice.
66- * Also used for UI translation (default: en-US)
67- * Need to be formatted following BCP 47: https://en.wikipedia.org/wiki/IETF_language_tag
68- * The first part is the language (en) and the second part is the script/region (US)
69- * Language Codes: https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
70- * Region Codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
71- */
72- locale : ValidLocale
47+ pageTitle : string
48+ pageTitleSuffix ?: string
49+ /** Whether to enable single-page-app style rendering. this prevents flashes of unstyled content and improves smoothness of Quartz */
50+ enableSPA : boolean
51+ /** Whether to display Wikipedia-style popovers when hovering over links */
52+ enablePopovers : boolean
53+ /** Analytics mode */
54+ analytics : Analytics
55+ /** Glob patterns to not search */
56+ ignorePatterns : string [ ]
57+ /** Whether to use created, modified, or published as the default type of date */
58+ defaultDateType : ValidDateType
59+ /** Base URL to use for CNAME files, sitemaps, and RSS feeds that require an absolute URL.
60+ * Quartz will avoid using this as much as possible and use relative URLs most of the time
61+ */
62+ baseUrl ?: string
63+ theme : Theme
64+ /**
65+ * Allow to translate the date in the language of your choice.
66+ * Also used for UI translation (default: en-US)
67+ * Need to be formatted following BCP 47: https://en.wikipedia.org/wiki/IETF_language_tag
68+ * The first part is the language (en) and the second part is the script/region (US)
69+ * Language Codes: https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
70+ * Region Codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
71+ */
72+ locale : ValidLocale
7373}
7474
7575export interface QuartzConfig {
76- configuration : GlobalConfiguration
77- plugins : PluginTypes
76+ configuration : GlobalConfiguration
77+ plugins : PluginTypes
7878}
7979
8080export interface FullPageLayout {
81- head : QuartzComponent
82- header : QuartzComponent [ ]
83- beforeBody : QuartzComponent [ ]
84- pageBody : QuartzComponent
85- afterBody : QuartzComponent [ ]
86- left : QuartzComponent [ ]
87- right : QuartzComponent [ ]
88- footer : QuartzComponent
81+ head : QuartzComponent
82+ header : QuartzComponent [ ]
83+ beforeBody : QuartzComponent [ ]
84+ pageBody : QuartzComponent
85+ afterBody : QuartzComponent [ ]
86+ beforeFooter : QuartzComponent [ ]
87+ left : QuartzComponent [ ]
88+ right : QuartzComponent [ ]
89+ footer : QuartzComponent
8990}
9091
9192export type PageLayout = Pick < FullPageLayout , "beforeBody" | "left" | "right" >
92- export type SharedLayout = Pick < FullPageLayout , "head" | "header" | "footer" | "afterBody" >
93+ export type SharedLayout = Pick < FullPageLayout , "head" | "header" | "footer" | "afterBody" | "beforeFooter" >
0 commit comments