fix(git): deprioritize git, dont fail on non-git content folders
This commit is contained in:
		
							parent
							
								
									dc6a9f3b12
								
							
						
					
					
						commit
						771110a72a
					
				| @ -57,7 +57,7 @@ const config: QuartzConfig = { | ||||
|     transformers: [ | ||||
|       Plugin.FrontMatter(), | ||||
|       Plugin.CreatedModifiedDate({ | ||||
|         priority: ["git", "frontmatter", "filesystem"], | ||||
|         priority: ["frontmatter", "git", "filesystem"], | ||||
|       }), | ||||
|       Plugin.SyntaxHighlighting({ | ||||
|         theme: { | ||||
|  | ||||
| @ -35,13 +35,23 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options>> = (u | ||||
|       return [ | ||||
|         () => { | ||||
|           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) => { | ||||
|             let created: MaybeDate = undefined | ||||
|             let modified: MaybeDate = undefined | ||||
|             let published: MaybeDate = undefined | ||||
| 
 | ||||
|             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) { | ||||
|               if (source === "filesystem") { | ||||
|                 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 | ||||
|                 modified ||= file.data.frontmatter.modified as MaybeDate | ||||
|                 published ||= file.data.frontmatter.published as MaybeDate | ||||
|               } else if (source === "git") { | ||||
|                 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) | ||||
|                 } | ||||
| 
 | ||||
|               } else if (source === "git" && repo) { | ||||
|                 try { | ||||
|                   modified ||= await repo.getFileLatestModifiedDateAsync(fullFp) | ||||
|                 } catch { | ||||
|                   console.log( | ||||
|                     chalk.yellow( | ||||
|                       `\nWarning: ${file.data | ||||
|                         .filePath!} isn't yet tracked by git, last modification date is not available for this file`,
 | ||||
|                       `\nWarning: ${file.data.filePath!} isn't yet tracked by git, dates will be inaccurate`, | ||||
|                     ), | ||||
|                   ) | ||||
|                 } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user