시작하기
설치부터 첫 사이트를 빌드하기까지
사이트를 화면에 띄우는 데 필요한 것들입니다.
Note
실행 중 나오는 메시지는 전부 한국어입니다 — --help, 에러, doctor 지적,
개발 서버 로그. 로케일 전환은 없고, 문서도 번역하는 대신 실제 문자열을 그대로
인용합니다. 영문 문서에 한국어 에러가 그대로 실려 있는 것도 그래서입니다.
에러 식별자(SQZASS_E_CONTENT)와 doctor 검사 이름(untranslated)은 ASCII이고
안정적입니다 — 스크립트가 잡아야 할 것도 그쪽입니다.
설계가 다른 지점
마크다운을 트리에서 변환합니다. 링크 재작성, 제목 앵커, 목차가 모두 comrak의 AST 연산입니다. 흔한 지름길인 "완성된 HTML에 정규식 돌리기"는 속성이 홑따옴표이거나 따옴표가 없는 요소를 조용히 건너뛰고, 그 사실은 프로덕션에서 알게 됩니다.
템플릿이 반쯤 쓰인 파일을 읽을 수 없습니다. templates/를 빌드마다 한 번
스냅샷으로 뜨고 minijinja의 로더가 include와 extends를 그 스냅샷에서
해석합니다. 저장하는 도중에 리빌드가 걸려도 항상 일관된 상태를 봅니다.
깨진 참조는 빌드를 멈춥니다. 해석되지 않는 @/ 링크, 없는 템플릿, 같은 URL을
주장하는 두 페이지, 없는 에셋 이름 — 전부 경고가 아니라 에러입니다.
같은 입력은 같은 바이트를 냅니다. 두 번 빌드하면 바이트까지 동일하고, CI가 push마다 확인합니다.
한국어를 나중에 얹지 않았습니다. 번역은 자동으로 연결되고, 각 언어의
내비게이션에는 그 언어에 실제로 있는 페이지만 담깁니다. 미번역 페이지가 죽은 링크를
남길 수 없습니다. 검색은 형태소 분석 대신 부분 문자열로
찾기 때문에 검색엔진최적화 안의 최적화도 걸립니다.
상태
초기 단계이고, 그 점을 숨기지 않습니다. 구문 강조, 내비게이션, 목차, 에셋 파이프라인, 개발 서버, 검색, Atom 피드는 동작합니다. 테마 시스템은 아직 없습니다.