28 | \(titlePart)
29 | """
30 | }
31 |
32 | public final class CardTag: TagRenderer {
33 | public func render(tag: TagContext) throws -> Future
{
34 | let body = try tag.requireBody()
35 |
36 | return tag.serializer.serialize(ast: body).map(to: TemplateData.self) { body in
37 | let b = String(data: body.data, encoding: .utf8) ?? ""
38 |
39 | return .string("""
40 | \(makeCardHeader(tag.parameters))
41 |
42 | \(b)
43 |
44 |
45 | """)
46 | }
47 | }
48 | }
49 |
50 | public final class CardOuterTag: TagRenderer {
51 | public func render(tag: TagContext) throws -> Future