diff --git a/quartz.layout.ts b/quartz.layout.ts index f45da0c92..7fea5cacd 100644 --- a/quartz.layout.ts +++ b/quartz.layout.ts @@ -36,6 +36,11 @@ export const defaultContentPageLayout: PageLayout = { ], } +// components for the index page +export const indexContentPageLayout: PageLayout = { + ...defaultContentPageLayout +} + // components for pages that display lists of pages (e.g. tags or folders) export const defaultListPageLayout: PageLayout = { beforeBody: [Component.Breadcrumbs(), Component.ArticleTitle(), Component.ContentMeta()], diff --git a/quartz/plugins/emitters/contentPage.tsx b/quartz/plugins/emitters/contentPage.tsx index f59ff6bf5..99a8cbb30 100644 --- a/quartz/plugins/emitters/contentPage.tsx +++ b/quartz/plugins/emitters/contentPage.tsx @@ -10,7 +10,7 @@ import { pageResources, renderPage } from "../../components/renderPage" import { FullPageLayout } from "../../cfg" import { Argv } from "../../util/ctx" import { FilePath, isRelativeURL, joinSegments, pathToRoot } from "../../util/path" -import { defaultContentPageLayout, sharedPageComponents } from "../../../quartz.layout" +import { defaultContentPageLayout, indexContentPageLayout, sharedPageComponents } from "../../../quartz.layout" import { Content } from "../../components" import chalk from "chalk" import { write } from "./helpers" @@ -52,7 +52,7 @@ const parseDependencies = (argv: Argv, hast: Root, file: VFile): string[] => { } export const ContentPage: QuartzEmitterPlugin> = (userOpts) => { - const opts: FullPageLayout = { + let opts: FullPageLayout = { ...sharedPageComponents, ...defaultContentPageLayout, pageBody: Content(), @@ -104,6 +104,12 @@ export const ContentPage: QuartzEmitterPlugin> = (userOp const slug = file.data.slug! if (slug === "index") { containsIndex = true + opts = { + ...sharedPageComponents, + ...indexContentPageLayout, + pageBody: Content(), + ...userOpts, + } } const externalResources = pageResources(pathToRoot(slug), file.data, resources)