From: jxnshi Date: Tue, 7 Jan 2025 12:22:30 +0000 (+0000) Subject: Update style X-Git-Url: https://jxnshi.xyz/repos?a=commitdiff_plain;h=fb3c1e7c969f1f9005218f480ee0e6f20b99dae7;p=jxnshi.xyz.git Update style --- diff --git a/public/layout.html b/public/layout.html index 86c5f2a..e2e6624 100644 --- a/public/layout.html +++ b/public/layout.html @@ -4,7 +4,7 @@ jxnshi.xyz - +
@@ -17,7 +17,7 @@

Projects

diff --git a/public/styles/gitweb.css b/public/styles/gitweb.css new file mode 100644 index 0000000..09d2cac --- /dev/null +++ b/public/styles/gitweb.css @@ -0,0 +1 @@ +@import url("root.css"); diff --git a/public/styles/main.css b/public/styles/main.css new file mode 100644 index 0000000..09d2cac --- /dev/null +++ b/public/styles/main.css @@ -0,0 +1 @@ +@import url("root.css"); diff --git a/public/style.css b/public/styles/root.css similarity index 100% rename from public/style.css rename to public/styles/root.css diff --git a/src/main.zig b/src/main.zig index 0bced5e..4ca1b66 100644 --- a/src/main.zig +++ b/src/main.zig @@ -108,124 +108,64 @@ fn handleClient(parent_allocator: std.mem.Allocator, connection: std.net.Server. var maybe_index_file: ?std.fs.File = null; - // Handle repos. - if (std.mem.startsWith(u8, route, "repos")) { - const sub_route = route["repos".len..]; - - var git_dir = try std.fs.openDirAbsolute("/srv/git/", .{ .iterate = true }); - defer git_dir.close(); - - // Show all repos. - if (sub_route.len == 0) { - var git_iter = git_dir.iterate(); - - try temp_buffer_writer.writeAll("git clone git://jxnshi.xyz/repo-name.git"); - try temp_buffer_writer.writeAll("\n"); - } - - // Show specific repo. - else if (sub_route[0] == '/') { - const repo_name = sub_route[1..]; + maybe_index_file = route_dir.openFile("index.html", .{}) catch break :route_dir; - var repo_dir = try git_dir.openDir(repo_name, .{ .iterate = true }); - defer repo_dir.close(); + break :index_file; + } - var read_me_file = try repo_dir.openFile("README.md", .{}); - defer read_me_file.close(); + var path_ext = std.ArrayList(u8).init(allocator); + defer path_ext.deinit(); - const read_me_file_reader = read_me_file.reader(); + try path_ext.appendSlice(route); + try path_ext.appendSlice(".html"); - try markdownToHtml(temp_buffer_writer.any(), read_me_file_reader.any()); + if (public_dir.openFile(path_ext.items, .{})) |index_file| { + maybe_index_file = index_file; + } else |_| { + // } } - // Handle file index. - else { - index_file: { - route_dir: { - var route_dir: std.fs.Dir = undefined; - var is_public: bool = undefined; - - if (route.len == 0) { - route_dir = public_dir; - is_public = true; - } else { - route_dir = public_dir.openDir(route, .{}) catch break :route_dir; - is_public = false; - } - - defer { - if (!is_public) { - route_dir.close(); - } - } - - maybe_index_file = route_dir.openFile("index.html", .{}) catch break :route_dir; - - break :index_file; - } + if (maybe_index_file) |index_file| { + defer index_file.close(); + const index_file_reader = index_file.reader(); + try index_file_reader.readAllArrayList(&temp_buffer, std.math.maxInt(usize)); + } else no_index_file: { + md_file: { var path_ext = std.ArrayList(u8).init(allocator); defer path_ext.deinit(); try path_ext.appendSlice(route); - try path_ext.appendSlice(".html"); + try path_ext.appendSlice(".md"); - if (public_dir.openFile(path_ext.items, .{})) |index_file| { - maybe_index_file = index_file; - } else |_| { - // - } - } - - if (maybe_index_file) |index_file| { - defer index_file.close(); - - const index_file_reader = index_file.reader(); - try index_file_reader.readAllArrayList(&temp_buffer, std.math.maxInt(usize)); - } else no_index_file: { - md_file: { - var path_ext = std.ArrayList(u8).init(allocator); - defer path_ext.deinit(); + var md_file = public_dir.openFile(path_ext.items, .{}) catch break :md_file; + defer md_file.close(); - try path_ext.appendSlice(route); - try path_ext.appendSlice(".md"); + const md_file_reader = md_file.reader(); - var md_file = public_dir.openFile(path_ext.items, .{}) catch break :md_file; - defer md_file.close(); + try markdownToHtml(temp_buffer_writer.any(), md_file_reader.any()); - const md_file_reader = md_file.reader(); - - try markdownToHtml(temp_buffer_writer.any(), md_file_reader.any()); - - break :no_index_file; - } + break :no_index_file; } }