import Foundation struct ContentPage: HtmlProducer { private let linkTitle: String private let description: String private let language: ContentLanguage private let dateString: String private let title: String private let tags: [FeedEntryData.Tag] private let navigationBarLinks: [NavigationBar.Link] private let pageContent: String private let headers: String private let footers: String init(language: ContentLanguage, dateString: String, title: String, tags: [FeedEntryData.Tag], linkTitle: String, description: String, navigationBarLinks: [NavigationBar.Link], pageContent: String, headers: String, footers: [String]) { self.language = language self.dateString = dateString self.title = title self.tags = tags self.linkTitle = linkTitle self.description = description self.navigationBarLinks = navigationBarLinks self.pageContent = pageContent self.headers = headers self.footers = footers.joined() } func populate(_ result: inout String) { // TODO: Add headers and footers from page content result += "" result += PageHead(title: title, description: description, additionalHeaders: headers).content result += "
" result += NavigationBar(links: navigationBarLinks).content result += "