source code of my personal website luthenwald.github.io/
ssg

updated(luth): 2026-02-26

+5 -5
+1 -1
feed.xml
··· 6 <description>personal blog generated by lacuna</description> 7 <generator>lacuna</generator> 8 <language>en</language> 9 - <lastBuildDate>Thu, 26 Feb 2026 06:03:18 +0000</lastBuildDate> 10 <item> 11 <title>Setting up jjvcs collaboration between local machines via ssh</title> 12 <link>luthenwald.github.io/blogs/jj-ssh.html</link>
··· 6 <description>personal blog generated by lacuna</description> 7 <generator>lacuna</generator> 8 <language>en</language> 9 + <lastBuildDate>Thu, 26 Feb 2026 07:57:14 +0000</lastBuildDate> 10 <item> 11 <title>Setting up jjvcs collaboration between local machines via ssh</title> 12 <link>luthenwald.github.io/blogs/jj-ssh.html</link>
+3 -3
src->site/builder.zig
··· 14 const prima_css = @embedFile("assets/prima.css"); 15 16 pub fn srcToSite( 17 - alloc: Allocator, 18 - src_dir: []const u8, 19 output_dir: []const u8, 20 - base_url: []const u8, ) !void { 21 std.debug.print("scanning src\n", .{}); 22 23 const source_files = try scanner.scanSourceFiles(alloc, src_dir); defer { for (source_files) |*f| { f.deinit(alloc); } alloc.free(source_files); }
··· 14 const prima_css = @embedFile("assets/prima.css"); 15 16 pub fn srcToSite( 17 + alloc: Allocator, 18 + src_dir: []const u8, 19 output_dir: []const u8, 20 + base_url: []const u8, ) !void { 21 std.debug.print("scanning src\n", .{}); 22 23 const source_files = try scanner.scanSourceFiles(alloc, src_dir); defer { for (source_files) |*f| { f.deinit(alloc); } alloc.free(source_files); }
+1 -1
src->site/extractor.zig
··· 6 const Allocator = std.mem.Allocator; 7 8 pub const ExtractedContent = struct { 9 comments: []types.CommentBlock, 10 code_blocks: []types.CodeBlock, 11 - alloc: Allocator, 12 13 pub fn deinit(self: *ExtractedContent) void { for (self.comments) |*comment| { comment.deinit(self.alloc); } self.alloc.free(self.comments); self.alloc.free(self.code_blocks); } }; 14
··· 6 const Allocator = std.mem.Allocator; 7 8 pub const ExtractedContent = struct { 9 + alloc: Allocator, 10 comments: []types.CommentBlock, 11 code_blocks: []types.CodeBlock, 12 13 pub fn deinit(self: *ExtractedContent) void { for (self.comments) |*comment| { comment.deinit(self.alloc); } self.alloc.free(self.comments); self.alloc.free(self.code_blocks); } }; 14