import Foundation extension Content { func generateFeed(for language: ContentLanguage, bookmarkKey: String) { let posts = posts.map { $0.feedEntry(for: language) } let data = websiteData.localized(in: language) let navigationItems: [FeedNavigationLink] = websiteData.navigationTags.map { let localized = $0.localized(in: language) return .init(text: localized.name, url: localized.urlComponent) } DispatchQueue.global(qos: .userInitiated).async { let feed = Feed( language: language, title: data.title, description: data.description, iconDescription: data.iconDescription, navigationItems: navigationItems, posts: posts) let fileContent = feed.content Content.accessFolderFromBookmark(key: bookmarkKey) { folder in let outputFile = folder.appendingPathComponent("feed.html", isDirectory: false) do { try fileContent .data(using: .utf8)! .write(to: outputFile) } catch { print("Failed to save: \(error)") } } } } }