Add tag overview, improve assets

This commit is contained in:
Christoph Hagen
2024-12-15 21:20:12 +01:00
parent 8a3a0f1797
commit 1e67a99866
59 changed files with 1301 additions and 480 deletions

View File

@@ -1,21 +0,0 @@
struct AdditionalPageHeaders {
let headers: RequiredHeaders
let assetPath: String
#warning("Provide paths in settings, import files")
var content: String {
headers.map(header).sorted().joined()
}
private func header(for asset: HeaderFile) -> String {
let file = asset.rawValue
guard file.hasSuffix(".js") else {
return "<link rel='stylesheet' type='text/css' href='\(assetPath)/css/\(file)'>"
}
let module = asset.asModule ? " type='module'" : ""
return "<script\(module) src='\(assetPath)/js/\(file)'></script>"
}
}

View File

@@ -1,38 +1,15 @@
import Foundation
//import Elementary
struct PageHead {
let title: String
struct PageHead: HtmlProducer {
let description: String
let items: [HeaderElement]
let additionalHeaders: String
var content: String {
"""
<head>
<meta charset="utf-8" />
<title>\(title)</title>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
<meta name="description" content="\(description)">
\(additionalHeaders)
<link rel="stylesheet" href="/assets/css/style.css" />
</head>
"""
func populate(_ result: inout String) {
result += "<head>"
for item in items {
result += item.content
}
result += "</head>"
}
}
/*
extension PageHead: HTML {
var content: some HTML {
meta(.charset(.utf8))
meta(.title(title))
meta(.name(.viewport), .content("width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"))
meta(.name(.description), .content(description))
link(.rel(.stylesheet), .href("style.css"))
link(.rel(.stylesheet), .href("swiper.css"))
}
}
*/