Perron은 “왜 또 다른 SSG인가?”라는 질문에 명확한 답을 제시합니다. 그것은 바로 Rails 개발자들이 자신이 가장 잘 아는 환경에서 정적 사이트를 구축할 수 있게 하기 위함입니다. Perron은 기존 Rails 애플리케이션과 동일하게 rails server 또는 bin/dev를 통해 개발이 진행됩니다. 이는 Rails의 라우팅, 컨트롤러, 뷰 레이아웃 등 모든 장점을 그대로 활용할 수 있음을 의미합니다.
Perron의 주요 기능 및 특징
-
Rails 기반 개발 및 정적 배포: 사이트 개발은 Rails 환경에서 이루어지며,
bin/rails perron:build명령어를 통해 완전히 정적인 사이트를 생성하여 Netlify, Statichost, DigitalOcean 등 원하는 플랫폼에 배포할 수 있습니다. -
경량 Gem: Perron은 Rails 앱에 추가되는 경량 Gem 형태로, SaaS/마케팅 사이트 및 모든 콘텐츠 사이트 구축을 용이하게 합니다.
Perron::Resource를 통한 콘텐츠 관리:Perron::Resource를 상속하는 리소스 클래스 개념을 사용합니다.bin/rails generate content Post와 같은 명령어로 모델, 컨트롤러, 뷰 파일을 자동 생성합니다.Content::Post와 같은 클래스는Perron::Resource를 상속하며,ActiveModel유효성 검사 기능을 지원하여bin/rails perron:validate로 리소스 유효성을 확인할 수 있습니다.metadata메서드를 통해 Markdown 콘텐츠 상단의 YAML 프런트매터를 활용합니다.
- Markdown 및 HTML 변환 지원:
- Markdown 콘텐츠를 기본적으로 지원하며,
markdownify헬퍼를 제공합니다. Commonmarker, Kramdown, Redcarpet 등 원하는 Markdown 파서를 자유롭게 선택하여 사용할 수 있습니다. - 생성된 HTML 콘텐츠에 대한 변환 기능을 제공합니다. 예를 들어, 모든 링크에
target=_blank를, 모든 이미지에loading=lazy를 자동으로 추가하거나, 코드 블록에 복사 버튼 추가, YouTube/CodePen 임베딩 등 사용자 정의 프로세서를 생성할 수 있습니다.
- Markdown 콘텐츠를 기본적으로 지원하며,
- SaaS/마케팅 사이트 특화 기능:
- 콘텐츠 스케줄링, 구조화된 데이터(저자, 직원 정보 등) 처리 기능이 포함되어 있습니다.
- RSS/JSON 피드 및 XML 사이트맵 지원이 기본으로 제공됩니다.
- 코드 스니펫, 컴포넌트 및 템플릿 라이브러리: Perron 기반 사이트 시작, 목차 컴포넌트, Netlify 배포 설정 등 다양한 스니펫과 UI 컴포넌트, 그리고 개인 블로그나 SaaS 얼리 액세스 페이지를 위한 전체 템플릿을 제공합니다.