Ruby Sinatra 기반의 완전히 작동하는 마크다운 블로그 시스템
- 실시간 검색: 제목, 내용, 태그, 카테고리 통합 검색
- 검색 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:3000markdown_blog/
├── blog_app.rb # 메인 애플리케이션 (모든 기능 포함)
├── db/
│ └── posts.json # 포스트 및 댓글 데이터
└── README.md # 이 파일
- "새 포스트 작성" 클릭
- 제목, 태그, 카테고리 입력
- 마크다운으로 내용 작성 (실시간 미리보기)
- "바로 발행하기" 체크 후 저장
- 상단 검색창에 키워드 입력
- 제목, 내용, 태그, 카테고리 모두 검색됨
- Enter 키 또는 검색 버튼 클릭
- 포스트 작성 시:
Ruby, Sinatra, 마크다운형식으로 입력 - 메인 페이지에서 태그 클릭으로 필터링
- 자동으로 모든 태그 수집하여 표시
- 포스트 하단에서 댓글 작성
- 마크다운 문법 사용 가능
- 댓글에 답글 달기 지원
- 다크/라이트 테마: Bootstrap 5 기반 깔끔한 디자인
- 이모지 활용: 직관적인 아이콘과 이모지
- 반응형: 모바일에서도 완벽하게 작동
- 한글 최적화: 한글 폰트와 인코딩 완벽 지원
현재 구현된 기능만으로도 완전한 블로그 시스템이지만, 다음과 같이 확장 가능:
- 이미지 업로드: 드래그&드롭 이미지 업로드
- 사용자 인증: 로그인/회원가입 시스템
- 관리자 패널: 포스트 통계 및 관리
- RSS 피드: RSS/Atom 피드 생성
- 소셜 공유: SNS 공유 버튼
- 검색 엔진 최적화: SEO 메타태그
🎉 이제 완전히 작동하는 마크다운 블로그를 즐겨보세요!
접속 주소: http://localhost:3000