this repo has no description
at main 1.6 kB view raw
1const std = @import("std"); 2const zine = @import("zine"); 3 4pub fn build(b: *std.Build) !void { 5 const compile_stylesheet = b.step("stylesheet", "Compile altagos.css stylesheet from scss files"); 6 compile_stylesheet.result_cached = false; 7 std.debug.assert(try compile_stylesheet.addDirectoryWatchInput(b.path("style"))); 8 9 const compile_stylesheet_cmd_out = b.run(&.{ 10 "sass", 11 "--no-source-map", 12 "--no-color", 13 "style/index.scss", 14 }); 15 const compile_stylesheet_cmd = b.addWriteFile("altagos.css", compile_stylesheet_cmd_out); 16 const install_stylesheet = b.addInstallDirectory(.{ 17 .source_dir = compile_stylesheet_cmd.getDirectory(), 18 .install_dir = .prefix, 19 .install_subdir = "style", 20 }); 21 install_stylesheet.step.dependOn(&compile_stylesheet_cmd.step); 22 23 const stylesheet = zine.BuildAsset{ 24 .name = "altagos.css", 25 .lp = b.path("zig-out/style/altagos.css"), 26 .install_path = "altagos.css", 27 .install_always = true, 28 }; 29 compile_stylesheet.dependOn(&install_stylesheet.step); 30 31 const website = zine.website(b, .{ 32 .install_path = "website", 33 .build_assets = &.{stylesheet}, 34 }); 35 website.step.dependOn(compile_stylesheet); 36 b.getInstallStep().dependOn(&website.step); 37 38 const serve = b.step("serve", "Start the Zine dev server"); 39 const run_zine = zine.serve(b, .{ 40 .build_assets = &.{stylesheet}, 41 // .debug = .{ .scopes = &.{"serve"} }, 42 }); 43 run_zine.step.dependOn(&install_stylesheet.step); 44 serve.dependOn(&run_zine.step); 45}