From 20ce4e9288547e8742e3664bd4c67a0a6f3224f6 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Mon, 6 Oct 2025 18:02:52 +0200 Subject: rbl: add serve command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- src/main.zig | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/main.zig') diff --git a/src/main.zig b/src/main.zig index 8e0b27e..7199bce 100644 --- a/src/main.zig +++ b/src/main.zig @@ -162,6 +162,8 @@ const Cli = struct { try Cli.mdCmd(ctx); } else if (std.mem.eql(u8, arg, "watch")) { try Cli.watchCmd(ctx); + } else if (std.mem.eql(u8, arg, "serve")) { + try Cli.serveCmd(ctx); } else { Cli.helpCmd(ctx); } @@ -169,7 +171,7 @@ const Cli = struct { } fn helpCmd(_: *Context) void { - std.debug.print("usage: rbl [gen|md]\n\n", .{}); + std.debug.print("usage: rbl [gen|md|watch|serve]\n\n", .{}); } fn genCmd(ctx: *Context) !void { @@ -186,7 +188,19 @@ const Cli = struct { fn watchCmd(ctx: *Context) !void { try exe.shell(ctx, \\find ./src/inc/ -type f -print | entr -nc -dd -- rbl md gen - ); + , null); + } + + fn serveCmd(ctx: *Context) !void { + var env_map = try std.process.getEnvMap(ctx.allocator()); + defer env_map.deinit(); + + try env_map.put("CADDY_HTTP_PORT", "1414"); + try env_map.put("CADDY_HOST", "localhost"); + + try exe.shell(ctx, + \\caddy fmt --overwrite && caddy run --watch + , &env_map); } }; -- cgit 1.4.1