diff options
Diffstat (limited to 'util/pages.zig')
| -rw-r--r-- | util/pages.zig | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/util/pages.zig b/util/pages.zig index 13d62a1..1881aff 100644 --- a/util/pages.zig +++ b/util/pages.zig @@ -1,16 +1,27 @@ const std = @import("std"); -pub const Template = struct { - file: std.Io.File, +pub const pages = [_]Page{Page{ + .source_path = "index.html", + .template_path = "base.html", + .replacements = &[_]Replacement{ Replacement{ + .placeholder = "{{title}}", + .replacement = .{ .literal = "home" }, + }, Replacement{ + .placeholder = "{{body}}", + .replacement = .{ .file_content = {} }, + } }, +}}; - pub fn init(io: std.Io, dir: std.Io.Dir, sub_path: []const u8) !@This() { - const file = try dir.openFile(io, sub_path, .{}); - return .{ .file = file }; - } +const Page = struct { + source_path: []const u8, + template_path: []const u8, + replacements: []const Replacement, +}; - pub fn replacePlaceholder(template: *Template, key: []const u8, content: []u8) void { - _ = template; - _ = key; - _ = content; - } +const Replacement = struct { + placeholder: []const u8, + replacement: union(enum) { + file_content, + literal: []const u8, + }, }; |
