diff --git a/WebsiteGenerator/Files/FileSystem.swift b/WebsiteGenerator/Files/FileSystem.swift index b730d2d..5706925 100644 --- a/WebsiteGenerator/Files/FileSystem.swift +++ b/WebsiteGenerator/Files/FileSystem.swift @@ -150,9 +150,12 @@ final class FileSystem { } } - func contentOfOptionalFile(atPath path: String, source: String) -> String? { + func contentOfOptionalFile(atPath path: String, source: String, createEmptyFileIfMissing: Bool = false) -> String? { let url = input.appendingPathComponent(path) guard exists(url) else { + if createEmptyFileIfMissing { + try? Data().write(to: url) + } return nil } diff --git a/WebsiteGenerator/Generators/PageGenerator.swift b/WebsiteGenerator/Generators/PageGenerator.swift index feecc41..8eb3686 100644 --- a/WebsiteGenerator/Generators/PageGenerator.swift +++ b/WebsiteGenerator/Generators/PageGenerator.swift @@ -59,7 +59,8 @@ struct PageGenerator { } private func makeContent(page: Element, language: String, path: String) -> (content: String, includesCode: Bool)? { - guard let content = files.contentOfOptionalFile(atPath: path, source: page.path) else { + guard let content = files.contentOfOptionalFile(atPath: path, source: page.path, createEmptyFileIfMissing: true), + content.trimmed != "" else { return nil } return PageContentGenerator(factory: factory.factory)