diff --git a/quartz/Dockerfile b/quartz/Dockerfile index 0ba4b72..2ac2a16 100644 --- a/quartz/Dockerfile +++ b/quartz/Dockerfile @@ -12,6 +12,7 @@ RUN git clone --depth 1 --branch ${QUARTZ_VERSION} \ && npm ci COPY quartz.config.ts.template /quartz/quartz.config.ts.template +COPY quartz.layout.ts /quartz/quartz.layout.ts COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh diff --git a/quartz/quartz.layout.ts b/quartz/quartz.layout.ts new file mode 100644 index 0000000..df7f875 --- /dev/null +++ b/quartz/quartz.layout.ts @@ -0,0 +1,46 @@ +import { PageLayout, SharedLayout } from "./quartz/cfg" +import * as Component from "./quartz/components" + +// components shared across all pages +export const sharedLayout: SharedLayout = { + head: Component.Head(), + header: [], + afterBody: [], + footer: Component.Footer({ + links: {}, + }), +} + +// components for pages that display a single page (e.g. a single note) +export const defaultContentPageLayout: PageLayout = { + beforeBody: [ + Component.Breadcrumbs(), + Component.ArticleTitle(), + Component.ContentMeta(), + Component.TagList(), + ], + left: [ + Component.PageTitle(), + Component.MobileOnly(Component.Spacer()), + Component.Search(), + Component.Darkmode(), + Component.DesktopOnly(Component.Explorer()), + ], + right: [ + Component.DesktopOnly(Component.TableOfContents()), + Component.Backlinks(), + ], +} + +// components for pages that display lists of pages (e.g. tags or folders) +export const defaultListPageLayout: PageLayout = { + beforeBody: [Component.Breadcrumbs(), Component.ArticleTitle(), Component.ContentMeta()], + left: [ + Component.PageTitle(), + Component.MobileOnly(Component.Spacer()), + Component.Search(), + Component.Darkmode(), + Component.DesktopOnly(Component.Explorer()), + ], + right: [], +}