diff --git a/lib/src/main/groovy/com/jessebrault/ssg/part/PartFilePartsProvider.groovy b/lib/src/main/groovy/com/jessebrault/ssg/part/PartFilePartsProvider.groovy index 7b28f01..72e7cc8 100644 --- a/lib/src/main/groovy/com/jessebrault/ssg/part/PartFilePartsProvider.groovy +++ b/lib/src/main/groovy/com/jessebrault/ssg/part/PartFilePartsProvider.groovy @@ -24,7 +24,7 @@ class PartFilePartsProvider implements PartsProvider, WithWatchableDir { } private PartType getPartType(File file) { - partTypes.find { + this.partTypes.find { it.ids.contains(new FileNameHandler(file).getExtension()) } } @@ -32,21 +32,22 @@ class PartFilePartsProvider implements PartsProvider, WithWatchableDir { @Override Collection provide() { if (!partsDir.isDirectory()) { - throw new IllegalArgumentException('partsDir must be a directory') - } - - def parts = [] - partsDir.eachFileRecurse(FileType.FILES) { - def type = this.getPartType(it) - if (type != null) { - def relativePath = this.partsDir.relativePath(it) - logger.debug('found part {}', relativePath) - parts << new Part(relativePath, type, it.text) - } else { - logger.warn('ignoring {} since there is no partType for it', it) + logger.warn('partsDir {} does not exist or is not a directory; skipping and providing no Parts', this.partsDir) + [] + } else { + def parts = [] + this.partsDir.eachFileRecurse(FileType.FILES) { + def type = this.getPartType(it) + if (type != null) { + def relativePath = this.partsDir.relativePath(it) + logger.debug('found part {}', relativePath) + parts << new Part(relativePath, type, it.text) + } else { + logger.warn('ignoring {} since there is no partType for it', it) + } } + parts } - parts } @Override diff --git a/lib/src/main/groovy/com/jessebrault/ssg/specialpage/SpecialPageFileSpecialPagesProvider.groovy b/lib/src/main/groovy/com/jessebrault/ssg/specialpage/SpecialPageFileSpecialPagesProvider.groovy index 9df8982..a2ef1e3 100644 --- a/lib/src/main/groovy/com/jessebrault/ssg/specialpage/SpecialPageFileSpecialPagesProvider.groovy +++ b/lib/src/main/groovy/com/jessebrault/ssg/specialpage/SpecialPageFileSpecialPagesProvider.groovy @@ -33,22 +33,23 @@ class SpecialPageFileSpecialPagesProvider implements SpecialPagesProvider, WithW @Override Collection provide() { if (!this.specialPagesDir.isDirectory()) { - throw new IllegalArgumentException('specialPagesDir must be a directory') - } - - def specialPages = [] - this.specialPagesDir.eachFileRecurse(FileType.FILES) { - def type = this.getSpecialPageType(it) - if (type != null) { - def relativePath = this.specialPagesDir.relativePath(it) - def path = new RelativePathHandler(relativePath).getWithoutExtension() - logger.info('found specialPage {} with type {}', path, type) - specialPages << new SpecialPage(it.text, path, type) - } else { - logger.warn('ignoring {} since there is no specialPageType for it', it) + logger.warn('specialPagesDir {} does not exist or is not a directory; skipping and providing no SpecialPages', this.specialPagesDir) + [] + } else { + def specialPages = [] + this.specialPagesDir.eachFileRecurse(FileType.FILES) { + def type = this.getSpecialPageType(it) + if (type != null) { + def relativePath = this.specialPagesDir.relativePath(it) + def path = new RelativePathHandler(relativePath).getWithoutExtension() + logger.info('found specialPage {} with type {}', path, type) + specialPages << new SpecialPage(it.text, path, type) + } else { + logger.warn('ignoring {} since there is no specialPageType for it', it) + } } + specialPages } - specialPages } @Override diff --git a/lib/src/main/groovy/com/jessebrault/ssg/template/TemplateFileTemplatesProvider.groovy b/lib/src/main/groovy/com/jessebrault/ssg/template/TemplateFileTemplatesProvider.groovy index b0d318d..a656c1e 100644 --- a/lib/src/main/groovy/com/jessebrault/ssg/template/TemplateFileTemplatesProvider.groovy +++ b/lib/src/main/groovy/com/jessebrault/ssg/template/TemplateFileTemplatesProvider.groovy @@ -32,20 +32,22 @@ class TemplateFileTemplatesProvider implements TemplatesProvider, WithWatchableD @Override Collection