CHGenerator/Sources/Generator/Templates/Elements/ThumbnailTemplate.swift

57 lines
1.2 KiB
Swift
Raw Normal View History

2022-08-16 10:39:05 +02:00
import Foundation
protocol ThumbnailTemplate {
func generate(_ content: [ThumbnailKey : String], shouldIndent: Bool) -> String
2022-08-16 10:39:05 +02:00
}
enum ThumbnailKey: String, CaseIterable {
2022-12-21 12:59:42 +01:00
case altText = "ALT_TEXT"
2022-08-16 10:39:05 +02:00
case url = "URL"
case image = "IMAGE"
case title = "TITLE"
case corner = "CORNER"
}
struct LargeThumbnailTemplate: Template, ThumbnailTemplate {
typealias Key = ThumbnailKey
static let templateName = "thumbnail-large.html"
let raw: String
2022-12-02 10:25:54 +01:00
let results: GenerationResultsHandler
2022-08-16 10:39:05 +02:00
func makeCorner(text: String) -> String {
"<span class=\"corner\"><span>\(text)</span></span>"
}
func makeTitleSuffix(_ suffix: String) -> String {
"<span class=\"suffix\">\(suffix)</span>"
}
}
struct SquareThumbnailTemplate: Template, ThumbnailTemplate {
typealias Key = ThumbnailKey
static let templateName = "thumbnail-square.html"
let raw: String
2022-12-02 10:25:54 +01:00
let results: GenerationResultsHandler
2022-08-16 10:39:05 +02:00
}
struct SmallThumbnailTemplate: Template, ThumbnailTemplate {
typealias Key = ThumbnailKey
static let templateName = "thumbnail-small.html"
let raw: String
2022-12-02 10:25:54 +01:00
let results: GenerationResultsHandler
2022-08-16 10:39:05 +02:00
}