From ea7b6c6bdee626a0352f7650cf1398dcdf7829d2 Mon Sep 17 00:00:00 2001 From: hawkaii Date: Thu, 16 Jan 2025 09:31:35 +0530 Subject: [PATCH] feat(configuration): add .gitignore patterns to ignorePatterns --- quartz.config.ts | 3 ++- quartz/util/loadIgnorePatterns.ts | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 quartz/util/loadIgnorePatterns.ts diff --git a/quartz.config.ts b/quartz.config.ts index dc339d987..114b93738 100644 --- a/quartz.config.ts +++ b/quartz.config.ts @@ -1,5 +1,6 @@ import { QuartzConfig } from "./quartz/cfg" import * as Plugin from "./quartz/plugins" +import loadIgnorePatterns from "./quartz/util/loadIgnorePatterns" /** * Quartz 4.0 Configuration @@ -17,7 +18,7 @@ const config: QuartzConfig = { }, locale: "en-US", baseUrl: "quartz.jzhao.xyz", - ignorePatterns: ["private", "templates", ".obsidian"], + ignorePatterns: ["private", "templates", ".obsidian", ...loadIgnorePatterns()], defaultDateType: "created", generateSocialImages: false, theme: { diff --git a/quartz/util/loadIgnorePatterns.ts b/quartz/util/loadIgnorePatterns.ts new file mode 100644 index 000000000..dc739c36d --- /dev/null +++ b/quartz/util/loadIgnorePatterns.ts @@ -0,0 +1,18 @@ +import * as fs from 'fs'; +import * as path from 'path'; + +function loadIgnorePatterns(): string[] { + const gitignorePath = path.join(process.cwd(), '.gitignore'); + if (!fs.existsSync(gitignorePath)) { + return []; + } + + const gitignoreContent = fs.readFileSync(gitignorePath, 'utf-8'); + return gitignoreContent + .split('\n') + .map((line) => line.trim()) + .filter((line) => line !== '' && !line.startsWith('#')); +} + +export default loadIgnorePatterns; +