제로 JS, 빌드 타임 렌더링: Sukr, 정적 사이트 생성의 새로운 기준!

by DD
3개월 전
조회수 8

Rust로 작성된 정적 사이트 생성기(SSG) Sukr는 제로 JS(Zero-JS)를 지향하며, 빌드 타임에 모든 처리를 수행함

Tree-sitter 기반 구문 강조, MathML을 활용한 LaTeX 렌더링, SVG 다이어그램 지원 등 다양한 기능 제공

기존 SSG의 클라이언트 사이드 자바스크립트(Client-Side JavaScript) 의존성 문제를 해결하고, 성능 향상에 기여

Zola, Hugo 등 기존 SSG와 비교하여, 기능 구현 방식 및 성능 측면에서 차별점을 가짐

빌드 타임 렌더링(Build-time Rendering) 아키텍처

Sukr는 인터셉터 파이프라인(Interceptor Pipeline) 아키텍처를 활용하여 빌드 타임에 모든 콘텐츠를 처리한다. 특히, Tree-sitter를 사용하여 구문 강조를 구현함으로써, 정규 표현식 기반 방식의 한계를 극복하고, 다양한 언어의 구문 분석을 지원한다. 또한, KaTeX를 통해 LaTeX 수식을 MathML로 변환하여, 클라이언트 측 자바스크립트 의존성을 제거하고, 페이지 로딩 속도를 향상시킨다.

제로 JS(Zero-JS) 구현 전략

Sukr의 핵심 목표는 제로 JS(Zero-JS) 구현이다. 이를 위해, Mermaid를 사용하여 다이어그램을 빌드 타임에 SVG로 변환하고, LaTeX 수식을 MathML로 렌더링한다. 이러한 접근 방식은 클라이언트 측에서 자바스크립트 실행 없이 풍부한 콘텐츠를 제공하며, 페이지 로딩 속도(Page Loading Speed)를 개선한다. 결과적으로, 사용자 경험을 향상시키고, 검색 엔진 최적화(SEO)에도 긍정적인 영향을 미친다.

기존 SSG와의 비교 분석

Sukr는 Zola, Hugo와 같은 기존 SSG와 비교하여, 기능 구현 방식에서 차별점을 보인다. 특히, Sukr는 Tree-sitter 기반 구문 강조, MathML을 활용한 LaTeX 렌더링, SVG 다이어그램 지원 등, 클라이언트 측 자바스크립트 없이 구현하기 어려운 기능을 제공한다. 하지만, 기존 SSG에 비해 생태계(Ecosystem)테마 지원(Theme Support) 측면에서는 아직 부족하다는 평가도 존재한다.

커뮤니티의 반응 및 개선점

커뮤니티에서는 Sukr의 제로 JS(Zero-JS) 접근 방식과 빌드 타임 렌더링에 대한 긍정적인 평가가 주를 이룬다. 특히, 페이지 로딩 속도(Page Loading Speed) 향상과 SEO 최적화(SEO Optimization)에 대한 기대가 높다. 하지만, 일부 사용자들은 플러그인 지원(Plugin Support)템플릿 유연성(Template Flexibility) 부족을 지적하며, 향후 개선을 요구하고 있다.

Sukr: A minimal static site compiler in Rust with zero-JS output

댓글 0

첫 번째 댓글을 남겨보세요!