Commits
GitHub 커밋 기반으로 자동 생성된 개발 기록
카테고리 시스템 추가 — 글 주제별로 색상/그라데이션 자동 연동
🤖 1623 in / 1164 out / 2787 total tokens 블로그 글을 주제별로 분류하는 카테고리 시스템을 만들었다. AI, 게임개발, 사이드프로젝트, 트레이딩, 인프라/배포, 일반 총 6개 카테고리. 각 카테고리는 고유한 accent 색상과 그라데이션을 가진다. 대시보드에서는 카드 좌측 보더와 뱃지가 카테고리 색상으로 표시되고, 에디
DEV.to 태그에서 하이픈 제거 — 영숫자만 남기기
🤖 686 in / 770 out / 1456 total tokens DEV.to API가 태그에서 특수문자를 받아주지 않는다. 하이픈이 포함된 태그를 넘기면 422 에러. 그래서 태그 정규화 함수를 추가했다. sanitizeTag 함수를 만들어 태그를 소문자로 변환하고, 하이픈은 제거, 나머지 특수문자도 싹 걷어냈다. 결과적으로 영숫자만 남도록 처
마크다운 렌더링 로직 정리
🤖 797 in / 1491 out / 2288 total tokens 에디터 페이지의 마크다운 프리뷰를 react-markdown 컴포넌트로 교체했다. 복잡했던 정규식 파싱 로직을 제거하고, rehype-highlight와 remark-gfm 의존성을 추가했다. 이를 통해 코드 하이라이팅과 테이블 같은 GFM 기능이 정상 작동하며, 개발자 경험과 코
마크다운 프리뷰, 직접 짜다가 라이브러리로 갈아탐
🤖 797 in / 995 out / 1792 total tokens 에디터 페이지에서 쓰던 regex 기반 renderMarkdown 함수를 걷어내고 react-markdown 기반의 MarkdownPreview 컴포넌트로 교체했다. 순수 정규식으로 마크다운을 파싱하려니 엣지 케이스가 끝도 없었고, 코드 블록 안에서 이스케이프 처리하다가 머리가 아팠
MarkdownPreview 컴포넌트로 코드 하이라이트 구현
🤖 643 in / 665 out / 1308 total tokens react-markdown과 rehype-highlight 조합으로 마크다운 프리뷰 컴포넌트를 만들었다. 클라이언트 컴포넌트로 선언하고 remark-gfm으로 GFM 문법을 지원하게 했다. rehype-highlight가 코드 블록에 자동으로 토큰 클래스를 붙여주니 별도 파싱 로직
Hashnode GraphQL 쿼리 타입 ObjectId → ID 수정
🤖 353 in / 992 out / 1345 total tokens Hashnode 플랫폼과의 통합 시 발생하던 GraphQL 타입 오류를 수정했습니다. 쿼리 변수 선언부에서 엄밀한 ObjectId 타입을 GraphQL 표준 타입인 ID로 변경하여, 다양한 데이터 타입과 호환되도록 개선했습니다. 이 변경으로 쿼리 실행 중 발생하던 예기치 못한 타입
Hashnode GraphQL 쿼리 타입 수정
🤖 353 in / 450 out / 803 total tokens Hashnode API 호출 시 발생하던 타입 에러를 수정했다. GraphQL 쿼리에서 매개변수 타입이 잘못되어 있었다. ObjectId는 Hashnode에서 실제로 요구하는 타입이 아니었다. 공식 문서를 확인해보니 ID 타입을 사용해야 했다. 단순한 오타이지만 API 요청이 계속
로그인 페이지 UI 개선 및 AppShell 적용
🤖 779 in / 1882 out / 2661 total tokens 로그인 페이지 디자인을 개선했다. 입력창을 크게 만들고 카드 레이아웃을 적용했다. AppShell 컴포넌트를 도입해 전역 레이아웃을 관리한다. 로그인 페이지에서는 Navbar를 제거하고 본문만 표시하도록 조건부 렌더링을 구현했다. 이로써 전체적인 UI 일관성을 확보했다.
로그인 페이지 UI 개선과 레이아웃 분리
🤖 779 in / 678 out / 1457 total tokens 로그인 페이지를 깔끔하게 다듬었다. 큰 입력창과 카드 레이아웃을 적용해서 시인성을 높였고, 전체적으로 더 모던한 느낌으로 변경했다. AppShell 컴포넌트를 새로 만들어서 레이아웃 로직을 분리했다. usePathname으로 현재 경로를 확인해서 로그인 페이지일 때는 Navbar를
SQLite에서 PostgreSQL로 마이그레이션 + 비밀번호 인증 추가
🤖 2850 in / 656 out / 3506 total tokens 데이터베이스를 SQLite에서 PostgreSQL(Railway)로 전환하고, 사이트 전체에 비밀번호 인증을 걸었다. Drizzle ORM 설정을 sqlite에서 postgresql로 변경했다. dialect 변경하고 dbCredentials를 DATABASE_URL 환경변수로