const dir = try std.Io.Dir.openDirAbsolute(io, dirName, .{ .iterate = true});
defer dir.close(io);
+ // TODO: Make output dir customizable
+ const outputDir = try std.Io.Dir.openDir(std.Io.Dir.cwd(), io, "public", .{});
+
var iter = dir.iterate();
while(try iter.next(io)) |entry| {
- try processFile(alloc, dir, io, entry.name);
+ try processFile(alloc, dir, outputDir, io, entry.name);
}
}
-fn processFile(alloc: std.mem.Allocator, dir: std.Io.Dir, io: std.Io, fileName: []const u8) !void {
+fn processFile(alloc: std.mem.Allocator, dir: std.Io.Dir, outputDir: std.Io.Dir, io: std.Io, fileName: []const u8) !void {
if (!std.mem.eql(u8, ".md", std.fs.path.extension(fileName))) return;
const postContents = try std.Io.Dir.readFileAlloc(dir, io, fileName, alloc, .unlimited);
@memcpy(newFileName.ptr, baseName);
@memcpy(newFileName[baseName.len..].ptr, ext);
- // TODO: Put them in public directory
- try std.Io.Dir.cwd().writeFile(io, .{
+ try outputDir.writeFile(io, .{
.data = htmlOut,
.sub_path = newFileName,
});