정적 사이트 빌더 구축기(with. GitHub Pages) - 上

2025-09-17

시리즈

정적 사이트 빌더 구축기(with. GitHub Pages) - 上 - 현재 포스트
정적 사이트 빌더 구축기(with. GitHub Pages) - 下

다시 기록

시간이 날때마다 종종 지나온 시간을 다시 돌아보는데, 취업 이후로 블로그가 죽어있는걸 깨달았습니다. 올해 첫날 자신있게 "꾸준히 운영해보려합니다."고 했는데, 연초 다짐은 어디갔는지 없고 긴 공백만 길어졌습니다. 9-6로 하루 8시간(+@)을 회사 업무에 집중하다보니 자연스레 기록하는데 투자하는 시간을 줄였고, 휴일에 남는 시간은 이런저런 토이프로젝트나 여가활동으로 채워지면서 기록은 뒷전이 됐습니다.

어느 분야나 그렇겠지만, 개발 하면서 얻는 작은 깨달음이나 여러 시도들이 메신저나 메모장 깊은곳에 묻혀 버리는게 아쉬웠습니다. 이런저런 내용을 크로키 하듯 메모하는것도 좋지만, 다시 포스트를 작성하면서 복기하고 체계적으로 기록 해야겠다는 생각에 블로그를 다시 살려보려합니다.

왜 플랫폼 대신 직접?

이전 블로그에서 깃헙 페이지로 넘어오면서 처음엔 적당한 지킬 테마를 골라 구성했지만 썩 마음에 들지 않았습니다. 포스트 목록을 페이징 하는 기능도 없었고 태그로 포스트를 모아보는 기능도 없었습니다. 다시 벨로그를 살릴까도 고민했지만, 선택은 달랐습니다.

내가 원하는건 가볍고 마음대로 커스텀할 수 있는 공간이었습니다. 기능이 필요하면 직접 만들면 되고(챗지피티와 함께...) 굳이 플랫폼을 이용할 이유가 없었습니다.

루비 대신 파이썬

GitHub Pages는 Ruby & Jekyll 조합이 대표적입니다. 기본 디플로이 워크플로우에서도 지킬로 돌아가고 여러 템플릿도 지킬기반입니다. 몇번이고 시도했지만 여전히 낯선 루비와 지킬을 학습할 마음이 생기진 않았습니다. 차라리 조금이라도 익숙한(검색하기 좋은) 언어를 기반으로 직접 사이트 빌더를 만들어보는것도 재미있겠다 싶었습니다.

자바가 가장 익숙한 언어였지만, 워크플로우에서 쓰기는 무거울것 같아 파이썬으로 만들어보자로 마음을 굳혔습니다. 사실 런타임이 무거운건 핑계고, 디렉토리도 복잡해지고 코드가 길어져서...

구현 방향

프로젝트 큰 흐름은 꽤나 단순했습니다.

  • 포스트는 마크다운으로 작성한다.
  • 작성한 포스트를 업로드하려면 푸시한다.
  • 배포 워크플로우에서 HTML을 자동으로 생성한다.
  • 템플릿이나 스크립트 등 나머지는 제외하고, 정적으로 산출물만 배포한다.

결국 특정 디렉토리를 돌면서 새로운 파일을 동기적으로 만들어내는, 파일 IO위주의 간단한 흐름이었습니다.

물론 개선점도 있습니다. 새로운 포스트를 업로드하면 이전 배포에서 만들었던 정적 산출물들도 다시 생성하는데, 필요한 부분만 생성/수정하는 기능을 넣을수도 있고, 한번에 여러 포스트를 업로드한다면 파일 생성을 비동기적으로 수행하는 등 여러 개선점이 있습니다.

소소한 재미

소스코드 저장소

깃헙 워크플로우는 익숙한 흐름으로 그리 어렵지는 않았습니다. 오히려 HTML/CSS 때문에 좀 고생했습니다. 파이썬 스크립트는 조잡하지만 함수형 스타일을 적용해봤는데, 새로운 스타일도 신선했고 오랜만에 눈에 보이는 결과물을 만들어냈다는게 프로젝트를 더 재미있게 만들었습니다.

이 블로그 자체가 거창한건 아니지만, 일이 아닌 내 스스로 작은 문제를 정의하고 불필요한 비용을 최소화 하면서 문제를 해결해본게 오랜만에 소소한 재미를 만들어준 것 같습니다.

下편에서는 좀 더 기술적인 이야기와 어떻게 구현했는지를 중점적으로 다뤄보겠습니다.