Kalendarz w stylu Git z niestandardowymi datami
kalendarz w stylu git utworzony z listy dat zapisanych w pliku csv
Daniel Gustaw
• 2 min read
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?
- jq - świetne narzędzie do przetwarzania json / tekstu
- node - interpreter js
- awk - przetwarzacz tekstu do selekcji danych
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.
Na koniec potrzebujesz również jq.
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.
Scraping najbardziej popularnych kont na twitterze
Dzięki obserwacji wpisów z twittera możemy śledzić różne trendy. W tym wpisie pokażę jak pobrać dane o kontach w tym serwisie i wybrać te, które mają największy współczynnik wpływu.
Daniel Gustaw
• 8 min read
Wybrane składnie w JavaScript ES2020, ES2021 i ES2022
Nullish coalescing, Opcjonalne łańcuchowanie, Proxies, Pola prywatne, allSettled, BigInt, Dynamiczny import, replaceAll, Separatorzy numeryczni, matchAll, Przypisanie logiczne, Await na najwyższym poziomie
Daniel Gustaw
• 19 min read
Sterowanie procesami w Node JS
Naucz się jak tworzyć i zabijać podprocesy w Node JS, dynamicznie zarządzać ich ilością i prowadzić z nimi dwustronną komunikację.
Daniel Gustaw
• 16 min read