블로그 대개편 — Jekyll(Hydejack)에서 Astro로
목차
며칠에 걸쳐 이 블로그를 통째로 갈아엎었다. 처음엔 “검색이 잘 안 되고 hits가 안 뜬다” 정도의 가벼운 수리로 시작했는데, 파고들수록 근본 원인이 늙은 엔진이라 결국 새로 지었다. 무엇이 / 왜 / 어떻게 바뀌었는지 남겨둔다.
발단: 뭐가 문제였나
- 검색이 한글에 약했다 — 옛 Tipue Search는 영어 기준이라 한국어 부분 검색이 잘 안 됐다.
- 방문자 배지가 깨져 있었다 —
hits.seeyoufarm.com서비스 자체가 중단됐다. - 글을 클릭하면 흰 화면에서 무한 로딩 — Hydejack 테마의 AJAX 페이지 전환(push-state) 고질병이었다. 아래가 그 증상이다.

- 게다가 Jekyll 3.x + Hydejack(2017) 조합이라 의존성 충돌이 잦고, 큰 표지가 박힌 2단 레이아웃도 무거웠다.
수리만으로는 한계가 분명했다. 마침 로컬에 Ruby는 없고 Node는 있었기에, Node 기반 Astro로 새로 짓기로 했다.
Before → After 한눈에
| 항목 | Before | After |
|---|---|---|
| 엔진 | Jekyll 3.8 + Hydejack(2017) | Astro 5 |
| 런타임 | Ruby | Node.js |
| 디자인 | 큰 표지 사이드바 2단 (고정) | 깔끔한 사이드바 + 본문, 접기 토글 |
| 테마 | 라이트 고정 | 라이트 / 다크 모드 |
| 글 클릭 | 흰 화면 무한 로딩 🐛 | 즉시 정상 표시 ✅ |
| 검색 | Tipue (한글 약함) | Pagefind (한글 OK) |
| 댓글 | utterances | giscus |
| 방문자 통계 | seeyoufarm (서비스 종료) | Google Analytics |
| 폰트 | 시스템 폴백 (한글 깨짐) | Pretendard |
| 빌드/배포 | GitHub Pages 기본 빌드 | GitHub Actions (빌드→검색 인덱싱→배포) |
| 글 주소(URL) | /{분류}/{연}/{월}/{일}/{제목}.html | 동일 (그대로 보존) |
무엇이 좋아졌나
- 흰 화면 버그가 사라졌다. 엔진을 바꾸니 원인 자체가 없어졌다.
- 한글 검색이 된다. 상단 🔍 또는 사이드바 검색에서 바로.
- 다크 모드와 사이드바 접기가 생겼다. 취향대로.
- 글 250여 개가 주소까지 그대로 넘어왔다. 기존 링크와 북마크가 살아 있다는 뜻이다.
- 페이지가 가볍고 빠르다. 전역에서 무겁게 돌던 jQuery·검색 스크립트가 사라졌다.
어떻게 했나 (기술 메모)
- 마이그레이션 스크립트로
_posts의 글 250여 개를 Astro 콘텐츠로 변환했다. front matter가 제각각이거나 아예 없던 글까지 정규화하고, 중복 글은 걸러냈다. - 기존 사이트맵을 기준 삼아 (날짜 + 제목 슬러그) 매핑해서 옛 URL을 그대로 재현했다. SEO와 기존 링크를 지키기 위해서다.
- 이미지 등 정적 자산은 경로를 유지한 채 그대로 복사했다.
- GitHub Actions 워크플로로 빌드 → Pagefind 검색 인덱싱 → Pages 배포를 자동화했다.
- 여담 — Jekyll(kramdown) 시절엔 스마트 타이포가 표 구분선(
------)을 em대시(——)로 바꿔 발행된 표가 깨지곤 했다(_config.yml에 GFM 입력 지정으로 우회했었다). Astro로 오며 이 문제 자체가 사라졌다.
남은 것
- 댓글을 giscus로 붙이는 중이다 (GitHub Discussions 기반).
결론: 가벼운 수리로 시작했지만, 낡은 토대 위에 칠만 더 하느니 토대를 바꾸는 편이 나았다. 그리고 무엇보다 — Don’t Panic.
업데이트 로그
2026-07 — 분류 정비와 저장소 정리
보이는 변화
- 카테고리를 내용에 맞게 다시 정리했다. 뒤섞여 있던 분류를 정돈하고 네트워크·DevOps·데이터베이스·JSP·Servlet 등 주제를 명확히 나눴다.
- 공지 글을 별도 영역으로 분리했다. 기술 카테고리와 섞이지 않게 사이드바에 따로 뒀다.
- 카테고리 목록을 이름순으로 정렬해 찾기 쉽게 했다.
- 댓글은 예정대로 giscus로 붙였다 (GitHub 계정으로 작성).
기술 메모 (저장소 정리)
- 글의 실제 분류와 어긋나 있던 폴더 구조를 폴더 = 카테고리로 재배치했다.
Java와study/java처럼 이중으로 쪼개져 있던 폴더도 하나로 합쳤다. - 파일명이 글 제목과 따로 놀던 것(
algorithm_01.md같은)을 제목 기반 이름으로 바꿔 편집기에서 찾기 쉽게 했다. - 옛 Jekyll 잔재(
_posts)와 어디서도 쓰이지 않던 이미지 4천여 개를 정리해 저장소를 가볍게 했다. 덕분에 배포 용량 한도(1GB)에 걸리던 문제도 풀렸다. - 이 모든 변경에서 글 주소(URL)는 하나도 바뀌지 않았다. front matter의 permalink가 주소를 결정하기 때문이다.