From a75d03583c0691b1830122979d44737e574f27c7 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Tue, 28 Apr 2026 21:07:12 +0200 Subject: feat(): support callout's title --- src/callout.zig | 6 +++--- src/eval/blocks.zig | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/callout.zig b/src/callout.zig index 9c5bab5..1c756d6 100644 --- a/src/callout.zig +++ b/src/callout.zig @@ -57,17 +57,17 @@ test "callout" { \\::: \\hey \\::: - , "

hey

"); + , "

default

hey

"); try doTest(parse, alloc, \\:::info \\hey \\::: - , "

hey

"); + , "

info

hey

"); try doTest(parse, alloc, \\::: info Title \\hey \\::: - , "

hey

"); + , "

Title

hey

"); // cannot test content with \n try doTestError(parse, alloc, ":::", Error.InvalidCallout); diff --git a/src/eval/blocks.zig b/src/eval/blocks.zig index 32f2de3..9f96c3d 100644 --- a/src/eval/blocks.zig +++ b/src/eval/blocks.zig @@ -133,8 +133,14 @@ pub const Callout = struct { const self: *Self = @ptrCast(@alignCast(context)); var el = try HTML.Content.init(alloc, "div"); try el.base.appendClass("callout"); - if (self.kind) |kind| try el.base.setAttribute("data-callout", kind); - el.content = try self.content.html(alloc); + const kind = self.kind orelse "default"; + try el.base.setAttribute("data-callout", kind); + const root = try HTML.Root.init(alloc); + const title = try HTML.Content.init(alloc, "h4"); + title.content = (try HTML.Literal.init(alloc, self.title orelse kind)).element(); + root.append(title.element()); + root.append(try self.content.html(alloc)); + el.content = root.element(); return el.element(); } }; -- cgit v1.2.3