mirror of
https://github.com/jackyzha0/quartz.git
synced 2026-03-21 21:45:42 -05:00
feat: add frame resolution to page type dispatcher and config loader
This commit is contained in:
parent
995a5986a7
commit
e6049847bd
@ -543,6 +543,11 @@ export async function loadQuartzLayout(layoutOverrides?: {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Apply frame template override
|
||||||
|
if (override.template) {
|
||||||
|
ptLayout.frame = override.template
|
||||||
|
}
|
||||||
|
|
||||||
byPageType[pageType] = ptLayout
|
byPageType[pageType] = ptLayout
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -159,6 +159,8 @@ export interface FlexGroupConfig {
|
|||||||
export interface PageTypeLayoutOverride {
|
export interface PageTypeLayoutOverride {
|
||||||
exclude?: string[]
|
exclude?: string[]
|
||||||
positions?: Partial<Record<LayoutPosition, PluginLayoutDeclaration[]>>
|
positions?: Partial<Record<LayoutPosition, PluginLayoutDeclaration[]>>
|
||||||
|
/** Override the page frame template (e.g. "default", "full-width", "minimal") */
|
||||||
|
template?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Top-level layout section of quartz.config.yaml */
|
/** Top-level layout section of quartz.config.yaml */
|
||||||
|
|||||||
@ -21,6 +21,8 @@ function resolveLayout(
|
|||||||
byPageType: Record<string, Partial<FullPageLayout>>,
|
byPageType: Record<string, Partial<FullPageLayout>>,
|
||||||
): FullPageLayout {
|
): FullPageLayout {
|
||||||
const overrides = byPageType[pageType.layout] ?? {}
|
const overrides = byPageType[pageType.layout] ?? {}
|
||||||
|
// Frame priority: config override > page type declaration > default
|
||||||
|
const frame = overrides.frame ?? pageType.frame ?? "default"
|
||||||
return {
|
return {
|
||||||
head: overrides.head ?? sharedDefaults.head!,
|
head: overrides.head ?? sharedDefaults.head!,
|
||||||
header: overrides.header ?? sharedDefaults.header ?? [],
|
header: overrides.header ?? sharedDefaults.header ?? [],
|
||||||
@ -30,6 +32,7 @@ function resolveLayout(
|
|||||||
left: overrides.left ?? sharedDefaults.left ?? [],
|
left: overrides.left ?? sharedDefaults.left ?? [],
|
||||||
right: overrides.right ?? sharedDefaults.right ?? [],
|
right: overrides.right ?? sharedDefaults.right ?? [],
|
||||||
footer: overrides.footer ?? sharedDefaults.footer!,
|
footer: overrides.footer ?? sharedDefaults.footer!,
|
||||||
|
frame,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user