모든 공개 레포지토리를 예술 작품으로 변환하는 Artrepo
요약
Artrepo는 공개 레포지토리의 커밋 히스토리를 시각적인 예술 작품으로 변환하는 도구입니다. 이 도구는 트리맵 레이아웃을 사용하여 파일별 영역을 할당하고, 각 라인 추가/삭제를 점(dot)과 색상 변화로 표현합니다. 또한, 특정 이벤트(예: 병합 충돌, 장기 침묵 후 커밋)에 따라 시각적 표시를 다르게 합니다.
핵심 포인트
- 공개 레포지토리의 히스토리를 예술 작품으로 변환
- 트리맵 레이아웃을 사용하여 파일별 영역 할당 및 크기 결정
- 커밋 라인 추가/삭제는 점(dot)과 색상 변화로 시각화
- 결정론적 방식으로 동일한 히스토리는 항상 같은 결과 출력
안녕하세요, 이 서브레딧에 올립니다. 저는 Artrepo라는 간단한 도구를 만들었습니다. 이 도구는 모든 공개 레포지토리의 커밋 히스토리를 가져와 독특한 예술 작품으로 만듭니다. 여기에서 찾을 수 있습니다: habibicode.org/artrepo (무료이며, 로그인 필요 없고, 데이터가 저장되지 않습니다). 작동 방식은 다음과 같습니다:
레이아웃: 캔버스는 '트리맵(treemap)'으로 분할되며, 파일별로 영역이 할당되고 이 크기는 해당 파일의 라인 수에 따라 결정됩니다. 파일이 추가되거나 삭제되거나 크기가 조정될 때마다 레이아웃은 재계산됩니다.
잉크: 추가되는 모든 라인은 순서대로 해당 파일 영역의 점(dot)이 됩니다. 들여쓰기는 색상을 설정하고, 라인 길이는 점의 크기를 결정합니다.
지우기: 삭제된 라인은 이전 위치에서 잉크를 절반만큼 제거합니다.
모션: 매 50개 커밋마다 그리드가 30° 회전합니다.
희귀한 표시: 해시가 0000으로 시작하는 커밋은 해당 파일을 금색으로, 병합 충돌(merge conflict)이 발생한 커밋은 빨간색으로, 그리고 1년의 침묵 후 첫 번째 커밋은 파란색으로 그립니다. 이들은 캔버스에 더 오래 지속됩니다. 1MB가 넘는 파일은 건너뜁니다. 모든 것은 결정론적(deterministic)이므로, 동일한 레포지토리와 커밋 히스토리는 항상 같은 그림을 보여줍니다.
/u/siorge님이 제출했습니다 [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/webdev (top/week)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기