git

Kalendarz w stylu Git z niestandardowymi datami

kalendarz w stylu git utworzony z listy dat zapisanych w pliku csv

Daniel Gustaw

Daniel Gustaw

2 min read

Kalendarz w stylu Git z niestandardowymi datami

Załóżmy, że masz zbiór dat. Chcesz wyświetlić te daty w czytelny sposób.

Na przykład tak:

Mam więc świetne informacje. To jedna linia kodu, może dwie…

W tym artykule pokażę, jak wygenerować obrazek taki jak ten.

Czego potrzebujesz?

Instalacja

npm i -g cli-gh-cal

Przygotowanie pliku z datami

Chcemy przygotować plik z datami takimi jak te

2019-08-13
2018-05-19
2018-06-22
2019-04-16

Załóżmy, że musisz pokazać daty utworzenia plików w swoim folderze ze zdjęciami. Możesz to zrobić, używając polecenia

ls -l --time-style=long-iso . | awk '{print $6}' | sort > /tmp/dates.csv

Opcja --time-style pozwala na wyświetlanie dat w formacie łatwym do przetwarzania. Następnie awk wybiera kolumnę z datami, a posortowane daty są zapisywane w tymczasowym pliku /tmp/dates.csv.

Wyświetlanie kalendarza w stylu git

Teraz, jeśli chcesz wyświetlić te daty, musisz wpisać

cli-gh-cal --data "$(jq -R '[inputs | [.,1] ]' < /tmp/dates.csv)"

W tym przypadku wykorzystujemy jq - potężny szablon do plików json. Umożliwia on zamianę listy dat na ciąg json wymagany przez cli-gh-cal. Po wykonaniu tego polecenia powinieneś zobaczyć obrazek podobny do przedstawionego na początku.

Wymagane pakiety

Aby to działało, musisz zainstalować node. Zalecam zainstalowanie go za pomocą nvm na lokalnej maszynie.

https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04

Następny pakiet - cli-gh-cal można zainstalować za pomocą npm - menedżera pakietów node.

https://github.com/IonicaBizau/cli-gh-cal

Na koniec potrzebujesz również jq.

https://stedolan.github.io/jq/download/

Mam nadzieję, że podoba Ci się ten artykuł. Dla mnie to doskonały przykład, jak mała ilość kodu jest potrzebna, aby osiągnąć świetne wyniki wizualizacji danych dzisiaj. Wow!

Zrzut ekranu z mojej konsoli

Other articles

You can find interesting also.