ePub, 웹 개발 지식으로 전자책 만들기!
ePub은 전자책 표준으로, 웹 기술을 활용하여 저전력 기기에서 읽을 수 있는 문서를 제작할 수 있게 해줌
ePub은 XHTML을 기반으로 하며, XML 네임스페이스와 유효한 XML 마크업을 요구하여 일반 HTML과 차이점을 보임
CSS는 유사하게 사용되지만, e-reader의 제약으로 인해 호환성을 고려해야 하며, MathML 및 SVG와 같은 다른 XML 언어 통합도 가능함
ePub HTML의 핵심: XHTML과 XML
ePub은 XHTML을 기반으로 하며, 이는 XML의 엄격한 문법을 따른다. 구체적으로, 모든 태그는 self-closing되거나 닫혀야 하며, 네임스페이스를 정확하게 정의해야 한다. 따라서, 웹 개발자는 ePub 제작 시 유효성 검사에 특히 주의해야 하며, XML 네임스페이스를 활용하여 MathML 및 SVG와 같은 다른 XML 언어를 통합할 수 있다.
CSS 호환성 및 제약 사항
ePub의 CSS는 일반 웹과 유사하지만, e-reader의 제한된 기능을 고려해야 한다. 따라서, 최신 CSS 기능보다는 @supports와 같은 점진적 향상 기법을 활용하는 것이 좋다. 반면, 네임스페이스를 사용하여 CSS 선택자를 정의해야 하며, :not()과 같은 복잡한 pseudoclasses는 호환성 문제를 일으킬 수 있으므로 주의해야 한다.
ePub 제작 실전 가이드
ePub을 제작하려면 container.xml, package file, XHTML 파일 등 특정 구조를 갖춰야 한다. 따라서, Standard Ebooks와 같은 도구를 사용하여 scaffolding을 생성하고, manifest 및 spine을 통해 파일의 순서를 정의하는 것이 효율적이다. 결과적으로, 기존 웹 개발 지식을 활용하여 전자책 제작이라는 새로운 영역에 도전할 수 있다.