grubby: static site generator for git repos written in Ruby
grubby: Git 저장소용 Ruby 정적 사이트 생성기
grubby는 베어 Git 저장소를 웹에서 볼 수 있는 정적 사이트로 만드는 Ruby 도구입니다. 저장소별 페이지와 전체 저장소 색인을 생성하며, Git 훅에 연결해 푸시 후 자동으로 다시 만들 수 있습니다. 개별 커밋이나 브랜치 페이지는 제공하지 않습니다.
- 주제
AI 요약
grubby는 Ruby로 작성한 Git 저장소용 정적 사이트 생성기입니다. RepoRat에서 포크했으며, Ruby 3.0 이상과 Git, Kramdown이 필요합니다. 기본 설정을 그대로 쓰도록 설계했으며, 주 도메인과 경로는 _config.yml에서 지정합니다.
생성 방식
베어 저장소의 post-update 훅에서 임시 디렉터리로 저장소를 복제한 뒤 grubby를 실행합니다. 훅은 일반 HTTP 복제에 필요한 git update-server-info도 실행합니다. 결과물은 저장소별 웹 페이지와 루트의 index.html 저장소 색인입니다. 여러 저장소에 개별 훅을 둘 수도 있고, post-receive나 전역 post-update 훅을 활용할 수도 있습니다.
범위와 제약
CSS와 헤더·푸터는 파일을 직접 수정해 바꿉니다. 기본 Markdown 파서는 Kramdown이며 다른 파서로 교체할 수 있지만, 작성자는 오류 없이 동작한다고 보장하지 않습니다. 베어 저장소 이름은 .git으로 끝나야 색인을 제대로 생성합니다. 개별 커밋 변경 내역이나 브랜치 페이지는 만들지 않습니다.
Lobsters 반응
- @telemachus — 비슷한 도구를 더 찾아보려는 분께는 Ruby로 만든 다른 구현체 RepoRat이 있습니다. RepoRat 홈페이지에는 Chicken Scheme으로 만든 repo2html, C로 만든 stagit, Go로 만든 depp, Python으로 만든 git-arr, C로 만든 gituwa도 소개되어 있습니다.
- @jss — 몇 주 전 다른 Lobsters 글에서 본 Rust 도구 sorcery도 저장해뒀습니다. 이런 개념은 새롭지 않지만 최근 조금 더 관심을 얻는 것 같습니다. 간결한 해결책 같지만, 호스트 운영을 중단하거나 장기적으로 관리하지 않으면 소프트웨어가 사라질까 걱정됩니다. 오래 유지될 Codeberg 같은 곳과 비교하면 그렇습니다.
- @lknuth — “무언가를 버리는 일을 어떻게 견딜 수 있을까요?” 저는 저자가 직접 관리하는 편이 더 좋습니다.
- @k749gtnc9l3w — 서로 양립할 수 없는 선택지인가요? 자체 호스팅을 위한 저렴한 정적 사이트 방식도 좋고, 규모가 큰 호스팅 업체가 원한다면 공개 화면을 정적 호스팅으로 효율적으로 전환할 수 있는 방법도 좋습니다. 인터넷 아카이브가 크롤링하기 쉬워져 보존에 관한 판단이 달라질 수도 있습니다.
- @jaculabilis — 거의 쓰지 않는 제 Gitea 인스턴스를 대체할 후보로 sorcery를 제 저장소에 시험해보고 있습니다. stagit과 git-arr 대신 선택했지만 depp와 gituwa는 몰랐으니 살펴보겠습니다. Radicle은 사람들이 자원을 보태 소스 코드 온라인 상태를 유지하는 미러 네트워크로 이 문제를 풀려는 것 같습니다. 아직 실사용 단계인지는 모르겠지만, 그들이나 후속 프로젝트가 성공하길 바랍니다.
- @tonyarkles — 놓치셨을 수도 있는데 Radicle은 지금 당장은 실사용 단계가 아닙니다. https://radicle.dev/2026/09/23/disclosure-of-vulnerability-in-network-protocol
- @jaculabilis — 네, 제가 염두에 둔 내용이 바로 그 취약점 공개였습니다.
- @antonmedv — GitHub와 비슷한 모양의 저장소 생성기로 gitmal도 있습니다: https://github.com/antonmedv/gitmal
- @qznc — 봇에 대응하는 다음 단계인가요? 저장소를 공개하고 싶지만 DDoS를 당하고 싶지 않을 때 쓰는 건가요? Forgejo에도 RepoRat이나 grubby처럼 커밋 같은 항목을 웹 인터페이스에 표시하지 않는 설정이 있지 않나요?
- @bt — 저장소 공개 후 DDoS를 피하려는 목적도 분명 있습니다. 저사양 서버의 자원 사용량을 줄이는 점도 장점입니다.
원문: Lobsters / 번역·요약: Trawling