sqzass.git

sqzass

~ A static site generator written in Rust
git clone https://github.com/debuman/sqzass.git
commit ae201dbe3c856c305a32850cf6584eb90ec7d9fa
parent cf22d8f72b9e3848a3eb24a220bd52813ee018b5
Author: sqzer <110329244+sqzer-x@users.noreply.github.com>
Date: Fri, 31 Jul 2026 22:18:49 +0900

"전부"라고 약속한 레퍼런스의 구멍을 메운다

front matter 문서가 "페이지가 가질 수 있는 모든 필드"라고 하면서 `aliases`를
빼먹었다. content.rs에 실재하는 필드이고, deploy 문서 둘이 이미 독자를 이쪽으로
보내고 있다 — cloudflare가 "front matter의 aliases를 먼저 보세요"라고 하고
deploy/_index는 출력물 표에 alias 스텁을 싣는다. 안내받고 온 독자가 도착지에서
아무것도 못 찾는 상태였다. 행을 넣고 안내 쪽에 링크도 걸었다.

`translation_key`의 기본값은 "아래 참고"였는데 그 아래에 설명이 없다. 실제
기본값(언어 접미사를 뗀 경로)을 적고 언어 문서로 넘긴다.

data 문서는 "템플릿이 읽을 수 있는 모든 것"이라면서 `site.feed`와 `page.date`가
없었다. 둘 다 render.rs에 있고, features/feeds가 이미 문서화하고 있고, 무엇보다
이 사이트 base.html이 `site.feed`를 쓴다 — 자기 템플릿이 쓰는 값이 자기 문서에
없었다. functions의 "그 밖엔 없습니다"가 이 표의 완결성을 한 번 더 보증하는
자리라 구멍이 두 배로 눈에 띈다.

features 섹션 소개는 자식 넷 중 셋만 셌다. `weight = 25`가 피드를 20과 30
사이에 끼워 넣은 흔적이고 그때 소개를 안 고쳤다. 이 문자열은 사이드바·검색
결과·llms.txt로 그대로 나간다. 피드를 넣고 weight도 10/20/30/40으로 폈다.

Diffstat:
Mdocs/content/content/front-matter.ko.md | 3++-
Mdocs/content/content/front-matter.md | 3++-
Mdocs/content/deploy/cloudflare-pages.ko.md | 3++-
Mdocs/content/deploy/cloudflare-pages.md | 3++-
Mdocs/content/features/_index.ko.md | 2+-
Mdocs/content/features/_index.md | 2+-
Mdocs/content/features/dev-server.ko.md | 2+-
Mdocs/content/features/dev-server.md | 2+-
Mdocs/content/features/feeds.ko.md | 2+-
Mdocs/content/features/feeds.md | 2+-
10 files changed, 14 insertion(+), 10 deletion(-)

diff --git a/docs/content/content/front-matter.ko.md b/docs/content/content/front-matter.ko.md
@@ -29,7 +29,8 @@ title = "설치"
 | `slug` | 문자열 | 파일명 stem | URL의 마지막 세그먼트. |
 | `template` | 문자열 | — | 평소 쓰던 것 대신 이 템플릿으로 렌더합니다. |
 | `toc` | bool | `false` | 목차를 보여줄지 여부. |
-| `translation_key` | 문자열 | 아래 참고 | 이 페이지와 번역본을 연결합니다. |
+| `translation_key` | 문자열 | 언어 접미사를 뗀 경로 | 이 페이지와 번역본을 연결합니다. [언어](@/content/languages.md)를 참고하세요. |
+| `aliases` | 문자열 배열 | `[]` | 이 페이지로 와야 하는 옛 URL들. 각 항목은 루트 절대 경로여야 하고, 항목마다 리다이렉트 스텁이 하나씩 나옵니다. |
 | `extra` | 테이블 | `{}` | 무엇이든. 템플릿에 `page.extra`로 갑니다. |
 
 `toc`는 데이터가 아니라 **저자의 의사**입니다. 목차 자체는 모든 페이지에서 수집해
