개요
콘텐츠의 다수가 "직접 돌려보면 이해되는" JS 동작 원리(this/클로저/호이스팅/프로토타입…)와 뚜렷한 시리즈 구조를 가진다. 이 성격에 맞는 차별화 기능 2종을 제안한다. (각각 별도 PR로 분리해도 무방)
제안 A — 실행 가능한 코드 플레이그라운드 (Run 버튼)
- 코드블록 우상단에 "실행" 버튼 →
console.log 출력을 블록 아래에 인라인 표시
post-codeblock-client.tsx에 추가, language === 'javascript'일 때만 노출. 안전 실행은 Web Worker + console 프록시(또는 QuickJS/esbuild-wasm)
- 차별화 1선. 난이도 상
제안 B — 시리즈 학습 경로 + 읽기 시간/진행률
- frontmatter에
order 필드 추가 → 같은 시리즈 글을 단계 UI로 잇고, 읽은 글은 체크(localStorage)
- 읽기 시간: 이미 있는
stripMdxToText(build-search-index.ts)로 글자수 산출
- 진행률 바: 기존 scroll 핸들러 재활용
- 난이도 중
임팩트 / 난이도
임팩트 상 / 난이도 (A)상 (B)중
🤖 코드베이스 조사 기반 작성 (Claude Code)
개요
콘텐츠의 다수가 "직접 돌려보면 이해되는" JS 동작 원리(this/클로저/호이스팅/프로토타입…)와 뚜렷한 시리즈 구조를 가진다. 이 성격에 맞는 차별화 기능 2종을 제안한다. (각각 별도 PR로 분리해도 무방)
제안 A — 실행 가능한 코드 플레이그라운드 (Run 버튼)
console.log출력을 블록 아래에 인라인 표시post-codeblock-client.tsx에 추가,language === 'javascript'일 때만 노출. 안전 실행은 Web Worker + console 프록시(또는 QuickJS/esbuild-wasm)제안 B — 시리즈 학습 경로 + 읽기 시간/진행률
order필드 추가 → 같은 시리즈 글을 단계 UI로 잇고, 읽은 글은 체크(localStorage)stripMdxToText(build-search-index.ts)로 글자수 산출임팩트 / 난이도
임팩트 상 / 난이도 (A)상 (B)중
🤖 코드베이스 조사 기반 작성 (Claude Code)