Skip to content

Commit fc9ec70

Browse files
chore: CLAUDE.md를 git 추적에 포함
다른 PC로 프로젝트 이전 시 clone만으로 설정 복원 가능하도록 .gitignore에서 CLAUDE.md 제외
1 parent 9d547eb commit fc9ec70

2 files changed

Lines changed: 130 additions & 3 deletions

File tree

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ Gemfile.lock
1818
ehthumbs.db
1919
Thumbs.db
2020

21-
# Claude Code
22-
CLAUDE.md
23-
2421
# Blog workflow
2522
dropbox/
2623
scripts/

CLAUDE.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## 프로젝트 개요
6+
7+
Jekyll 3.9.5 기반 다국어 기술 블로그 (github-pages gem v231). 커스텀 도메인 `realcoding.blog`에서 운영되며 한국어(기본), 영어, 일본어 3개 언어를 지원한다.
8+
9+
## 개발 명령어
10+
11+
```bash
12+
bundle install # 의존성 설치
13+
bundle exec jekyll serve # 로컬 개발 서버 (localhost:4000, 라이브 리로드)
14+
bundle exec jekyll build # 정적 사이트 빌드 → _site/
15+
```
16+
17+
배포: `git push origin master` → GitHub Pages가 자동으로 Jekyll 빌드 및 배포 (별도 CI/CD 없음)
18+
19+
## 아키텍처
20+
21+
### 레이아웃 체계
22+
```
23+
default.html (기본 HTML 구조, SEO, 다국어 hreflang, 외부 라이브러리)
24+
├── post.html (포스트 메타데이터, 네비게이션, 공유버튼, Utterances 댓글)
25+
└── page.html (단순 페이지 제목/콘텐츠)
26+
```
27+
28+
### 다국어 시스템
29+
- UI 문자열: `_data/ko.yml`, `_data/en.yml`, `_data/ja.yml`
30+
- 언어별 페이지: 루트(`/`) = 한국어, `/en/`, `/ja/`
31+
- 포스트에서 `lang` front matter로 언어 지정
32+
- 레이아웃에서 `site.data[page.lang]`로 해당 언어 데이터 접근
33+
34+
### 포스트 규칙
35+
- **파일명**: `YYYY-MM-DD-slug.md` (한국어), `YYYY-MM-DD-slug-en.md` (영어), `YYYY-MM-DD-slug-ja.md` (일본어)
36+
- **URL**: `/:year/:month/:day/:title/`
37+
- **이미지**: `/assets/images/posts/[포스트별-폴더]/` 하위에 저장
38+
39+
### Front Matter 구조
40+
```yaml
41+
---
42+
layout: post
43+
title: "제목"
44+
date: 2025-07-04 00:02:00 +0900
45+
categories: [Development, AI]
46+
tags: [태그1, 태그2]
47+
author: "Kevin Park"
48+
lang: ko # ko | en | ja
49+
excerpt: "요약 텍스트"
50+
image: "/assets/images/posts/폴더/hero.png" # 선택
51+
mermaid: true # Mermaid 다이어그램 사용 시
52+
---
53+
```
54+
55+
### 주요 에셋
56+
- `assets/css/main.css` — 전체 스타일 (CSS 변수 기반 다크/라이트 테마)
57+
- `assets/js/main.js` — 모바일 메뉴, 테마 토글, 이미지 모달, 스크롤 기능
58+
- `_includes/header.html` — 네비게이션 + 언어 전환 드롭다운
59+
- `_includes/footer.html` — 소셜 링크, 카테고리, 최근 포스트
60+
- `_includes/mermaid.html` — Mermaid 다이어그램 렌더링
61+
- `_includes/analytics.html` — Google Analytics (GA4)
62+
- `_includes/adsense.html` — Google AdSense
63+
64+
### 외부 서비스
65+
- **댓글**: Utterances (GitHub Issues 기반, repo: `realcoding2003/realcoding2003.github.io`)
66+
- **분석**: Google Analytics GA4 (`G-MEFBMHM6FK`)
67+
- **광고**: Google AdSense (`ca-pub-9012129960393497`)
68+
- **코드 하이라이팅**: Rouge (빌드 시) + Highlight.js (런타임)
69+
70+
## 작업 모드
71+
72+
이 프로젝트에서의 작업은 두 가지 모드로 구분된다:
73+
74+
1. **블로그 디자인 모드**: CSS/JS/레이아웃 등 UI/UX 개선 작업
75+
2. **블로깅 모드** (`/blog-write`): 새 포스트 작성 워크플로우
76+
77+
모드를 명시하지 않으면 대화 내용에서 자동 판별한다.
78+
79+
## 블로깅 규칙
80+
81+
### 워크플로우
82+
`/blog-write` 스킬로 실행. 주제 접수 → 구조 제안 → 이미지 처리 → 한국어 초안 → 사용자 리뷰 → **영어/일본어 자동 번역** → 발행
83+
84+
### 다국어 자동 번역
85+
86+
- 한국어 초안이 확정되면 영어(en), 일본어(ja) 버전을 **자동으로** 작성한다
87+
- 별도 요청 없이도 항상 3개 언어 파일을 생성한다
88+
- 단순 번역이 아닌, 해당 언어권 독자에게 자연스러운 표현으로 작성
89+
- 영어: 전문적이고 간결한 어투
90+
- 일본어: 정중한 경어체 (~です/~ます)
91+
92+
### 이미지 규칙
93+
94+
- **필수**: 모든 포스트에 최소 1개 이미지 (일상 블로그 포함)
95+
- **경로**: `/assets/images/posts/[포스트-slug]/`
96+
- **최적화**: `scripts/optimize-image.sh` 사용 (최대 1200px, 300KB 이하)
97+
- **이미지 소스**:
98+
- PC 캡처 → MCP screenshot capture (`mcp__screenshot__capture`)
99+
- AI 생성 이미지 → 상세 영문 프롬프트 제공, 사용자가 외부 도구로 생성
100+
- 사용자 사진 → `dropbox/` 폴더에 넣으면 스크립트로 최적화
101+
- 웹사이트 캡처 → Playwright MCP 활용
102+
103+
### 프로젝트 기반 블로깅
104+
105+
- 사용자가 프로젝트 링크(GitHub 등)를 제공하면, 해당 프로젝트를 분석하여 블로그 소재로 활용
106+
- **프로젝트 코드를 그대로 노출하지 않는다** — 아키텍처, 기술 선택, 문제 해결 과정 등 블로그 독자에게 유익한 정보 중심으로 재구성
107+
- 분석 관점: 기술 스택, 설계 결정, 삽질/해결 경험, 배운 점, 다른 개발자에게 도움될 팁
108+
109+
### 이전 포스트 참조
110+
111+
- 초안 작성 전 `_posts/` 폴더의 기존 포스트를 확인하여 관련 주제가 있으면 참고
112+
- 이전 글과 연결되는 내용이 있으면 본문에서 자연스럽게 링크 (`[이전 글 제목](/YYYY/MM/DD/slug/)`)
113+
- 시리즈물이 될 수 있는 주제는 연속성을 유지
114+
- 글쓰기 어투와 구조를 기존 포스트와 일관되게 유지
115+
116+
### 글쓰기 스타일
117+
118+
- 구어체 + 전문 용어 혼합 ("~더라", "~했다")
119+
- 이모지 소제목 활용 (🤦‍♂️ 문제, 🔧 해결, 💡 인사이트, 🎯 결론)
120+
- 서사 구조: 문제 → 삽질/시도 → 해결 → 배운 점
121+
- 기존 게시글의 어투를 지속 학습하여 메모리에 저장 후 활용
122+
- **AI스러운 표현 금지**: "따라서", "그러므로", "또한" 남발 금지. 감정 없는 건조한 서술 금지. 모든 문제가 깔끔하게 해결되는 완벽한 스토리 금지
123+
- 문장 길이를 의도적으로 변화시켜 자연스러운 리듬 유지 (짧은 문장과 긴 문장 혼합)
124+
125+
## 새 포스트 작성 시 참고사항
126+
127+
- 하나의 포스트를 3개 언어 버전으로 작성 (ko, en, ja 파일)
128+
- `_config.yml``exclude` 목록에 포함된 파일은 빌드에서 제외됨
129+
- GitHub Pages 호환 플러그인만 사용 가능 (커스텀 플러그인 불가)
130+
- 페이지네이션: 홈페이지에서 10개씩 표시

0 commit comments

Comments
 (0)