From a897cc1f531844a2e4da36f8712b7aedec0c5824 Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Fri, 22 Sep 2023 09:43:34 -0700 Subject: [PATCH] feat: add warning for missing home page --- quartz/plugins/emitters/contentPage.tsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/quartz/plugins/emitters/contentPage.tsx b/quartz/plugins/emitters/contentPage.tsx index 4542446b0..338bfae44 100644 --- a/quartz/plugins/emitters/contentPage.tsx +++ b/quartz/plugins/emitters/contentPage.tsx @@ -7,6 +7,7 @@ import { FullPageLayout } from "../../cfg" import { FilePath, pathToRoot } from "../../util/path" import { defaultContentPageLayout, sharedPageComponents } from "../../../quartz.layout" import { Content } from "../../components" +import chalk from "chalk" export const ContentPage: QuartzEmitterPlugin> = (userOpts) => { const opts: FullPageLayout = { @@ -29,8 +30,14 @@ export const ContentPage: QuartzEmitterPlugin> = (userOp const cfg = ctx.cfg.configuration const fps: FilePath[] = [] const allFiles = content.map((c) => c[1].data) + + let containsIndex = false for (const [tree, file] of content) { const slug = file.data.slug! + if (slug === "index") { + containsIndex = true + } + const externalResources = pageResources(pathToRoot(slug), resources) const componentData: QuartzComponentProps = { fileData: file.data, @@ -50,6 +57,15 @@ export const ContentPage: QuartzEmitterPlugin> = (userOp fps.push(fp) } + + if (!containsIndex) { + console.log( + chalk.yellow( + `\nWarning: you seem to be missing an \`index.md\` home page file at the root of your \`${ctx.argv.directory}\` folder. This may cause errors when deploying.`, + ), + ) + } + return fps }, }