diff options
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 18 |
1 files changed, 16 insertions, 2 deletions
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); } }; |