Rails 8에서 블로그를 구축하는 최고의 방법: Markdown에서 Action Text까지
Source: Dev.to

Introduction
The Developer’s Paradox
개발자로서 우리는 블로그를 완전히 제어하고 우리의 스택을 보여주고 싶습니다. 하지만 커스텀 관리자 패널을 만들다 보면 콘텐츠 제작이 지연되기 쉽습니다. 작성 방식에 맞는 아키텍처를 선택하세요.
1. The “Indie Hacker” Way: Markdown + Git
How it works
포스트를 app/contents/posts/ 디렉터리 안에 .md 파일로 저장합니다. 각 파일에는 메타데이터를 위한 YAML front‑matter가 포함됩니다.
The Tech Stack
- FrontMatter – YAML 메타데이터를 파싱합니다.
- Redcarpet 또는 CommonMarker – Markdown을 HTML로 변환합니다.
- Rouge – 코드 블록에 구문 강조를 적용합니다.
Why it’s great
- Version Control – 포스트가 Git에 존재하므로
git revert로 실수를 되돌릴 수 있습니다. - Speed – 데이터베이스 쿼리가 없으며, 파싱된 HTML을 메모리나 Solid Cache 로 캐시합니다.
- Portability – Rails를 떠나더라도 콘텐츠는 표준 Markdown 파일 형태로 남아 있습니다.
2. The “Omakase” Way: Action Text + Trix
How it works
Rails 내장 리치 텍스트 속성을 사용합니다.
# app/models/post.rb
class Post < ApplicationRecord
has_rich_text :content
end
Why it’s great
- Image Handling – Active Storage가 업로드, 리사이징, 임베딩을 관리합니다.
- Editor – Trix가 깔끔하고 드래그‑앤‑드롭이 가능한 편집 경험을 제공합니다.
- Integration – Rails 생태계(예: ActionBroadcasting)와 매끄럽게 통합됩니다.
The Catch: 콘텐츠가 데이터베이스에 HTML 조각으로 저장되기 때문에 전역 찾기‑바꾸기나 마이그레이션이 Markdown보다 약간 번거로울 수 있습니다.
3. The “Pro” Way: Rails + a Headless CMS
The Tech Stack
- External CMS – Contentful, Strapi, 혹은 Spina CMS (Rails‑native 엔진).
- Logic – Rails가 CMS API를 통해 콘텐츠를 가져와 렌더링합니다.
Why it’s great
- Separation of Concerns – 이미지 업로더, 미리보기, 초안/게시 워크플로우 등을 직접 만들 필요가 없으며, CMS가 이를 처리합니다.
- SEO Tools – 내장된 SEO 필드와 검증 기능을 제공합니다.
The “Must‑Have” Checklist for any Rails Blog
1. RSS Feed
/feed.rss 라우트를 제공하세요(예: jbuilder 사용). RSS는 여전히 신디케이션에 유용합니다.
2. Meta Tags (the meta-tags gem)
OpenGraph와 Twitter Card 태그를 추가해 포스트가 소셜 플랫폼에서 멋지게 보이도록 합니다. 이 gem을 사용하면 제목, 설명, 소셜 이미지 등을 동적으로 설정할 수 있습니다.
3. Proper Caching
블로그는 읽기 중심입니다.
- 포스트 본문에 Fragment Caching을 사용하세요.
- Solid Cache(Rails 8)를 활용해 배포 시에도 캐시가 지속되도록 합니다.
Summary: Which one should you choose?
- Markdown – Git을 사랑하고 데이터베이스를 피하고 싶은 솔로 개발자에게 이상적입니다.
- Action Text – 브라우저 내 편집이 가능한 완전 “Railsy” 경험을 원할 때 최적입니다.
- Spina or another Headless CMS – 직접 관리자 UI를 만들지 않고도 깔끔한 관리 화면이 필요할 때 완벽합니다.
가장 좋은 블로그는 실제로 작성할 수 있는 블로그입니다. 여러분의 방해가 되지 않는 접근 방식을 선택하세요.
맞춤형 블로그를 만들고 있나요, 아니면 제너레이터를 사용하고 있나요? 댓글에 URL을 공유해 주세요! 👇