docs/content/start/_index.ko.md (2434B)
1 +++
2 title = "시작하기"
3 description = "설치부터 첫 사이트를 빌드하기까지"
4 weight = 10
5 sort_by = "weight"
6 +++
7
8 사이트를 화면에 띄우는 데 필요한 것들입니다.
9
10 > [!NOTE]
11 > **실행 중 나오는 메시지는 전부 한국어입니다** — `--help`, 에러, doctor 지적,
12 > 개발 서버 로그. 로케일 전환은 없고, 문서도 번역하는 대신 실제 문자열을 그대로
13 > 인용합니다. 영문 문서에 한국어 에러가 그대로 실려 있는 것도 그래서입니다.
14 > 에러 식별자(`SQZASS_E_CONTENT`)와 doctor 검사 이름(`untranslated`)은 ASCII이고
15 > 안정적입니다 — 스크립트가 잡아야 할 것도 그쪽입니다.
16
17 ## 설계가 다른 지점
18
19 **마크다운을 트리에서 변환합니다.** 링크 재작성, 제목 앵커, 목차가 모두
20 [comrak]의 AST 연산입니다. 흔한 지름길인 "완성된 HTML에 정규식 돌리기"는 속성이
21 홑따옴표이거나 따옴표가 없는 요소를 조용히 건너뛰고, 그 사실은 프로덕션에서
22 알게 됩니다.
23
24 **템플릿이 반쯤 쓰인 파일을 읽을 수 없습니다.** `templates/`를 빌드마다 한 번
25 스냅샷으로 뜨고 [minijinja]의 로더가 `include`와 `extends`를 그 스냅샷에서
26 해석합니다. 저장하는 도중에 리빌드가 걸려도 항상 일관된 상태를 봅니다.
27
28 **깨진 참조는 빌드를 멈춥니다.** 해석되지 않는 `@/` 링크, 없는 템플릿, 같은 URL을
29 주장하는 두 페이지, 없는 에셋 이름 — 전부 경고가 아니라 에러입니다.
30
31 **같은 입력은 같은 바이트를 냅니다.** 두 번 빌드하면 바이트까지 동일하고, CI가
32 push마다 확인합니다.
33
34 **한국어를 나중에 얹지 않았습니다.** 번역은 자동으로 연결되고, 각 언어의
35 내비게이션에는 그 언어에 실제로 있는 페이지만 담깁니다. 미번역 페이지가 죽은 링크를
36 남길 수 없습니다. [검색](@/features/search.md)은 형태소 분석 대신 부분 문자열로
37 찾기 때문에 `검색엔진최적화` 안의 `최적화`도 걸립니다.
38
39 ## 상태
40
41 초기 단계이고, 그 점을 숨기지 않습니다. 구문 강조, 내비게이션, 목차, 에셋
42 파이프라인, 개발 서버, 검색, Atom 피드는 동작합니다. 테마 시스템은 아직 없습니다.
43
44 [comrak]: https://github.com/kivikakk/comrak
45 [minijinja]: https://github.com/mitsuhiko/minijinja