Reorganize saving, generate feed

This commit is contained in:
Christoph Hagen
2024-12-03 13:19:50 +01:00
parent 3c950d47a2
commit dc7b7a0e90
27 changed files with 717 additions and 411 deletions

View File

@@ -0,0 +1,52 @@
import Foundation
struct NavigationBarLink {
let text: String
let url: String
}
struct NavigationBarData {
let navigationIconPath: String
let iconDescription: String
let navigationItems: [NavigationBarLink]
}
struct NavigationBar {
let data: NavigationBarData
init(data: NavigationBarData) {
self.data = data
}
private var items: [NavigationBarLink] {
data.navigationItems
}
var content: String {
var result = "<nav class=\"navbar\"><div class=\"navbar-fade\"></div><div class=\"nav-center\">"
let middleIndex = items.count / 2
let leftNavigationItems = items[..<middleIndex]
let rightNavigationItems = items[middleIndex...]
for item in leftNavigationItems {
result += "<a class=\"nav-animate\" href=\"\(item.url)\">\(item.text)</a>"
}
result += "<a id=\"nav-image\" href=\"/\">"
result += "<img class=\"navbar-icon\" src=\"\(data.navigationIconPath)\" alt=\"\(data.iconDescription)\">"
for item in rightNavigationItems {
result += "<a class=\"nav-animate\" href=\"\(item.url)\">\(item.text)</a>"
}
result += "</div></nav>" // Close nav-center, navbar
return result
}
}