Perron: Rails 개발자를 위한 새로운 OSS 정적 사이트 생성기 소개

Introducing Perron: Rails-based static site generator | Rails Designer

작성자
Ruby Weekly
발행일
2025년 10월 16일

핵심 요약

  • 1 Perron은 기존 Rails 지식과 생태계를 활용하여 정적 사이트를 구축할 수 있도록 설계된 오픈소스 Rails 기반 정적 사이트 생성기(SSG)입니다.
  • 2 이 도구는 Rails 개발자가 마케팅 사이트 구축 시 다른 프레임워크로 전환하는 데 드는 시간과 정신적 오버헤드를 줄여 생산성을 극대화합니다.
  • 3 Perron은 Perron::Resource를 통한 콘텐츠 관리, Markdown 지원, HTML 변환, ActiveModel 유효성 검사 등 SaaS/마케팅 사이트에 필요한 다양한 기능을 제공합니다.

도입

2025년에 출시된 Perron은 Rails 기반의 오픈소스 정적 사이트 생성기(SSG)로, 수년간의 개념 구상 끝에 개발되었습니다. 이 프로젝트는 기존의 수많은 SSG 도구들 사이에서 Rails 개발자들이 겪는 고유한 문제를 해결하고자 합니다. 제품 개발에 Rails를 사용하는 개발자들이 마케팅 또는 정적 사이트를 구축할 때, 익숙한 Rails 환경을 벗어나 새로운 프레임워크나 패러다임을 학습해야 하는 비효율성을 해소하는 것이 Perron의 핵심 목표입니다.

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 임베딩 등 사용자 정의 프로세서를 생성할 수 있습니다.
  • SaaS/마케팅 사이트 특화 기능:
    • 콘텐츠 스케줄링, 구조화된 데이터(저자, 직원 정보 등) 처리 기능이 포함되어 있습니다.
    • RSS/JSON 피드 및 XML 사이트맵 지원이 기본으로 제공됩니다.
  • 코드 스니펫, 컴포넌트 및 템플릿 라이브러리: Perron 기반 사이트 시작, 목차 컴포넌트, Netlify 배포 설정 등 다양한 스니펫과 UI 컴포넌트, 그리고 개인 블로그나 SaaS 얼리 액세스 페이지를 위한 전체 템플릿을 제공합니다.

결론

Perron은 Rails 개발자들이 정적 사이트 개발 시 겪는 비효율성을 해소하고, 익숙한 Rails 환경 내에서 모든 작업을 수행할 수 있도록 지원하는 강력한 솔루션입니다. 콘텐츠 관리부터 Markdown 지원, HTML 변환, 그리고 SaaS/마케팅 사이트에 특화된 다양한 기능까지, Perron은 개발 과정을 간소화하고 즐거움을 더합니다. 이 프로젝트는 지속적으로 새로운 기능과 개선 사항이 추가될 예정이며, Rails 커뮤니티의 많은 관심과 참여를 기대합니다. GitHub에서 ⭐를 누르고 직접 사용해 보시길 권장합니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!