From 69ea02e682fa63910cc8316e8b55a3aa60643e83 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Fri, 25 Jul 2025 19:20:52 +0200 Subject: refactor gen binary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - make indexer also pick up markdown files - prepare for hosting more markdown functionality Signed-off-by: Robert Günzler --- src/exe.zig | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/exe.zig (limited to 'src/exe.zig') diff --git a/src/exe.zig b/src/exe.zig new file mode 100644 index 0000000..ef38a67 --- /dev/null +++ b/src/exe.zig @@ -0,0 +1,39 @@ +const std = @import("std"); + +const log = std.log.scoped(.exe); +const Context = @import("main.zig").Context; +const fs = @import("fs.zig"); + +pub fn run_pandoc(ctx: *Context) !void { + ctx.progress_start("Processing markdown files"); + defer ctx.progress_end(); + + for (ctx.markdown.items) |page| { + const targetpath = try fs.replace_extension(ctx.allocator(), page, "md"); + defer ctx.allocator().free(targetpath); + + const f = try fs.FileSwapper.createAt(ctx.allocator(), targetpath); + defer f.close(); + + try run(ctx, &.{ "notify-send", "hi", page }); + } + // @ echo "" >$@ + // $(PANDOC) -fmarkdown+wikilinks_title_after_pipe+autolink_bare_uris -thtml5 --lua-filter=$(PANDOC_PREPROC) --strip-comments $< >>$@ +} + +pub fn run(ctx: *Context, argv: []const []const u8) !void { + const command = try std.mem.join(ctx.allocator(), " ", argv); + defer ctx.allocator().free(command); + const label = try std.fmt.allocPrint(ctx.allocator(), "running {s}", .{command}); + defer ctx.allocator().free(label); + + ctx.progress_start(label); + defer ctx.progress_end(); + + const result = try std.process.Child.run(.{ + .argv = argv, + .allocator = std.heap.page_allocator, + .progress_node = ctx.progress_nodes.getLast(), + }); + _ = result; +} -- cgit 1.4.1