refactor(content): portfolio 페이지 pages 컬렉션으로 이전#56
Conversation
about과 동일하게 portfolio도 옛 파일 기반 라우트에서 pages 콘텐츠 컬렉션 방식으로 전환. 마크다운 원본을 contents/pages/로 모으고 라우트는 about.astro와 같은 getEntry 패턴 사용. /portfolio URL과 noindex 동작은 그대로 유지.
contents/를 Obsidian vault로 편집할 때 생성되는 .obsidian/, .claudian/ 디렉토리를 .gitignore에 추가.
There was a problem hiding this comment.
Code Review
This pull request updates the .gitignore to exclude editor-specific directories and refactors the portfolio page by moving layout handling from the Markdown frontmatter to a new Astro page that fetches and renders the content. A review comment suggests improving error handling for missing content by returning a 404 response instead of throwing an error, which would provide better flexibility for potential future server-side rendering.
Code ReviewOverview
Code Quality ✅
Suggestions
PR Description에서 언급된 기존 이슈 — PR description에서 잘 짚어두셨지만, Potential Issues없음. 빌드 검증(164페이지, Performance / Security변경 사항이 없습니다 — 기존 SSG 파이프라인을 그대로 활용합니다. 결론: 변경이 최소화되어 있고, 기존 패턴을 정확히 따르며, 빌드 검증까지 완료된 깔끔한 리팩토링입니다. |
코드 리뷰 반영 — .claudian 이 Obsidian용 Claude 플러그인 설정임을 주석에 명시.
Code ReviewOverview
Code Quality ✅
.gitignore ✅
Suggestions (Minor)
Potential Issues: None
Verdict변경이 최소화되어 있고 기존 패턴을 정확히 따르며 빌드 검증까지 완료된 깔끔한 리팩토링입니다. 승인 권장합니다. |
Description
portfolio페이지를about과 동일한pages콘텐츠 컬렉션 구조로 이전하고, 편집 도구 설정 디렉토리를.gitignore에 추가합니다.배경 —
about페이지는 커밋52588d2에서 옛 AstroPaper 파일 기반 라우트(src/pages/about.md)에서pages콘텐츠 컬렉션 방식으로 리팩토링됐으나portfolio는 누락돼, 두 정적 페이지가 서로 다른 패턴으로 렌더링되는 불일치 상태였습니다. 이를 일원화합니다.변경 내용
refactor(content)— portfolio 페이지 이전src/pages/portfolio.md→contents/pages/portfolio.md(git mv, 99% rename 추적으로 히스토리 보존)layout:줄 제거 (컬렉션 방식에선 불필요)src/pages/portfolio.astro신규 생성 —about.astro와 동일한getEntry("pages", …)패턴PortfolioLayout은 변경 없이 재사용 (Props가pages스키마와 일치)chore— gitignorecontents/를 Obsidian vault로 편집할 때 생성되는.obsidian/,.claudian/디렉토리 추적 제외Types of changes
Checklist
/portfolioURL·noindex동작 모두 유지, 외부 동작 변화 없음Further comments
pnpm build프로덕션 빌드 후dist/산출물로 검증 완료:/portfolio라우트 충돌·getEntry실패 없음/portfolioURL 불변,<meta name="robots" content="noindex, nofollow">보존<section id="portfolio">·PDF 다운로드 버튼 정상 렌더/portfolio제외 유지,/about회귀 없음리뷰어 참고 —
Layout.astro의 Person JSON-LDurl이/about로 하드코딩돼/portfolio에도 적용되지만, 이는 이전 전부터 있던 동작으로 이번 변경의 회귀가 아닙니다 (portfolio는noindex라 영향 미미). 별도 작업으로 분리를 권장합니다.Related Issue
N/A