import Foundation struct GenericPage { let language: ContentLanguage let title: String let description: String let links: [NavigationBar.Link] let additionalHeaders: String let additionalFooter: String let insertedContent: (inout String) -> Void init(language: ContentLanguage, title: String, description: String, links: [NavigationBar.Link], additionalHeaders: String, additionalFooter: String, insertedContent: @escaping (inout String) -> Void) { self.language = language self.title = title self.description = description self.links = links self.additionalHeaders = additionalHeaders self.additionalFooter = additionalFooter self.insertedContent = insertedContent } var content: String { var result = "" result += "" result += PageHead(title: title, description: description, additionalHeaders: additionalHeaders).content result += "" result += NavigationBar(links: links).content result += "
" insertedContent(&result) result += "
" result += additionalFooter result += "" // Close content return result } }