Generate full-screen images

This commit is contained in:
Christoph Hagen
2022-12-08 17:16:54 +01:00
parent 3bd75a63ab
commit 59667af4b0
5 changed files with 101 additions and 29 deletions

View File

@ -0,0 +1,21 @@
import Foundation
struct EnlargeableImageTemplate: Template {
enum Key: String, CaseIterable {
case image = "IMAGE"
case imageExtension = "IMAGE_EXT"
case width = "WIDTH"
case height = "HEIGHT"
case leftText = "LEFT_TEXT"
case rightText = "RIGHT_TEXT"
case number = "NUMBER"
}
static let templateName = "image-enlargeable.html"
let raw: String
let results: GenerationResultsHandler
}

View File

@ -51,6 +51,8 @@ final class TemplateFactory {
let image: PageImageTemplate
let largeImage: EnlargeableImageTemplate
let video: PageVideoTemplate
// MARK: Slideshow
@ -69,24 +71,28 @@ final class TemplateFactory {
init(templateFolder: URL, results: GenerationResultsHandler) throws {
self.templateFolder = templateFolder
self.backNavigation = try .init(in: templateFolder, results: results)
self.pageHead = try .init(in: templateFolder, results: results)
self.topBar = try .init(in: templateFolder, results: results)
self.overviewSection = try .init(in: templateFolder, results: results)
self.overviewSectionClean = try .init(in: templateFolder, results: results)
self.box = try .init(in: templateFolder, results: results)
self.pageLink = try .init(in: templateFolder, results: results)
self.largeThumbnail = try .init(in: templateFolder, results: results)
self.squareThumbnail = try .init(in: templateFolder, results: results)
self.smallThumbnail = try .init(in: templateFolder, results: results)
self.leftHeader = try .init(in: templateFolder, results: results)
self.centeredHeader = try .init(in: templateFolder, results: results)
self.page = try .init(in: templateFolder, results: results)
self.image = try .init(in: templateFolder, results: results)
self.video = try .init(in: templateFolder, results: results)
self.slideshow = try .init(in: templateFolder, results: results)
self.slideshows = try .init(in: templateFolder, results: results)
self.slideshowImage = try .init(in: templateFolder, results: results)
func create<T>() throws -> T where T: Template {
try .init(in: templateFolder, results: results)
}
self.backNavigation = try create()
self.pageHead = try create()
self.topBar = try create()
self.overviewSection = try create()
self.overviewSectionClean = try create()
self.box = try create()
self.pageLink = try create()
self.largeThumbnail = try create()
self.squareThumbnail = try create()
self.smallThumbnail = try create()
self.leftHeader = try create()
self.centeredHeader = try create()
self.page = try create()
self.image = try create()
self.largeImage = try create()
self.video = try create()
self.slideshow = try create()
self.slideshows = try create()
self.slideshowImage = try create()
self.html = .init()
}