Skip to content

Repository files navigation

🚀 Ruby 마크다운 블로그 - 완전한 기능 구현

Ruby Sinatra 기반의 완전히 작동하는 마크다운 블로그 시스템

스크린샷 2025-08-27 145721 스크린샷 2025-08-27 145653 스크린샷 2025-08-27 145637

✨ 새롭게 추가된 기능들

🔍 검색 기능

  • 실시간 검색: 제목, 내용, 태그, 카테고리 통합 검색
  • 검색 API: /api/search?q=검색어 엔드포인트 제공
  • 키보드 단축키: Enter 키로 빠른 검색

🏷️ 태그 & 카테고리 시스템

  • 태그 추가: 포스트 작성/수정 시 쉼표로 구분하여 태그 입력
  • 카테고리 분류: 각 포스트에 카테고리 설정
  • 필터링: 태그나 카테고리 클릭으로 관련 포스트만 보기
  • 자동 수집: 모든 태그와 카테고리 자동 수집 및 표시

💬 댓글 시스템

  • 댓글 작성: 각 포스트에 댓글 달기 (마크다운 지원)
  • 답글 기능: 댓글에 답글 작성 (중첩 댓글)
  • 작성자: 익명 또는 이름 설정
  • 마크다운 렌더링: 댓글도 마크다운 문법 지원

🎯 전체 기능 목록

✍️ 포스트 관리

  • CRUD 완전 지원: 생성/읽기/수정/삭제
  • 실시간 에디터: 입력하면 바로 HTML로 변환되는 미리보기
  • 발행 상태: 초안/발행 상태 관리
  • 메타데이터: 작성일/수정일 자동 기록

🎨 마크다운 지원

  • 제목: # ## ### 헤더
  • 텍스트 스타일: 굵게, 기울임, 코드
  • 목록: 순서 있는/없는 목록
  • 코드 블록: 언어별 하이라이팅
  • 인용구: > 인용문
  • 링크: [텍스트](URL) 링크
  • 테이블: 마크다운 표 지원

💾 데이터 저장

  • JSON 파일 기반: db/posts.json에 모든 데이터 저장
  • 자동 백업: 수정 시 자동으로 파일 업데이트
  • ID 자동 증가: 새 포스트 ID 자동 할당

🔧 기술적 특징

  • UTF-8 지원: 한글 완벽 지원
  • 반응형 디자인: 모바일/데스크톱 자동 적응
  • Bootstrap 5: 모던한 UI/UX
  • 한글 폰트: Noto Sans KR 웹폰트
  • 크로스 플랫폼: Windows/Linux/Mac 지원

🚀 실행 방법

# 1. 디렉토리 이동
cd C:\stuyd\Ruby\markdown_blog

# 2. 서버 실행
ruby blog_app.rb

# 3. 브라우저에서 접속
# http://localhost:3000

📁 파일 구조

markdown_blog/
├── blog_app.rb          # 메인 애플리케이션 (모든 기능 포함)
├── db/
│   └── posts.json       # 포스트 및 댓글 데이터
└── README.md           # 이 파일

🎮 사용법

📝 포스트 작성

  1. "새 포스트 작성" 클릭
  2. 제목, 태그, 카테고리 입력
  3. 마크다운으로 내용 작성 (실시간 미리보기)
  4. "바로 발행하기" 체크 후 저장

🔍 검색 사용

  • 상단 검색창에 키워드 입력
  • 제목, 내용, 태그, 카테고리 모두 검색됨
  • Enter 키 또는 검색 버튼 클릭

🏷️ 태그 활용

  • 포스트 작성 시: Ruby, Sinatra, 마크다운 형식으로 입력
  • 메인 페이지에서 태그 클릭으로 필터링
  • 자동으로 모든 태그 수집하여 표시

💬 댓글 작성

  • 포스트 하단에서 댓글 작성
  • 마크다운 문법 사용 가능
  • 댓글에 답글 달기 지원

🎨 UI 특징

  • 다크/라이트 테마: Bootstrap 5 기반 깔끔한 디자인
  • 이모지 활용: 직관적인 아이콘과 이모지
  • 반응형: 모바일에서도 완벽하게 작동
  • 한글 최적화: 한글 폰트와 인코딩 완벽 지원

🔧 확장 가능한 기능들

현재 구현된 기능만으로도 완전한 블로그 시스템이지만, 다음과 같이 확장 가능:

  • 이미지 업로드: 드래그&드롭 이미지 업로드
  • 사용자 인증: 로그인/회원가입 시스템
  • 관리자 패널: 포스트 통계 및 관리
  • RSS 피드: RSS/Atom 피드 생성
  • 소셜 공유: SNS 공유 버튼
  • 검색 엔진 최적화: SEO 메타태그

🎉 이제 완전히 작동하는 마크다운 블로그를 즐겨보세요!

접속 주소: http://localhost:3000

About

Ruby on Rails로 만들어본 블로그(맛보기 시리즈_2)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages