Pony가 템플릿 엔진을 얻다
Pony의 새로운 템플릿 엔진은 Mustache나 Jinja와 유사한 문법을 제공하며, 조건문, 반복문, 필터, 템플릿 상속 등 현대적인 기능을 지원합니다.
HtmlTemplate은 HTML 내 변수의 위치에 따라 상황별로 적절한 컨텍스트 인식 이스케이핑을 자동 적용하여, URL, 이벤트 핸들러, CSS, 스크립트 등 다양한 HTML 컨텍스트에서 발생할 수 있는 XSS 취약점을 효과적으로 방지합니다.
내부적으로 상태 머신이 템플릿을 파싱하며, 변수 위치와 문맥을 추적해 올바른 이스케이프 방식을 선택하고, 구조적 오류도 사전에 검출하여 안정성을 높였습니다.
또한, TemplateSink 인터페이스를 도입해 정적 콘텐츠와 동적 값을 분리하여, LiveView 스타일의 실시간 UI 프레임워크인 Livery와 연동 시 변경된 부분만 효율적으로 전송할 수 있도록 설계되어 있습니다.
이 템플릿 엔진은 Pony 웹 개발 스택의 중요한 구성 요소로, 서버 렌더링과 실시간 UI 업데이트를 위한 견고한 기반을 제공합니다.