docs/content/_index.md (3533B)
1 +++
2 title = "sqzass"
3 description = "A static site generator written in Rust — fast and deterministic"
4 weight = 0
5 template = "landing.html"
6
7 [extra]
8 hero_kicker = "A static site generator, written in Rust"
9 hero_title_a = "A thousand pages,"
10 hero_title_b = "squeezed into 25 ms."
11 hero_sub = "The name is the promise: press a whole site out in one go. Measured against Hugo, Zola, Jekyll and Astro on the same machine, with the method published."
12 cta_start = "Get started"
13 cta_github = "View on GitHub"
14 install_pick = "Install with"
15 install_note = "Every release also ships tarballs with checksums — Linux on x86_64 and ARM64, and Apple-silicon macOS."
16 install_prompt_label = "Copy prompt for your agent"
17 install_prompt = """
18 Set up sqzass in this project.
19
20 Install it — it is not on crates.io, so `cargo install sqzass` fails:
21 curl -fsSL https://sqzass.sqzer.com/install.sh | sh
22 # from source: cargo install --git https://github.com/debuman/sqzass
23
24 Then scaffold and build:
25 sqzass init .
26 sqzass build -i .
27
28 Things you cannot infer from the file tree: front matter is TOML fenced with
29 +++, not YAML; internal links are @/section/page.md, the source path rather
30 than the URL, and images use root-absolute paths instead; broken references
31 stop the build on purpose and there is no flag to downgrade them.
32
33 Runtime messages are Korean but the error identifiers (SQZASS_E_CONFIG,
34 SQZASS_E_CONTENT, ...) and doctor check names are ASCII and stable — match on
35 those. --json works on every command and prints one object to stdout.
36
37 The long version is at https://sqzass.sqzer.com/agent.md
38 """
39
40 bento_label = "Why sqzass"
41
42 bench_title = "Measured, not claimed"
43 bench_note = "vs Hugo, the fastest of the four we measured — same machine, cold builds, median of three. Bars are to scale, and the sqzass times include the search index, sitemap and llms.txt."
44 bench_more = "Full numbers and methodology →"
45 zero_label = "bytes of difference between two builds of the same input — checked in CI on every push"
46
47 foot_benchmark = "Benchmark"
48
49 [[extra.install]]
50 label = "curl"
51 # cmd 없음 = 템플릿이 이 사이트의 origin으로 조립한다. 프리뷰 배포에서도 맞는 URL이 나온다.
52
53 [[extra.install]]
54 label = "cargo"
55 cmd = "cargo install --git https://github.com/debuman/sqzass"
56
57 [[extra.install]]
58 label = "AUR"
59 cmd = "yay -S sqzass"
60
61 [[extra.bench]]
62 label = "1,000 pages, minimal markdown"
63 us_ms = "18"
64 us_w = "19.4%"
65 them_ms = "93"
66 them_w = "100%"
67
68 [[extra.bench]]
69 label = "1,000-page blog corpus"
70 us_ms = "25"
71 us_w = "22.3%"
72 them_ms = "112"
73 them_w = "100%"
74
75 [[extra.bench]]
76 label = "Code-heavy, every block unique"
77 us_ms = "1,298"
78 us_w = "22.0%"
79 them_ms = "5,912"
80 them_w = "100%"
81
82 [[extra.features]]
83 title = "One small binary"
84 body = "A 7.3 MB static binary with a live-reload dev server built in. No runtime to install, no plugins to version."
85
86 [[extra.features]]
87 title = "Broken references stop the build"
88 body = "A dead link, a missing template, a typo in front matter — each one stops the build and names the file, the line and the fix. Every error has a stable identifier and exit code, so scripts can handle them too."
89 +++
90
91 Most generators lean on their host for pretty URLs, redirects and cache
92 headers. sqzass does that work itself, so the same output is correct on GitHub
93 Pages, Cloudflare Pages, or a plain directory served over HTTP.
94
95 Its speed claims are measurements with a published method, and its failures
96 are loud: a broken reference stops the build and names the file, the line and
97 the fix.