Generate pages, image descriptions

This commit is contained in:
Christoph Hagen
2024-12-06 21:59:36 +01:00
parent 18eb64f289
commit 5fb689ac7c
42 changed files with 1653 additions and 273 deletions

View File

@@ -2,15 +2,18 @@ import Foundation
struct FeedEntry {
let data: FeedEntryData
private let data: FeedEntryData
init(data: FeedEntryData) {
self.data = data
}
private var cardLinkClassText: String {
data.link != nil ? " linked-card" : ""
}
var content: String {
#warning("TODO: Select CSS classes based on existence of link (hover effects, mouse pointer")
var result = "<div class='card'>"
var result = "<div class='card\(cardLinkClassText)'>"
ImageGallery(id: data.entryId, images: data.images)
.addContent(to: &result)
@@ -23,14 +26,8 @@ struct FeedEntry {
if let title = data.title {
result += "<h2>\(title.htmlEscaped())</h2>"
}
if !data.tags.isEmpty {
result += "<div class='tags'>"
for tag in data.tags {
result += "<span class='tag' onclick=\"location.href='\(tag.url)'; event.stopPropagation();\">\(tag.name)</span>"
//result += "<a class='tag' href='\(tag.url)'>\(tag.name)</a>"
}
result += "</div>"
}
result += TagList(tags: data.tags).content
for paragraph in data.text {
result += "<p>\(paragraph)</p>"
}