about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-02-23 14:03:39 +0100
committerRobert Günzler <r@gnzler.io>2026-03-23 11:43:40 -0300
commit798e63c5a819ef1f55bfb990b83115fe52644d19 (patch)
tree3f93a233441d28fcb16ce0634941fceae87d2817 /src
parent1c95a3e4b3f4a85009c1a6ea3f5ed17214211ee3 (diff)
downloadsite-798e63c5a819ef1f55bfb990b83115fe52644d19.tar.gz
rbc: add force render mode
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'src')
-rw-r--r--src/gen.zig2
-rw-r--r--src/main.zig7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/gen.zig b/src/gen.zig
index fbc67bd..449342e 100644
--- a/src/gen.zig
+++ b/src/gen.zig
@@ -110,7 +110,7 @@ fn genSite(ctx: *Context, p: []const u8) !void {
 
     const srcmtime = try fs.getLastEdit(srcpath);
     const dstmtime = try fs.getLastEdit(dstpath);
-    if (srcmtime.sec < dstmtime.sec) return;
+    if (!ctx.force and srcmtime.sec < dstmtime.sec) return;
 
     log.debug("generating {s} at {s}", .{ p, rel_dstpath });
 
diff --git a/src/main.zig b/src/main.zig
index dfcedfa..3edfb1c 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -32,6 +32,9 @@ pub const Context = struct {
     meta: usize = 0,
     tilde: usize = 0,
 
+    // opts
+    force: bool = false,
+
     pub const params = struct {
         pub const PAGE_PATH = "src/inc";
         pub const SITE_PATH = "site";
@@ -192,6 +195,10 @@ const Cli = struct {
 
     fn genCmd(ctx: *Context, argv: ?*std.process.ArgIterator) !void {
         try index(ctx);
+
+        if (checkOpts(argv, &.{ "-f", "--force" }))
+            ctx.force = true;
+
         try gen.generate(ctx);
 
         if (checkOpts(argv, &.{ "-c", "--commit" }))