해본 것은 해봤다고, 재본 것은 재봤다고 적습니다
birchholt는 자작나무(birch)와 작은 숲(holt)을 붙여 만든 이름입니다. 한 그루씩 심어 숲이 되기를 기다리는 마음으로 지었습니다.
여기는 블로그를 만들고 굴리면서 직접 재본 것을 적는 자리입니다. 도메인을 사고, 정적 사이트를 세우고, 스킨을 직접 만들고, 배포를 자동화하고, 검색엔진에 등록하는 동안 예상 못 한 것들에 계속 걸렸습니다. 공식 문서가 오래됐거나, 문서 문장을 제가 잘못 읽었거나, 로컬에서는 멀쩡한데 라이브에서만 깨지는 것들이었습니다.
읽고 정리한 글이 아닙니다. 안 되는 화면을 앞에 두고 원인을 찾을 때까지 재본 기록입니다. 그래서 한 편이 문제 하나를 다루고, 재현한 절차와 잰 숫자가 같이 들어갑니다. 중간에 틀렸던 판단도 지우지 않고 남깁니다. 대개 그 부분이 가장 쓸모 있었습니다.
지금까지 걸린 것들은 대체로 네 갈래였습니다. 없는 주소가 200을 돌려주던 일처럼 검색엔진이 무엇을 보는가, 스킨이 라이브에서만 깨지던 일처럼 플랫폼이 내 마크업을 어디까지 통제하는가, 공개일이 됐는데 글이 안 뜨던 일처럼 고친 것이 라이브까지 닿는가, 통계를 끝내 못 덮은 일처럼 쟀다고 믿은 것을 제대로 쟀는가입니다.
원칙은 하나입니다. 확인한 것만 적고, 확인하지 못한 것은 확인하지 못했다고 적습니다. 숫자를 쓸 때는 어떻게 쟀는지도 같이 씁니다. 추측으로 채우면 읽는 사람이 검증하는 데 드는 시간이 제가 아낀 시간보다 커집니다.
운영 기록
한 편이 문제 하나를 다룹니다. 재현한 절차와 잰 숫자를 같이 적었고, 중간에 틀렸던 판단도 지우지 않고 남겼습니다.
구글 검색결과에 내 블로그 파비콘이 안 뜬다면: favicon.ico가 404였고, '48px 배수'는 지금 기준이 아니었습니다
구글 검색결과에 파비콘이 안 뜰 때 크기부터 의심하기 쉽습니다. 제 블로그는 favicon.ico가 404였고, 커뮤니티 답변에 인용된 '48px의 배수' 규칙은 2024년 말 개정 전 문구였습니다. Hugo에서 고친 과정을 적었습니다.
읽기 →Hugo 메뉴에 현재 페이지 active가 안 붙을 때: url 대신 pageRef를 써야 합니다
hugo.toml 메뉴를 url로 적으면 IsMenuCurrent와 HasMenuCurrent가 제가 본 다섯 페이지에서 모두 false였습니다. 블로그 사본에서 재현하고 pageRef로 바꿔 active·ancestor가 갈리는 것까지 확인했습니다.
읽기 →링크 점검기가 /cdn-cgi/l/email-protection 을 404로 잡는데, 고장 난 건 없었습니다
Cloudflare 이메일 난독화가 켜지면 mailto가 /cdn-cgi/l/email-protection 링크로 바뀝니다. 그 404가 어디서 오는지, JS를 끄면 무엇이 사라지는지 재 보고, Hugo에서 메일 주소만 빼는 주석이 두 번 지워지는 것도 확인했습니다.
읽기 →저장소만 있으면 블로그가 다 살아날 줄 알았는데, 레포 밖에 설정이 여섯 가지 있었습니다
Hugo 블로그를 새로 clone해 빌드했더니 라이브 파일 171개와 바이트까지 같았습니다. 그런데 DNS, 리다이렉트 규칙, 시크릿, 배포 이력은 저장소에 없었고 그중 리다이렉트 규칙은 배포용 토큰으로 읽을 수도 없었습니다.
읽기 →Hugo RSS를 전문으로 바꿨더니 이미지 주소는 멀쩡했고, 포럼식 CDATA에서만 깨졌습니다
Hugo 내장 RSS의 .Summary를 .Content로 바꿔 피드 용량과 상대 경로를 쟀습니다. 슬래시로 시작하는 주소는 Hugo가 알아서 절대 주소로 바꾸지만 CDATA로 감싸면 그 변환이 꺼지고, 각주·번들 이미지는 끝까지 남았습니다.
읽기 →languageCode 경고를 지우려고 locale로 바꿨더니 구버전 빌드에서 깨집니다
Hugo 0.158부터 languageCode는 locale로 바뀌었습니다. 0.147.7과 0.157~0.165, 열 개 버전으로 빌드해 보니, 오류는 설정 키가 아니라 템플릿의 .Locale에서 났고 설정 키는 오류 없이 값만 바꿨습니다.
읽기 →