diff --git a/docs/content/content/front-matter.md b/docs/content/content/front-matter.md
@@ -30,7 +30,8 @@ title = "Installation"
 | `slug` | string | filename stem | The last URL segment. |
 | `template` | string | — | Render with this template instead of the usual one. |
 | `toc` | bool | `false` | Whether a table of contents should be shown. |
-| `translation_key` | string | see below | Links this page to its translations. |
+| `translation_key` | string | the path minus the language suffix | Links this page to its translations. See [Languages](@/content/languages.md). |
+| `aliases` | array of strings | `[]` | Old URLs that should land here. Each one must be a root-absolute path, and each gets a redirect stub in the output. |
 | `extra` | table | `{}` | Anything you want. Reaches templates as `page.extra`. |
 
 `toc` is the author's intent, not the data: the table of contents is collected
diff --git a/docs/content/deploy/cloudflare-pages.ko.md b/docs/content/deploy/cloudflare-pages.ko.md
@@ -42,7 +42,8 @@ Cloudflare Pages는 `_headers` 파일을 읽으므로, 콘텐츠 해시가 붙
 
 ## 리다이렉트
 
-`_redirects`도 같은 방식으로 동작하지만, front matter의 `aliases`를 먼저 보세요.
+`_redirects`도 같은 방식으로 동작하지만, front matter의
+[`aliases`](@/content/front-matter.md)를 먼저 보세요.
 옮겨진 페이지 바로 옆에 있고, 빌드가 검사하며, 다음에 어떤 호스트로 가든 따라옵니다.
 
 ## 프리뷰 배포
diff --git a/docs/content/deploy/cloudflare-pages.md b/docs/content/deploy/cloudflare-pages.md
@@ -43,7 +43,8 @@ Put the file in `static/` and it is copied through untouched.
 
 ## Redirects
 
-`_redirects` works the same way, but reach for `aliases` in front matter first:
+`_redirects` works the same way, but reach for [`aliases`](@/content/front-matter.md)
+in front matter first:
 it lives next to the page that moved, it is checked at build time, and it
 follows the page to whatever host you use next.
 
diff --git a/docs/content/features/_index.ko.md b/docs/content/features/_index.ko.md
@@ -1,6 +1,6 @@
 +++
 title = "기능"
-description = "구문 강조, 검색, 개발 서버"
+description = "구문 강조, 검색, 피드, 개발 서버"
 weight = 40
 sort_by = "weight"
 +++
diff --git a/docs/content/features/_index.md b/docs/content/features/_index.md
@@ -1,6 +1,6 @@
 +++
 title = "Features"
-description = "Highlighting, search, and the development server"
+description = "Highlighting, search, feeds, and the development server"
 weight = 40
 sort_by = "weight"
 +++
diff --git a/docs/content/features/dev-server.ko.md b/docs/content/features/dev-server.ko.md
@@ -1,7 +1,7 @@
 +++
 title = "개발 서버"
 description = "메모리에서 서빙하고, 바뀌면 다시 빌드하고, 보던 자리를 잃지 않고 새로고침합니다"
-weight = 30
+weight = 40
 toc = true
 +++
 
diff --git a/docs/content/features/dev-server.md b/docs/content/features/dev-server.md
@@ -1,7 +1,7 @@
 +++
 title = "Development server"
 description = "Serves from memory, rebuilds on change, and reloads without losing your place"
-weight = 30
+weight = 40
 toc = true
 +++
 
diff --git a/docs/content/features/feeds.ko.md b/docs/content/features/feeds.ko.md
@@ -1,7 +1,7 @@
 +++
 title = "피드"
 description = "front matter에 적은 날짜로 만들어지는 언어별 Atom 피드"
-weight = 25
+weight = 30
 toc = true
 +++
 
diff --git a/docs/content/features/feeds.md b/docs/content/features/feeds.md
@@ -1,7 +1,7 @@
 +++
 title = "Feeds"
 description = "One Atom feed per language, from the dates you put in front matter"
-weight = 25
+weight = 30
 toc = true
 +++