Decant의 핵심은 Decant.define
메서드를 통해 콘텐츠 클래스를 정의하는 것입니다. 이 클래스는 콘텐츠 파일의 디렉토리와 확장자를 지정하며, 프런트매터 리더 및 사용자 정의 메서드를 포함할 수 있습니다. 파일은 중첩 가능하고, 전체 경로로 접근 가능하여 Rails나 Sinatra 같은 웹 프레임워크의 동적 URL 라우팅을 지원합니다.
컬렉션 접근을 위한 find
, all
, glob
메서드를 제공하며, Decant::Content
객체를 통해 경로, 상대 경로, 슬러그 등 자체 정보를 얻을 수 있습니다. 프런트매터는 Jekyll과 유사한 YAML 형식으로 작성되며 Ruby 해시로 변환됩니다.
Decant는 마크다운 처리 기능을 내장하지 않습니다. 이는 사용자가 Kramdown 같은 선호 라이브러리를 선택, 통합하여 콘텐츠를 HTML로 변환하는 유연성을 제공하기 위함입니다.