본문 바로가기

프로그래밍 기록/토이

[Toy] GitDot - Canvas로써 의 Github

Git Dot


Github 의 Profile 에서는 Commit (contribution) 내역을 볼수있다.

Contributions 내역

활동을 하면 하면수록 해당 날짜에 해당하는 Cell 이 더 밝은 초록색이 되는데, 그래서 보통 "잔디" 심는다고 표현한다.
1일 1커밋으로 모든 셀을 다 초록색으로 만드는 사람도 있는가 하면, 이걸로 그림을 그리는 사람도 있다.
다만 git은 기본적으로 local 에서도 돌아가도록 설계되어있으므로 Commit 의 시간은 진짜 commit id 의 time 을 따라가게 된다. 즉 Local 에서 Commit Time 을 변경하고 Push 하면 그 변경된 Time 에 잔디가 심어지는 것이다.
뭐.. 나는 애초에 1일 1커밋같은거 신경도 안쓰고 있기 때문에 굳이 조작해서 커밋을 늘릴 생각은 없는데,

흔한 작업관리자 근황


윈도우 작업관리자로 애니메이션을 만드는짤.. 을 보고
Github 잔디로 그림을 그릴수있는 프로그램을 만들어보고 싶어졌다.
를... 한 2년전에 생각해서 친구랑 만들자 이야기 했다가... 사실 아무~~~런 의미가 없는 SW 이기 때문에 귀찮아서 하지 않다가 어제 삘받아서 만들었다.

그것이 바로
Lee-WonJun/gitdot: github as a canvas

GitHub - Lee-WonJun/gitdot: github as a canvas

github as a canvas. Contribute to Lee-WonJun/gitdot development by creating an account on GitHub.

github.com


GitDot 되시겠다.

크게 2가지 SW 로 구성되어있다

  • gitdot-visual : WPF 로 뚝딱 만든 비주얼 툴로, 마우스로 원하는 Cell 에 얼만큼 커밋할지를 지정할수있는 SW, Save 하면 그 기록을 File로 떨구고 이를 gitdot-cli가 실제 커밋한다.
  • gitdot-cli: F# 으로 뚝딱 만든 실제 Repo 만드는 SW, gitdot-visual 이 떨군 File 을 읽어서 Repo를 만든다.


gitdot-visual 의 경우, 나는 FE 는 잘모르는데 그나마 다룰수있는게 WPF 라 이걸로 그냥했고, 당근 하드코딩 빠따죠
gitdot-cli는 F# 에 LibGit2Sharp 라이브러리를 붙여서 뚝딱 했다. 근데.. 이유는 모르겠는데, 커밋상에도, github 레포상에서 제대로 뜨는데, 저 Profile 잔디가 하루전날로 심어지는 문제가 있어서, offset 값으로 1일을 더하는 코드를 추가했다.. 이유는 모름..

gitdotv-visual 로

연도를 선택하면 자동으로 Cell 이 그 년도에 맞게 배치된다.
그 이후 이렇게 도트를 찍고 (클릭할수록 해당Cell 에 커밋이 많아짐, 우클릭하면 줄어듬), Save 하면 된다.

그리고 이를 gitdot-cli 로 읽어서 레포를 만들고, 이를 github에 푸시하면

짜잔~ 원하는 대로 그려졌다 (1일,2일에 찍힌 셀은 테스트하다가 찍혔다 ;;)

다만 한번 Push 되면 그 커밋이 사라져도 잔디상에는 남아있는데 (레포를 지워도 남아있던데, 시간 지나면 사라지는듯? 정확히는 모름) 아무 활동도 안했던 년도에 시의적절하게.. 그림을 그리면된다.

2011년도에는 내 아이콘 (다이아몬드..?) 도 그려 넣었다
728x90