Skip to content

kristoff-it/zine

Repository files navigation

Zine

Fast, Scalable, Flexible Static Site Generator (SSG)

Zine is pronounced like in fanzine.

Development Status

Alpha stage, it's strongly recommended to first try Zine out on a small project to get a feeling of the limits of the current implementation.

Getting Started

Go to https://zine-ssg.io to get started.

Development

It is recommended to develop Zine against a site project (eg kristoff-it/zine-ssg.io by running zig build on the project and setting the Zine dependency to a local checkout in build.zig.zon:

zine-ssg.io/build.zig.zon

.{
    .name = "Zine Sample Site",
    .version = "0.0.0",
    .dependencies = .{
        .zine = .{
            .path = "../zine",
        },
    },
    .paths = .{"."},
}

Two flags that are going to help you develop Zine:

-Ddebug

Builds Zine in debug mode, which means faster rebuilds and enabling debug logging.

-Dlog=foo

Enables logging only for the specified scope. Can be passed multiple times to enable more than one scope.

See at the top of each component what is the scope name in a declaration that looks like this:

zine/server/main.zig

const log = std.log.scoped(.server);

super/src/sitter.zig

const log = std.log.scoped(.sitter);