diff --git a/docs/content/_index.ko.md b/docs/content/_index.ko.md
@@ -20,13 +20,12 @@ features_title = "기본으로 얻는 것"
features_more = "나머지는 문서에 있습니다 →"
quick_title = "빠른 시작"
-quick_install = "릴리스 바이너리 설치"
+quick_install = "설치 — 어느 줄이든 한 줄로 끝납니다"
quick_use = "사이트 만들기"
-quick_note = "macOS arm64 빌드와 소스 빌드는"
+quick_note = "스크립트는 플랫폼을 판별하고 체크섬을 검증하며, cargo 줄은 소스에서 빌드합니다. 다른 방법은"
quick_note_link = "설치 안내에 있습니다."
foot_benchmark = "벤치마크"
-status_line = "v0.1.0 — 초기 단계이고, 그 점을 숨기지 않습니다. 테마 시스템은 아직 없습니다."
built_line = "이 사이트도 sqzass가 빌드했습니다 — 문서가 곧 데모입니다."
[[extra.bench]]
diff --git a/docs/content/_index.md b/docs/content/_index.md
@@ -20,13 +20,12 @@ features_title = "What you get"
features_more = "Everything else is in the documentation →"
quick_title = "Quick start"
-quick_install = "Install the release binary"
+quick_install = "Install — either line works"
quick_use = "Make a site"
-quick_note = "macOS arm64 builds and building from source are covered in"
+quick_note = "The script detects your platform and verifies checksums; the cargo line builds from source. More options are in"
quick_note_link = "the install guide."
foot_benchmark = "Benchmark"
-status_line = "v0.1.0 — early, and honest about it. No theme system yet."
built_line = "This site is built by sqzass itself — the docs are the demo."
[[extra.bench]]
diff --git a/docs/content/start/installation.ko.md b/docs/content/start/installation.ko.md
@@ -1,6 +1,6 @@
+++
title = "설치"
-description = "소스에서 sqzass를 빌드합니다"
+description = "한 줄로, 미리 빌드된 바이너리로, 소스에서"
weight = 10
toc = true
+++
@@ -8,6 +8,25 @@ toc = true
sqzass는 런타임 의존성이 없는 단일 바이너리입니다. Node도, Python도, 시스템
라이브러리도 필요 없습니다.
+## 한 줄
+
+```bash
+curl -fsSL https://sqzass.sqzer.com/install.sh | sh
+```
+
+스크립트가 하는 일은 정확히 넷이고, 실행 전에 [직접 읽어볼](/install.sh) 수
+있습니다: 플랫폼 판별(Linux x86_64 또는 Apple Silicon macOS), 최신 릴리스
+타르볼과 `.sha256` 다운로드, 체크섬 검증, `/usr/local/bin`에 `install` — sudo는
+그 디렉터리에 쓸 수 없을 때만 묻습니다. 다른 곳에 설치하려면
+`SQZASS_INSTALL_DIR`을 주세요. 그 밖의 일은 하지 않습니다 — 셸 설정도, `PATH`도
+건드리지 않습니다.
+
+Rust가 있다면 한 줄로 소스 빌드도 됩니다:
+
+```bash
+cargo install --git https://github.com/sqzer-x/sqzass
+```
+
## 소스에서 빌드
```bash
diff --git a/docs/content/start/installation.md b/docs/content/start/installation.md
@@ -1,6 +1,6 @@
+++
title = "Installation"
-description = "Build sqzass from source"
+description = "One line, a prebuilt binary, or from source"
weight = 10
toc = true
+++
@@ -8,6 +8,25 @@ toc = true
sqzass is a single binary with no runtime dependencies. No Node, no Python, no
system libraries.
+## One line
+
+```bash
+curl -fsSL https://sqzass.sqzer.com/install.sh | sh
+```
+
+The script does exactly four things, and you can [read it](/install.sh) first:
+detect the platform (Linux x86_64 or Apple-silicon macOS), download the latest
+release tarball with its `.sha256`, verify the checksum, and `install` the
+binary into `/usr/local/bin` — asking for sudo only if that directory is not
+writable. Set `SQZASS_INSTALL_DIR` to install somewhere else. It touches
+nothing else: no shell config, no `PATH` edits.
+
+With Rust installed, one line also builds from source:
+
+```bash
+cargo install --git https://github.com/sqzer-x/sqzass
+```
+
## From source
```bash
diff --git a/docs/static/css/landing.css b/docs/static/css/landing.css
@@ -253,7 +253,7 @@ section, .foot { padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
/* ── 퀵스타트 ── */
.steps {
display: grid;
- grid-template-columns: 2fr 1fr;
+ grid-template-columns: 1fr 1fr;
gap: 1.1rem;
margin: 2rem 0 0;
}
@@ -261,6 +261,7 @@ section, .foot { padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
0으로 눌러야 pre의 overflow-x가 일을 한다. */
.step { min-width: 0; }
.step h3 { margin: 0 0 0.7rem; font-size: 1.02rem; font-weight: 700; }
+.step pre + pre { margin-top: 0.6rem; }
.step pre {
margin: 0;
background: var(--code-bg);
diff --git a/docs/static/install.sh b/docs/static/install.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+# sqzass 설치 스크립트 — 이 머신에 맞는 최신 릴리스 바이너리를 받아 설치한다.
+# curl -fsSL https://sqzass.sqzer.com/install.sh | sh
+#
+# 하는 일 전부: 플랫폼 판별 → 최신 태그 조회 → 타르볼과 .sha256 다운로드 →
+# 체크섬 검증 → /usr/local/bin에 설치(SQZASS_INSTALL_DIR로 변경 가능).
+# 그 밖의 일은 하지 않는다 — 셸 설정도, PATH도 건드리지 않는다.
+set -eu
+
+repo="sqzer-x/sqzass"
+
+case "$(uname -s)-$(uname -m)" in
+ Linux-x86_64) target="x86_64-unknown-linux-musl" ;;
+ Darwin-arm64) target="aarch64-apple-darwin" ;;
+ *)
+ echo "지원하지 않는 플랫폼입니다: $(uname -s) $(uname -m)" >&2
+ echo "소스에서 빌드하세요: https://sqzass.sqzer.com/start/installation/" >&2
+ exit 1
+ ;;
+esac
+
+# API가 아니라 releases/latest의 리다이렉트에서 태그를 읽는다 — API는
+# 미인증 요청에 레이트리밋이 있어 공유 IP(프록시·CI)에서 403이 난다.
+tag="$(curl -fsSLI -o /dev/null -w '%{url_effective}' \
+ "https://github.com/$repo/releases/latest")"
+tag="${tag##*/}"
+case "$tag" in
+ v*) ;;
+ *) echo "최신 릴리스를 찾지 못했습니다." >&2; exit 1 ;;
+esac
+
+name="sqzass-$tag-$target"
+url="https://github.com/$repo/releases/download/$tag/$name.tar.gz"
+
+tmp="$(mktemp -d)"
+trap 'rm -rf "$tmp"' EXIT
+
+echo "받는 중: $url"
+curl -fsSL -o "$tmp/$name.tar.gz" "$url"
+curl -fsSL -o "$tmp/$name.tar.gz.sha256" "$url.sha256"
+
+# 체크섬은 검증 도구가 있을 때만 건너뛰지 않는다 — 둘 다 없으면 중단이 정직하다.
+if command -v sha256sum >/dev/null 2>&1; then
+ (cd "$tmp" && sha256sum -c "$name.tar.gz.sha256" >/dev/null)
+elif command -v shasum >/dev/null 2>&1; then
+ (cd "$tmp" && shasum -a 256 -c "$name.tar.gz.sha256" >/dev/null)
+else
+ echo "sha256sum도 shasum도 없어 체크섬을 검증할 수 없습니다." >&2
+ exit 1
+fi
+
+tar -xzf "$tmp/$name.tar.gz" -C "$tmp"
+
+dir="${SQZASS_INSTALL_DIR:-/usr/local/bin}"
+if [ -d "$dir" ] && [ -w "$dir" ]; then
+ install -m 755 "$tmp/$name/sqzass" "$dir/sqzass"
+else
+ echo "$dir 에 쓰려면 관리자 권한이 필요합니다."
+ sudo install -m 755 "$tmp/$name/sqzass" "$dir/sqzass"
+fi
+
+echo "설치했습니다: $dir/sqzass ($("$dir/sqzass" --version))"
diff --git a/docs/templates/landing.html b/docs/templates/landing.html
@@ -121,14 +121,12 @@
<div class="steps">
<div class="step" data-reveal>
<h3>{{ page.extra.quick_install }}</h3>
- <pre><code>curl -LO https://github.com/sqzer-x/sqzass/releases/latest/download/sqzass-v0.1.0-x86_64-unknown-linux-musl.tar.gz
-tar xzf sqzass-*.tar.gz
-sudo install -m755 sqzass-*/sqzass /usr/local/bin/</code></pre>
+ <pre><code>curl -fsSL {{ site.origin }}{{ site.base_path }}/install.sh | sh</code></pre>
+ <pre><code>cargo install --git https://github.com/sqzer-x/sqzass</code></pre>
</div>
<div class="step" data-reveal>
<h3>{{ page.extra.quick_use }}</h3>
- <pre><code>sqzass init my-site
-sqzass serve -i my-site</code></pre>
+ <pre><code>sqzass init my-site && sqzass serve -i my-site</code></pre>
</div>
</div>
<p class="quick-note" data-reveal>{{ page.extra.quick_note }} <a href="{{ home }}start/installation/">{{ page.extra.quick_note_link }}</a></p>
@@ -147,7 +145,6 @@ sqzass serve -i my-site</code></pre>
<a href="{{ lang.url }}" hreflang="{{ lang.code }}">{{ lang.name }}</a>
{%- endfor %}
</nav>
- <p>{{ page.extra.status_line }}</p>
<p>{{ page.extra.built_line }} · MIT</p>
</div>
</footer>
|