this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 57 lines 1.9 kB view raw
1const std = @import("std"); 2const zine = @import("zine"); 3 4pub fn build(b: *std.Build) !void { 5 // Workaround for Zine's early return bug on macOS due to lazy dependencies 6 const zine_dep = b.dependencyFromBuildZig(zine, .{}); 7 if (zine_dep.builder.install_tls.step.dependencies.items.len == 0) { 8 return; 9 } 10 11 const compile_stylesheet = b.step("stylesheet", "Compile stylesheet from scss files"); 12 compile_stylesheet.result_cached = false; 13 std.debug.assert(try compile_stylesheet.addDirectoryWatchInput(b.path("style"))); 14 15 const compile_stylesheet_cmd_out = b.run(&.{ 16 "sass", 17 "--no-source-map", 18 "--no-color", 19 "--load-path=./style", 20 "./style/index.scss", 21 }); 22 const compile_stylesheet_cmd = b.addWriteFile("altagos.css", compile_stylesheet_cmd_out); 23 const install_stylesheet = b.addInstallDirectory(.{ 24 .source_dir = compile_stylesheet_cmd.getDirectory(), 25 .install_dir = .prefix, 26 .install_subdir = "style", 27 }); 28 install_stylesheet.step.dependOn(&compile_stylesheet_cmd.step); 29 30 const stylesheet = zine.BuildAsset{ 31 .name = "altagos.css", 32 .lp = b.path("zig-out/style/altagos.css"), 33 .install_path = "altagos.css", 34 .install_always = true, 35 }; 36 compile_stylesheet.dependOn(&install_stylesheet.step); 37 38 const website = zine.website(b, .{ 39 .output_path = "website", 40 .build_assets = &.{stylesheet}, 41 .force = true, 42 }); 43 website.step.dependOn(compile_stylesheet); 44 b.getInstallStep().dependOn(&website.step); 45 46 const serve = b.step("serve", "Start the Zine dev server"); 47 const run_zine = zine.serve(b, .{ 48 .build_assets = &.{stylesheet}, 49 }); 50 run_zine.step.dependOn(&install_stylesheet.step); 51 52 if (b.args) |args| { 53 run_zine.addArgs(args); 54 } 55 56 serve.dependOn(&run_zine.step); 57}