소개
Zola는 Vincent Prouillet이 개발한 Rust 기반 정적 사이트 생성기로, 의존성 없이 단일 실행 파일만으로 Sass 컴파일, 구문 강조, 목차 자동 생성 등 다양한 기능을 제공합니다. 마크다운 콘텐츠와 Tera 템플릿 엔진을 사용해 블로그, 문서, 랜딩 페이지 같은 정적 사이트를 빠르게 빌드할 수 있도록 설계되었습니다. 서버나 데이터베이스 없이 정적 파일만으로 사이트를 운영할 수 있어, 호스팅과 확장에도 간단한 구조를 지향합니다.
상세정보
Sass 컴파일 및 구문 강조
Sass 파일을 별도의 빌드 도구 없이 컴파일할 수 있으며, 코드 블록에 대한 구문 강조도 내장되어 있습니다. 이 두 기능은 기본적으로 빌드 파이프라인에 포함되어 있어 별도의 JavaScript 라이브러리 추가 없이 동작합니다.
마크다운 콘텐츠와 Tera 템플릿
콘텐츠는 마크다운으로 작성하고, 레이아웃은 Tera 템플릿 엔진으로 구성합니다. Tera는 Hugo의 Go 템플릿 엔진을 대체하기 위해 만들어진 엔진이며, Zola 콘텐츠에는 내부 링크와 바로 가기가 자연스럽게 통합되어 있습니다.
이미지 처리 및 자산 관리
이미지 처리 기능을 통해 정적 자산 최적화가 가능하며, 콘텐츠와 자산을 같은 디렉터리에 함께 배치하는 자산 동거(co-location) 방식을 지원합니다.
다국어 사이트 및 테마
기본 수준의 다국어 사이트 지원을 제공하며, 공식 테마를 활용해 사이트 외형을 빠르게 구성할 수 있습니다. 테마는 문서의 Themes 섹션에서 확인할 수 있습니다.
검색, 목차, 내부 링크
서버나 외부 서비스 없이도 동작하는 클라이언트 검색 인덱스 생성, 자동 목차 생성, 자동 헤더 앵커 생성, 내부 링크, 별칭(aliases), 페이지 매김(pagination), 사용자 정의 분류 체계(custom taxonomies) 기능을 지원합니다.
외부 링크 검사 및 실시간 미리보기
CLI의 검사(check) 기능으로 외부 링크 상태를 점검할 수 있으며, serve 모드에서는 라이브 리로드(live reload)를 통해 작성 중인 페이지를 즉시 미리 볼 수 있습니다.
손쉬운 배포
빌드 결과물은 정적 파일이므로 Netlify, Vercel, Cloudflare Pages 등 다양한 정적 호스팅 플랫폼에 그대로 배포할 수 있습니다.
Zola는 어떤 종류의 사이트에 적합한가요?
블로그, 지식 베이스, 문서 사이트, 랜딩 페이지처럼 정적 파일로 서비스할 수 있는 사이트에 적합합니다. 서버나 데이터베이스가 필요하지 않으므로, 정적 호스팅만으로 운영 가능한 프로젝트에 잘 맞습니다.
Zola를 사용하려면 별도의 의존성을 설치해야 하나요?
아니요. Sass 컴파일, 구문 강조, 목차 생성 등의 기능을 포함한 모든 구성 요소가 단일 바이너리에 내장되어 있어, 설치 후 별도의 빌드 도구나 런타임 설치가 필요하지 않습니다.
Windows에서 어떻게 설치하나요?
winget이 설치된 환경에서는 `winget install –id getzola.zola –exact` 명령으로 바로 설치할 수 있습니다. winget을 사용하지 않는 경우 GitHub 릴리스 페이지에서 Windows용 zip 아티팩트를 내려받아 압축을 풀면 됩니다.
서버 없이 검색 기능을 쓸 수 있나요?
예. Zola는 서버나 외부 검색 서비스 없이 동작하는 클라이언트 측 검색 인덱스 생성 기능을 제공하며, 이 기능은 문서의 Search 섹션에 설명되어 있습니다.
릴리스 아티팩트의 신뢰성은 어떻게 확인하나요?
모든 릴리스 아티팩트는 Sigstore로 서명되어 있으며, GitHub CLI를 사용해 `gh attestation verify –owner getzola` 명령으로 서명을 검증할 수 있습니다.
시스템 요구사항
단일 실행 파일 형태로 배포되어 별도의 런스나 패키지 설치가 필요하지 않습니다. winget 설치 명령은 `winget install --id getzola.zola --exact`이며, GitHub 공식 릴리스의 zip 아티팩트를 직접 내려받아 사용할 수도 있습니다. GitHub 릴리스 아티팩트는 Sigstore로 서명되어 있어 `gh attestation verify --owner getzola` 명령으로 서명을 검증할 수 있습니다.


