diff --git a/docs/content/benchmark/_index.ko.md b/docs/content/benchmark/_index.ko.md
@@ -61,26 +61,26 @@ toc = true
코드 반복도가 순위를 가르는데, 대부분의 벤치마크는 자기 코퍼스의 반복도를
말하지 않기 때문입니다. sqzass는 서로 다른 블록만 빌드에서 한 번씩
-하이라이트하므로, 같은 블록을 반복하는 생성 코퍼스와 전부 다른 블록인
-코퍼스는 서로 다른 측정입니다 — 187 ms와 1,298 ms의 간격이 바로 그
+하이라이트하므로, 코퍼스 생성기가 같은 블록을 반복해 넣은 코퍼스와 블록이
+전부 다른 코퍼스는 서로 다른 측정입니다 — 187 ms와 1,298 ms의 간격이 바로 그
변수입니다. 반복도를 밝히지 않은 단일 "heavy" 수치는 결과를 만든 변수를
숨긴 것입니다.
## 방법
-- **콜드.** 매 회 출력 디렉터리와 도구별 캐시 — `.jekyll-cache`, Astro의
- `cacheDir`와 `dist`, Hugo의 `resources`와 빌드 락 — 를 지웠습니다. 벽시계
+- **콜드.** 매 회 출력 디렉터리와 도구별 캐시(`.jekyll-cache`, Astro의
+ `cacheDir`와 `dist`, Hugo의 `resources`와 빌드 락)를 지웠습니다. 벽시계
시간과 peak RSS는 GNU time으로 쟀습니다.
-- **코퍼스.** 1,000페이지 + 섹션 인덱스. 마크다운 *본문*은 도구 간 바이트
- 동일이고 front matter 문법만 다릅니다. 문단은 76자 문장 하나를 네 번
+- **코퍼스.** 1,000페이지 + 섹션 인덱스. 마크다운 *본문*은 도구 간에 바이트
+ 단위로 같고 front matter 문법만 다릅니다. 문단은 76자 문장 하나를 네 번
반복한 고정 텍스트입니다.
-- **하이라이팅은 다섯 도구 모두 빌드 타임에**, 각자 싣는 그대로 켰습니다:
+- **구문 강조는 다섯 도구 모두 빌드 시점에**, 각자 싣는 그대로 켰습니다:
syntect+Oniguruma(sqzass), Chroma(Hugo), Giallo(Zola), Rouge(Jekyll),
- Shiki(Astro). 마크업 세분도는 다릅니다 — 같은 heavy 페이지의 span 수:
+ Shiki(Astro). 마크업 세밀도는 도구마다 다릅니다. 같은 heavy 페이지의 span 수는
sqzass 3,205 · Jekyll 1,800 · Zola·Astro 1,700 · Hugo 600. sqzass는 다섯 중
- 가장 세밀한 마크업을 내면서 위의 수치를 냅니다.
-- **템플릿.** 다섯 도구 모두 테마 없는 동일한 최소 레이아웃 — 렌더된 본문을
- 감싸는 HTML 셸 — 을 씁니다.
+ 가장 세밀한 마크업을 뽑아내면서도 위의 시간을 기록합니다.
+- **템플릿.** 다섯 도구 모두 테마 없는 동일한 최소 레이아웃을 씁니다. 렌더된
+ 본문을 감싸는 HTML 셸 하나입니다.
- **Astro의 시간에는 Node 기동(~1초)이 포함**됩니다. Astro는 마크다운→HTML
- 이상의 일을 하는 컴포넌트 프레임워크이기도 합니다. 그게 정직한 단서이고,
- 이 페이지의 대상은 순수 마크다운 워크로드입니다.
+ 이상의 일을 하는 컴포넌트 프레임워크이기도 합니다. 그 점은 숨기지 않고 밝혀
+ 둡니다. 다만 코퍼스는 순수 마크다운이고, 이 페이지가 재는 것도 그 워크로드입니다.
diff --git a/docs/content/content/front-matter.ko.md b/docs/content/content/front-matter.ko.md
@@ -66,7 +66,7 @@ badge = "beta"
없는 키를 읽으면 빈 문자열이 아니라 에러입니다. 얼마나 엄격한지와 그 이유는
[템플릿 데이터](@/templates/data.md)에 적어 두었습니다.
-## 에러는 당신의 파일을 가리킵니다
+## 에러는 소스 파일을 가리킵니다
값이 잘못되면 소스 파일의 줄 번호로 보고합니다. front matter가 끝난 지점부터가
아니라 **파일 맨 위부터** 센 줄 번호입니다. 후자는 엉뚱한 줄을 가리키니까요.
diff --git a/docs/content/content/languages.ko.md b/docs/content/content/languages.ko.md
@@ -58,8 +58,9 @@ content/start/
이름만이 아니라 **경로**가 중요합니다. `a/notes.md`와 `b/notes.md`는 서로의 번역이
아니라 다른 두 페이지입니다. 그리고 **선언한 언어인 접미사만** 떼므로,
-`notes.ab.md`라는 파일은 `ab`가 `[languages]`에 없는 한 `notes.ab`를 키로 갖습니다. 파일명이 달라야 할 때 — 슬러그를 현지화하는 경우 등 — 는 양쪽
-파일에 같은 `translation_key`를 주면 됩니다.
+`notes.ab.md`라는 파일은 `ab`가 `[languages]`에 없는 한 `notes.ab`를 키로 갖습니다.
+파일명이 달라야 할 때는 — 슬러그를 현지화하는 경우 등 — 양쪽 파일에 같은
+`translation_key`를 주면 됩니다.
```toml
# content/start/installation.md
@@ -79,8 +80,8 @@ translation_key = "install"
## UI 문자열
-페이지의 글은 `content/`에 있습니다. **템플릿이** 넣는 말 — "본문으로 건너뛰기",
-"이 페이지", "이전" — 은 `i18n/<코드>.toml`에 둡니다.
+페이지의 글은 `content/`에 있습니다. **템플릿이** 넣는 말은 `i18n/<코드>.toml`에
+둡니다 — "본문으로 건너뛰기", "이 페이지", "이전" 같은 것들입니다.
```toml
# i18n/en.toml
diff --git a/docs/content/content/links.ko.md b/docs/content/content/links.ko.md
@@ -41,7 +41,7 @@ docs/content/start/first-site.md: 어디도 가리키지 않는 링크가 있습
## 트리에서 일어납니다
-재작성은 comrak의 URL 재작성기를 통해 HTML이 만들어지기 **전에**, AST 단계에서
+재작성은 comrak의 URL 재작성기로, HTML이 만들어지기 **전에** AST 단계에서
일어납니다. 흔한 지름길인 "완성된 HTML에 정규식 돌리기"는 속성을 홑따옴표로 쓰거나
따옴표를 빼면 조용히 처리에서 빠집니다. 빌드가 아니라 프로덕션에서 발견되는 종류의
버그입니다.
@@ -54,7 +54,7 @@ docs/content/start/first-site.md: 어디도 가리키지 않는 링크가 있습
## 생성된 파일도 링크 대상입니다
`/sitemap.xml`, `/robots.txt`, `/llms.txt`, `/404.html`, `/feed-<언어>.xml`,
-`/search-<언어>.json` 은 검사기 입장에서 페이지와 같습니다. 빌드가 만들어 내므로
+`/search-<언어>.json`은 검사기 입장에서 페이지와 같습니다. 빌드가 만들어 내므로
그것을 가리키는 링크는 해석됩니다.
예외는 콘텐츠 해시가 붙는 것들입니다. 빌드 뒤에 `/css/main.css`는 존재하지
diff --git a/docs/content/content/markdown.ko.md b/docs/content/content/markdown.ko.md
@@ -5,7 +5,7 @@ weight = 40
toc = true
+++
-[comrak]을 통한 CommonMark이고, 확장 몇 가지가 기본으로 켜져 있습니다. 각각이
+[comrak]으로 렌더하는 CommonMark이고, 확장 몇 가지가 기본으로 켜져 있습니다. 각각이
`sqzass.toml`의 `[markdown]` 아래 키입니다.
```toml
@@ -70,7 +70,7 @@ heading_anchors = "right" # none | left | right
## 제목
-모든 제목에 `id`가 붙습니다. anchor를 보여주든 말든 붙는데, 목차와 당신이 남에게
+모든 제목에 `id`가 붙습니다. anchor를 보여주든 말든 붙는데, 목차와 남에게
건네는 딥링크가 둘 다 여기에 기대기 때문입니다. 같은 제목이 반복되면 `-1`, `-2`가
붙고, anchor와 목차 항목은 반드시 일치합니다. 한 번의 순회에서 같은 카운터로
만들어지니까요.
@@ -80,7 +80,7 @@ heading_anchors = "right" # none | left | right
## 원시 HTML
-그대로 통과시킵니다. 여기 콘텐츠는 신뢰된 것입니다 — 당신의 저장소에, 당신이 쓰고,
+그대로 통과시킵니다. 여기 콘텐츠는 믿을 수 있습니다 — 저장소 안에 있고, 직접 썼고,
코드와 같은 커밋에서 리뷰됩니다. 이걸 새니타이즈하는 건 시늉일 뿐입니다.
## 키가 아닌 설정 둘
@@ -88,9 +88,9 @@ heading_anchors = "right" # none | left | right
둘 다 고정이고, 둘 다 의도한 것입니다. 옵션을 찾다가 없어서 이슈를 쓰기 전에 여기서
끝나라고 있는 절입니다.
-**원시 HTML은 항상 통과합니다.** 콘텐츠는 신뢰된 것입니다. 당신의 저장소에, 당신이
-쓰고, 코드와 같은 커밋에서 리뷰됩니다. 이걸 새니타이즈하는 건 시늉입니다. sqzass가
-언젠가 신뢰되지 않은 마크다운을 받게 되면, 그건 전역 스위치가 아니라 소스별 신뢰
+**원시 HTML은 항상 통과합니다.** 콘텐츠는 믿을 수 있습니다. 저장소 안에 있고, 직접 썼고,
+코드와 같은 커밋에서 리뷰됩니다. 이걸 새니타이즈하는 건 시늉입니다. sqzass가
+언젠가 믿을 수 없는 마크다운을 받게 되면, 그건 전역 스위치가 아니라 소스별 신뢰
등급이 될 것입니다.
**코드 펜스는 `<pre lang="rust">`가 아니라 `<code class="language-rust">`를
diff --git a/docs/content/deploy/_index.ko.md b/docs/content/deploy/_index.ko.md
@@ -46,7 +46,7 @@ rewrite도 없으므로, 그런 것에 기대는 게 생기면 여기서 가장
만드는 데 드는 게 없습니다.
`sitemap.xml`이나 `robots.txt`, `llms.txt`를 직접 `static/`에 넣으면 sqzass는 그 파일을 아예
-만들지 않습니다. 당신 것을 덮어쓰지도, 조용히 무시하지도 않습니다.
+만들지 않습니다. 직접 넣은 것을 덮어쓰지도, 조용히 무시하지도 않습니다.
## 각 안내서
@@ -79,7 +79,7 @@ href도, 검색 색인도. 출력 디렉터리는 평평하게 남는데, 그
경로를 빠뜨리는 건 여기서 유일하게 **조용한** 실수입니다. 빌드는 성공하고 페이지도
다 있는데, 모든 링크와 스타일시트가 한 단계 위를 가리킵니다.
-## static/ 은 통과 경로입니다
+## static/은 통과 경로입니다
`static/` 안의 것은 경로와 이름이 그대로 유지된 채 출력에 놓입니다. sqzass가 어떤
호스트도 알지 못한 채로 호스트별 파일이 동작하는 방식입니다.
diff --git a/docs/content/deploy/github-pages.ko.md b/docs/content/deploy/github-pages.ko.md
@@ -93,7 +93,7 @@ curl -sI https://example.com/ | head -1 # HTTPS로 200
curl -sI https://example.com/nonexistent/ # 200이 아니라 404
```
-두 번째가 중요합니다. 없는 페이지에 200을 돌려주는 호스트에서는 검색 엔진이 당신의
+두 번째가 중요합니다. 없는 페이지에 200을 돌려주는 호스트에서는 검색 엔진이 그
404 페이지를 색인하게 됩니다.
## 감수하는 것
diff --git a/docs/content/deploy/netlify.ko.md b/docs/content/deploy/netlify.ko.md
@@ -25,11 +25,11 @@ Netlify 빌드 이미지에는 Rust 툴체인이 기본으로 없고, 넣으면
도는 것과 같은 성질입니다.
소스에서 빌드하고 싶으면 `cargo install --git
-https://github.com/sqzer-x/sqzass` 도 됩니다. 다만 느립니다.
+https://github.com/sqzer-x/sqzass`도 됩니다. 다만 느립니다.
## 배포 프리뷰에는 자기 base_url이 필요합니다
-프리뷰는 당신의 도메인이 아니라 `deploy-preview-42--yoursite.netlify.app`에서
+프리뷰는 본 도메인이 아니라 `deploy-preview-42--yoursite.netlify.app`에서
돕니다. Netlify가 그 주소를 `$DEPLOY_PRIME_URL`에 넣어 주고, `--base-url`이
바로 이 경우를 위해 설정을 덮어씁니다. 그래야 canonical과 sitemap, OpenGraph 태그가
프로덕션이 아니라 프리뷰를 가리킵니다.
diff --git a/docs/content/features/dev-server.ko.md b/docs/content/features/dev-server.ko.md
@@ -29,7 +29,7 @@ sqzass serve -i docs
최적화가 아닙니다. 리빌드 중에 브라우저가 파일을 요청하면 그 시점까지 쓰인 바이트가
그대로 나가고, 그렇게 나온 반쪽짜리 페이지는 "내 코드 문제가 아니었구나"를 깨닫기까지
한 시간을 쓰게 되는 종류의 버그입니다. 완성된 빌드를 서빙하거나 아예 서빙하지 않으면
-그 창이 통째로 사라집니다.
+그 틈이 통째로 사라집니다.
## 새로고침
diff --git a/docs/content/features/feeds.ko.md b/docs/content/features/feeds.ko.md
@@ -43,7 +43,7 @@ public/
## RSS 2.0이 아니라 Atom
-RSS의 날짜는 RFC 2822입니다. `Tue, 26 Jul 2026 00:00:00 +0000` 이 형식은 우리가
+RSS의 날짜는 RFC 2822입니다: `Tue, 26 Jul 2026 00:00:00 +0000`. 이 형식은 우리가
직접 계산해야 하는 **요일**과 직접 박아 넣어야 하는 **영어 월 이름**을 요구합니다.
한국어 피드에도 그대로 들어가는데, 거기서 `Jul`은 그냥 틀린 표기입니다.
@@ -54,7 +54,7 @@ Atom은 RFC 3339를 쓰고, 그건 TOML 날짜가 이미 갖고 있는 모양입
날짜가 있는 최근 20개, 최신순. 각 항목에 제목·퍼머링크·`updated` 시각, 그리고
`description`이 요약으로 들어갑니다. 20은 우연이 아니라 상한입니다 — 끝없이 자라는
-피드는 언젠가 다운로드가 됩니다.
+피드는 언젠가 읽는 것이 아니라 내려받는 것이 됩니다.
같은 시각에 놓인 페이지는 제목순입니다. 그래야 빌드할 때마다 같은 순서로 나옵니다.
날짜만 적으면 자정 UTC가 되므로, 실제로는 같은 날 쓴 글끼리가 모두 여기 해당합니다.
@@ -64,10 +64,10 @@ Atom은 RFC 3339를 쓰고, 그건 TOML 날짜가 이미 갖고 있는 모양입
오프셋은 **쓴 그대로 실립니다.** `2026-07-26T09:00:00+09:00`은 그대로 나갑니다.
RFC 3339가 어떤 오프셋도 받고, 이걸 `Z`로 고쳐 적으면 서울의 아침을 서울의 저녁이라고
-발표하는 셈이기 때문입니다. 정렬은 표기가 아니라 **순간**을 비교하므로, 같은 날의
+발행하는 셈이기 때문입니다. 정렬은 표기가 아니라 **순간**을 비교하므로, 같은 날의
`+09:00` 아침이 `Z` 오후보다 앞섭니다.
-TOML이 시각으로만 읽는 `date`(`10:30:00`)는 조용히 버리지 않고 에러입니다. 당신은
+TOML이 시각으로만 읽는 `date`(`10:30:00`)는 조용히 버리지 않고 에러입니다.
날짜를 적었는데 빌드가 말없이 다르게 생각해서는 안 됩니다.
## 날짜순 정렬
diff --git a/docs/content/features/highlighting.ko.md b/docs/content/features/highlighting.ko.md
@@ -38,7 +38,7 @@ theme_dark = "base16-ocean.dark"
## 두 테마, 하나의 스타일시트
-`theme_light`과 `theme_dark`이 둘 다 생성된 스타일시트에 들어갑니다. 다크 규칙은
+`theme_light`와 `theme_dark`가 둘 다 생성된 스타일시트에 들어갑니다. 다크 규칙은
두 번 나갑니다. 토글을 쓰지 않는 독자를 위해 `prefers-color-scheme: dark` 아래
한 번, 이 사이트처럼 전환 버튼을 제공하는 경우를 위해 `[data-theme="dark"]` 아래
한 번입니다.
@@ -49,7 +49,7 @@ syntect 기본 세트의 테마 이름이면 무엇이든 됩니다. 없는 이
## 접두사
클래스에는 `hl-` 접두사가 붙습니다. 접두사가 없으면 syntect는 `source`, `keyword`,
-`string` 같은 이름을 내보내는데, 프로그래밍을 다루는 사이트에서 당신의 스타일시트와
+`string` 같은 이름을 내보내는데, 프로그래밍을 다루는 사이트에서 사이트 스타일시트와
부딪히기 딱 좋은 일반적인 단어들입니다.
## 줄 표시와 파일명
@@ -81,7 +81,7 @@ fn main() {
여러 줄 주석의 가운데 줄만 표시해도 그 줄은 여전히 주석입니다.
`name`은 블록에 파일명을 답니다. 마크업이 아니라 속성으로 나가므로 —
-`<code … data-name="src/main.rs">` — 보여줄지는 당신의 CSS가 정합니다.
+`<code … data-name="src/main.rs">` — 보여줄지는 CSS가 정합니다.
```css
.prose pre code { display: block; width: max-content; min-width: 100%; }
@@ -96,8 +96,8 @@ fn main() {
덕입니다.
Zola식 `rust,hl_lines=2-4`가 아닌 이유: 쉼표는 옵션을 언어 토큰에 붙여 버려서
-문법 조회가 실패하고 `class="language-…"`가 오염됩니다. 첫 공백 뒤는 자유롭고,
-comrak 자신이 정확히 거기서 정보 문자열을 가릅니다.
+문법 조회가 실패하고 `class="language-…"`가 오염됩니다. 첫 공백 뒤에는 무엇이 와도 되고,
+comrak도 바로 거기서 정보 문자열을 가릅니다.
오타는 조용한 무시가 아니라 빌드 에러입니다. `hl_line=3`도, `linenos=true`도,
세 줄짜리 블록의 `hl_lines=9`도, 두 번 적은 키도 전부 파일명과 함께 빌드를
@@ -107,7 +107,7 @@ comrak 자신이 정확히 거기서 정보 문자열을 가릅니다.
온 옵션입니다. 옵션은 하이라이터의 일부이므로 `enabled = false`면 적용도 검사도
되지 않습니다.
-## 줄 번호와 복사 버튼은 당신 몫입니다
+## 줄 번호와 복사 버튼은 직접 만듭니다
둘 다 설정 키가 아니고, `line_numbers`는 아무 일도 안 하는 채로 남기느니 **삭제**했습니다.
아무것도 하지 않는 설정은 없는 것보다 나쁩니다. 누군가 그걸 켜 놓고 기다리게 되니까요.
@@ -144,7 +144,7 @@ document.querySelectorAll(".prose pre").forEach(function (pre) {
});
```
-둘 다 당신의 `static/`에 있고, 둘 다 당신이 다시 꾸밀 수 있으며, 둘 다 영원히 같은
+둘 다 `static/`에 있고, 얼마든지 다시 꾸밀 수 있으며, 영원히 같은
뜻을 유지해야 하는 설정 파일에 키를 하나도 더하지 않습니다.
## 끄기
diff --git a/docs/content/features/search.ko.md b/docs/content/features/search.ko.md
@@ -36,7 +36,7 @@ public/
브라우저가 이걸 보정해 줄 수도 없습니다. `Intl.Segmenter("ko")`는 한국어 어절을
통째로 돌려줍니다. ICU는 중국어·일본어·태국어용 사전 분절기를 싣고 한국어용은 싣지
-않기 때문입니다. 그러니 형태소로 만든 색인은 그 색인을 향해 입력된 질의와 맞을
+않기 때문입니다. 그러니 형태소로 쪼갠 색인은 통째로 들어오는 질의와 맞을
길이 없습니다.
본문을 부분 문자열로 훑으면 이런 문제가 어떤 언어에서도 생기지 않습니다. 대가는
@@ -82,7 +82,7 @@ enabled = false
## 행 스키마
-클라이언트는 당신이 만드는 것이니, 무엇을 읽게 되는지 적어 둡니다. 페이지 하나가
+클라이언트는 직접 만드는 것이니, 무엇을 읽게 되는지 적어 둡니다. 페이지 하나가
한 행입니다.
| 키 | | |
@@ -103,4 +103,4 @@ Esc, 백드롭, 포커스 트랩, 닫을 때 트리거로 포커스를 되돌리
플랫폼의 동작입니다. `Ctrl`/`⌘` + `/`로 엽니다.
이건 도구의 기능이 아니라 예제 코드입니다. sqzass는 색인을 쓰고, 그 위에 무엇을
-만들지는 당신의 몫입니다.
+만들지는 직접 정합니다.
diff --git a/docs/content/start/_index.ko.md b/docs/content/start/_index.ko.md
@@ -17,8 +17,8 @@ sort_by = "weight"
## 왜 sqzass인가
**마크다운을 트리에서 변환합니다.** 링크 재작성, heading anchor, 목차가 모두
-[comrak]의 AST 연산입니다. 흔한 지름길인 "완성된 HTML에 정규식 돌리기"는 속성을
-홑따옴표로 쓰거나 따옴표를 빼면 조용히 처리에서 빠지고, 그 사실을 프로덕션에서
+[comrak]의 AST 연산입니다. 흔한 지름길인 "완성된 HTML에 정규식 돌리기"는 속성이
+홑따옴표이거나 따옴표가 없는 요소를 조용히 건너뛰고, 그 사실은 프로덕션에서
알게 됩니다.
**템플릿이 반쯤 쓰인 파일을 읽을 수 없습니다.** `templates/`를 빌드마다 한 번
diff --git a/docs/content/start/cli.ko.md b/docs/content/start/cli.ko.md
@@ -56,7 +56,7 @@ sqzass doctor -i mysite
```
`build`는 해석하지 못하는 것을 이미 거부합니다 — 깨진 `@/` 링크, 없는 템플릿, 같은
-URL을 주장하는 두 페이지, 오타 난 설정 키. `doctor`는 **빌드가 받아들이지만 당신이
+URL을 주장하는 두 페이지, 오타 난 설정 키. `doctor`는 **빌드가 받아들이지만
의도하지 않았을 수도 있는 것**을 봅니다.
| 검사 | | |
diff --git a/docs/content/start/first-site.ko.md b/docs/content/start/first-site.ko.md
@@ -73,7 +73,7 @@ title = "mysite"
</html>
```
-`site.highlight_css` 줄은 빌드가 당신의 구문 테마에서 만들어 주는 스타일시트입니다.
+`site.highlight_css` 줄은 빌드가 구문 테마에서 만들어 주는 스타일시트입니다.
빼면 코드 블록에 색이 없이 나옵니다.
## 빌드하기
diff --git a/docs/content/start/installation.ko.md b/docs/content/start/installation.ko.md
@@ -45,8 +45,8 @@ cargo build --release
| C 컴파일러 | rustc가 링커 구동에 씁니다. 기본 빌드는 구문 강조의 정규식 엔진인 Oniguruma도 이걸로 컴파일합니다. |
| 그 외 | — |
-정적 릴리스가 싣는 구성 그대로 — 순수 Rust 정규식 엔진, C 소스 컴파일
-없음 — 는 플래그 하나 거리입니다:
+정적 릴리스가 싣는 구성 그대로, 즉 순수 Rust 정규식 엔진에 C 소스 컴파일이
+없는 상태도 플래그 하나면 됩니다.
```bash
cargo build --release --no-default-features --features pure-rust
@@ -67,7 +67,7 @@ sudo install -m755 sqzass-*/sqzass /usr/local/bin/
리눅스 빌드는 정적이라 glibc를 요구하지 않고, 빌드한 배포판보다 오래된 배포판에서도
돕니다. 순수 Rust 정규식 엔진을 쓰는 유일한 빌드이기도 합니다 — 다른 모든 곳에서
sqzass는 코드가 많은 사이트에서 눈에 띄게 빠른 Oniguruma로 강조하는데, Oniguruma는
-C 바인딩이고 C 바인딩은 정확히 musl 정적 빌드를 깨뜨립니다. 두 엔진의 문법 집합도
+C 바인딩이고, musl 정적 빌드를 깨뜨리는 게 바로 C 바인딩입니다. 두 엔진의 문법 집합도
같지 않습니다. 순수 Rust 엔진이 일부 문법의 정규식을 못 돌리기 때문에 정적
아티팩트에는 문법 일곱 개가 통째로 빠집니다 — PowerShell, JavaScript (Babel),
Salt State, ARM Assembly 등이요. 네이티브 빌드가 온전히 칠하는 ` ```powershell `
diff --git a/docs/content/templates/assets.ko.md b/docs/content/templates/assets.ko.md
@@ -15,7 +15,7 @@ static/
└── CNAME → /CNAME
```
-CSS와 JavaScript는 파일명에 콘텐츠 해시가 붙습니다. 조회는 당신이 쓴 이름으로
+CSS와 JavaScript는 파일명에 콘텐츠 해시가 붙습니다. 조회는 원래 쓴 이름으로
합니다.
```html
@@ -26,15 +26,15 @@ CSS와 JavaScript는 파일명에 콘텐츠 해시가 붙습니다. 조회는
## 쿼리 문자열이 아니라 파일명에
`main.css?v=123`에는 문제가 둘 있습니다. 일부 CDN과 프록시는 캐시 키에서 쿼리를
-빼 버려서 무효화가 일어나지 않습니다. 그리고 흔히 쓰이는 형태 — 빌드마다 스탬프
-하나를 전 파일에 붙이는 방식 — 은 CSS 한 줄만 고쳐도 사이트 전체를 무효화합니다.
+빼 버려서 무효화가 일어나지 않습니다. 그리고 흔히 쓰이는 형태, 즉 빌드마다 스탬프
+하나를 전 파일에 붙이는 방식은 CSS 한 줄만 고쳐도 사이트 전체를 무효화합니다.
파일별 콘텐츠 해시는 바뀐 파일만 정확히 무효화하고, 캐시 설정이 아예 없는 호스트를
포함해 어디서나 똑같이 동작합니다.
## CSS와 JS만 해시하는 이유
-이미지는 보통 문자열 경로로 참조됩니다. 마크다운에서, CSS에서, 때로는 당신이 쓰지
+이미지는 보통 경로를 그대로 적어 참조합니다. 마크다운에서, CSS에서, 때로는 직접 쓰지
않은 템플릿에서요. 이름을 바꾸면 그 참조들이 깨지는데 고칠 방법이 없습니다.
그리고 어떤 파일명은 그 자체가 계약입니다. `CNAME`은 GitHub Pages에 도메인을
@@ -44,7 +44,7 @@ CSS와 JavaScript는 파일명에 콘텐츠 해시가 붙습니다. 조회는
## 생성된 에셋도 같은 길을 지납니다
하이라이트 스타일시트는 복사되는 게 아니라 테마에서 만들어지지만, 해시와 서빙은
-동일합니다. 템플릿에서는 `site.highlight_css`로 닿습니다.
+동일합니다. 템플릿에서는 `site.highlight_css`로 가져옵니다.
## 끄기
diff --git a/docs/content/templates/functions.ko.md b/docs/content/templates/functions.ko.md
@@ -61,7 +61,7 @@ Jinja2 습관으로 손이 가는 필터 셋은 **없습니다.** `tojson`, `url
## 그 밖엔 없습니다
`url_for`도, `markdownify`도, `date`도, `now()`도, `env()`도, 커스텀 테스트도
-없습니다. 그중 일부는 빈자리가 아니라 근거가 있는 부재입니다.
+없습니다. 그중 일부는 미처 못 만든 구멍이 아니라, 이유가 있어 두지 않은 것입니다.
`now()`와 `env()`는 "같은 입력이면 같은 바이트"라는 보장을 깹니다. CI가 push마다
확인하는 그 보장입니다. 시계를 읽을 수 있는 템플릿은 재현 가능할 수 없습니다.
diff --git a/docs/content/templates/social.ko.md b/docs/content/templates/social.ko.md
@@ -1,13 +1,13 @@
+++
title = "소셜 카드와 구조화 데이터"
-description = "이미 있는 값으로 만드는, 당신 소유의 마크업"
+description = "이미 있는 값으로 직접 넣는 마크업"
weight = 50
toc = true
+++
sqzass는 `<head>`에 아무것도 주입하지 않습니다. 주입 지점이 없고 앞으로도 만들지
않을 것입니다. 조용히 태그를 더하는 생성기는 출력물을 끝까지 읽을 수 없게 만드는
-생성기니까요. 아래는 전부 당신이 `base.html`에 직접 넣는 마크업이고, 재료는 이미
+생성기니까요. 아래는 전부 `base.html`에 직접 넣는 마크업이고, 재료는 이미
템플릿 컨텍스트에 있는 값들입니다.
## OpenGraph와 Twitter
@@ -71,7 +71,7 @@ image = "/images/install.png"
```
`{%- if page.section %}`를 눈여겨보세요. 최상위 페이지에는 섹션이 없고, 단이 하나
-비어 있는 브레드크럼은 없느니만 못합니다.
+단이 하나 빠진 브레드크럼은 없느니만 못합니다.
> [!WARNING]
> 이 블록은 `<script>` 안이라 HTML 이스케이프가 맞지 않습니다. 제목에 `"`가 들어가면
|