this repo has no description
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}