정적 빌더 build.py 첫 구현 (M1)

Outcome frontmatter→HTML 렌더, visibility public/draft 분기, 라이브 카운터, SEO/RSS/sitemap 자동생성을 단일 build.py로 구현 완료. node·번들러 없이 Python 표준라이브러리+markdown+jinja2+PyYAML만으로 동작 검증. 이 빌더가 만든 산출물이 아래 링크다.

목표

마크다운 + YAML frontmatter로 쓴 엔트리를 python build.py 한 번으로 정적 사이트로 만든다. node·번들러 없이 markdown / jinja2 / PyYAML과 표준 라이브러리만 쓴다.

구현 내용

  • frontmatter 파싱 + 본문 마크다운 변환 → 엔트리별 상세 HTML 생성
  • visibility 분기: publicdist-public/ 배포 트리, draftdist-private/ (공개 빌드 제외)
  • 라이브 카운터(기록 N일째 · 엔트리 M개 · 진행중 K건) 자동 계산 — 빌드 시점마다 갱신
  • sitemap.xml · robots.txt · feed.xml(RSS) 자동 생성
  • outcome · learned · date 누락 시 빌드 경고 → anti-fraud 강제 장치

결과

샘플 엔트리 3건(완료·진행중·실패) + draft 1건으로 로컬 미리보기 검증 완료. python build.py 단일 명령, 외부 빌드도구 0.

Learned 진행 중인 작업도 '진행중'으로 그대로 노출하는 게 build in public의 핵심 — 완결된 글만 있으면 오히려 편집된 인상을 준다.
tags  #build #python #static-site