fix(git): deprioritize git, dont fail on non-git content folders
This commit is contained in:
		@@ -57,7 +57,7 @@ const config: QuartzConfig = {
 | 
				
			|||||||
    transformers: [
 | 
					    transformers: [
 | 
				
			||||||
      Plugin.FrontMatter(),
 | 
					      Plugin.FrontMatter(),
 | 
				
			||||||
      Plugin.CreatedModifiedDate({
 | 
					      Plugin.CreatedModifiedDate({
 | 
				
			||||||
        priority: ["git", "frontmatter", "filesystem"],
 | 
					        priority: ["frontmatter", "git", "filesystem"],
 | 
				
			||||||
      }),
 | 
					      }),
 | 
				
			||||||
      Plugin.SyntaxHighlighting({
 | 
					      Plugin.SyntaxHighlighting({
 | 
				
			||||||
        theme: {
 | 
					        theme: {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,13 +35,23 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options>> = (u
 | 
				
			|||||||
      return [
 | 
					      return [
 | 
				
			||||||
        () => {
 | 
					        () => {
 | 
				
			||||||
          let repo: Repository | undefined = undefined
 | 
					          let repo: Repository | undefined = undefined
 | 
				
			||||||
 | 
					          if (opts.priority.includes("git")) {
 | 
				
			||||||
 | 
					            try {
 | 
				
			||||||
 | 
					              repo = Repository.discover(ctx.argv.directory)
 | 
				
			||||||
 | 
					            } catch (e) {
 | 
				
			||||||
 | 
					              console.log(
 | 
				
			||||||
 | 
					                chalk.yellow(`\nWarning: couldn't find git repository for ${ctx.argv.directory}`),
 | 
				
			||||||
 | 
					              )
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          return async (_tree, file) => {
 | 
					          return async (_tree, file) => {
 | 
				
			||||||
            let created: MaybeDate = undefined
 | 
					            let created: MaybeDate = undefined
 | 
				
			||||||
            let modified: MaybeDate = undefined
 | 
					            let modified: MaybeDate = undefined
 | 
				
			||||||
            let published: MaybeDate = undefined
 | 
					            let published: MaybeDate = undefined
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const fp = file.data.relativePath!
 | 
					            const fp = file.data.relativePath!
 | 
				
			||||||
            const fullFp = path.posix.join(ctx.argv.directory, fp)
 | 
					            const fullFp = file.data.filePath!
 | 
				
			||||||
            for (const source of opts.priority) {
 | 
					            for (const source of opts.priority) {
 | 
				
			||||||
              if (source === "filesystem") {
 | 
					              if (source === "filesystem") {
 | 
				
			||||||
                const st = await fs.promises.stat(fullFp)
 | 
					                const st = await fs.promises.stat(fullFp)
 | 
				
			||||||
@@ -51,21 +61,13 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options>> = (u
 | 
				
			|||||||
                created ||= file.data.frontmatter.created as MaybeDate
 | 
					                created ||= file.data.frontmatter.created as MaybeDate
 | 
				
			||||||
                modified ||= file.data.frontmatter.modified as MaybeDate
 | 
					                modified ||= file.data.frontmatter.modified as MaybeDate
 | 
				
			||||||
                published ||= file.data.frontmatter.published as MaybeDate
 | 
					                published ||= file.data.frontmatter.published as MaybeDate
 | 
				
			||||||
              } else if (source === "git") {
 | 
					              } else if (source === "git" && repo) {
 | 
				
			||||||
                if (!repo) {
 | 
					 | 
				
			||||||
                  // Get a reference to the main git repo.
 | 
					 | 
				
			||||||
                  // It's either the same as the workdir,
 | 
					 | 
				
			||||||
                  // or 1+ level higher in case of a submodule/subtree setup
 | 
					 | 
				
			||||||
                  repo = Repository.discover(ctx.argv.directory)
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                try {
 | 
					                try {
 | 
				
			||||||
                  modified ||= await repo.getFileLatestModifiedDateAsync(fullFp)
 | 
					                  modified ||= await repo.getFileLatestModifiedDateAsync(fullFp)
 | 
				
			||||||
                } catch {
 | 
					                } catch {
 | 
				
			||||||
                  console.log(
 | 
					                  console.log(
 | 
				
			||||||
                    chalk.yellow(
 | 
					                    chalk.yellow(
 | 
				
			||||||
                      `\nWarning: ${file.data
 | 
					                      `\nWarning: ${file.data.filePath!} isn't yet tracked by git, dates will be inaccurate`,
 | 
				
			||||||
                        .filePath!} isn't yet tracked by git, last modification date is not available for this file`,
 | 
					 | 
				
			||||||
                    ),
 | 
					                    ),
 | 
				
			||||||
                  )
 | 
					                  )
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user